问题标签 [excel-365]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
51 浏览

excel - 建立在高级过滤器上而不重置最后一个高级过滤器

我已经为此陷入了困境,并且可能会被告知我以错误的方式进行了处理,但无论如何:

我有一组按钮,我希望用户能够按下这些按钮来自动过滤数据集。按钮应该过滤每一列,但每个按钮都应该在已经存在的任何过滤器之上进行过滤。我可以使用普通的自动过滤器;但是看来我的文本选项有限(仅限于 2 个?)。最重要的是,理想情况下,我希望用户能够在自己的文本中编写以供将来过滤。

因此,我在单独的工作表中构建了一些动态命名范围,当用户输入其他文本(即过滤器将调用的文本短语)时,它们会自动扩展。在下面的示例中,我调用了以下列表之一:“List_of_text_to_be_filtered_1”

关于在任何时候过滤哪些列,我制作了另一个动态命名范围(将范围自动扩展到最后一行),称为“ColumnA”:

我遇到的问题是我有另一组基本相同的代码,例如

但是当用户运行它时,高级过滤器会被重置并且不会建立在最后一个过滤器上。有没有办法建立在最后一个高级过滤器上?

如果您想查看我的动态命名范围公式,请告诉我。

谢谢。

编辑:

我已将其更改为使用数组进行自动过滤,但仍然无法正常工作(它似乎选择了列表中的每个项目,但没有显示任何内容):

其中 Names_Backup 是包含应用于过滤的文本单词列表的单元格标题。“ColumnA”是我要过滤的列的命名范围。

0 投票
2 回答
41 浏览

excel - 在Excel中获得排名位置的方法

因此,C、D、E 人的总分相同,为 343,他们的排名是 3。由于 E、C 和 D 在数学上分别得到 99、98 和 90,我想排名为 E = 3,C = 4 & D = 5.

我非常需要解决方案。请帮帮我。

0 投票
1 回答
471 浏览

excel - VBA 工作簿停止使用升级到 Excel 365 - VBA 编译问题?

自从升级到 Excel 365 以来,我的公司一直遇到各种问题,即 VBA 支持的 Excel 工作簿崩溃或无法正常运行。这些问题出现在各种工作簿和各个部门,包括看似简单的 VBA 工作簿。我发现了一个修复方法(见下文),但它是不可持续的。

问题

下面列出了我们遇到的各种问题。请注意,仅当您在 Excel 365 桌面版中打开文件时才会出现这些问题。在 Excel 365 浏览器应用程序或 Excel 2016 中打开相同的文件时,它们可以正常工作。此外,所有这些问题都是随机发生的。用户可能已经在文件中工作了数周,然后他们下次打开文件时会遇到这些错误之一。

  • 即使我们使用标准库和基本 VBA 集,也会出现“找不到项目或库”错误。然后,当您打开 VBA 编辑器窗口时,所有 VBA 屏幕基本上都被冻结了,并且无法访问库列表。
  • 打开这些文件并启用 VBA 时,Excel 硬崩溃或锁定。请注意,崩溃仅在启用 VBA 时发生。如果您在未启用 VBA 的情况下打开文件,它会正常工作(但显然您不能使用任何代码)。
  • 文件打开看起来很好,但 VBA 不起作用,当您访问 VBA 编辑器窗口时,一切都再次被锁定。
  • “发生未处理的 win32 异常”错误
  • 执行命令时,出现错误 32809,这似乎表明编译的 VBA 已损坏

修复

打开 VBA 编辑器窗口,然后选择 Debug -> Compile VBAProject 似乎可以解决问题。在以这种方式手动编译文件的情况下,我还没有遇到上述任何问题。这样做的问题是,每次向文件中添加代码或向文件中添加新选项卡时,都必须再次执行此手动编译。

是的,显然在文件中添加一个选项卡会改变工作簿结构,以至于需要再次编译。Compiled VBAProject 选项将显示为灰色。但是添加一个选项卡(或添加新的 VBA)会使它变灰并需要另一个手动编译,否则问题会再次出现。

此修复也适用于修复出现上述问题的文件。要修复这些文件,您可以:

  1. 确保在您的安全设置中启用“禁用受信任的文档”和“禁用带有通知的 VBA 宏”,以便在您打开文件时 VBA 不会自动运行。
  2. 打开有错误的文件,但不要启用 VBA。
  3. 转到 VBA Editor 窗口,选择 Debug -> Compile VBAProject。
  4. 保存文件,关闭它,重新打开它,启用 VBA,一切正常。

但同样,这是不可持续的,因为我的所有用户在向工作簿添加新选项卡时都必须记住编译 VBA。

帮助?

有没有人找到更可持续的解决方案来解决这个问题?Microsoft 正在开发的 Excel 365 Desktop 自动编译器是否存在错误?

0 投票
1 回答
177 浏览

excel - 使用 openpyxl 在 Excel 工作表中插入动态数组公式

我正在使用 openpyxl 创建包含一些自定义 Excel 公式的工作表。其中一个自定义 Excel 公式返回一个数组,但我不提前知道数组的大小(即行数或列数)。

假设这是自定义 Excel 公式:

=GETVALUES(<some input>)

如果我在 Excel 365 中使用此公式,则数组将根据需要根据 的返回维度动态调整大小GETVALUES。但是,如果我在 openpyxl 中设置公式(例如ws["A1"].value = '=_xldudf_GETVALUES(<some input>)'),然后在 Excel 365 中打开此工作簿,我会在等号后得到一个 @ 符号。

我看到这篇文章建议将formula_attributes:t字段设置为单元格范围array,并将ref字段设置为单元格范围。由于我不知道返回数组的大小,我想我不知道为该ref字段设置什么。

有没有办法在 openpyxl 中设置公式(不知道返回数组的大小),以便 Excel 365 动态显示整个数组?如果没有,是否有另一个用于 Python 的 Excel API 能够处理这个问题?

0 投票
0 回答
34 浏览

c# - C#“全部刷新”并忽略使用 Microsoft Office 365 Excel 的隐私问题

我正在寻找一种方法或库用于 C# 与 MS Excel 365 一起使用。我能够找到的库/代码示例使用的是 Microsoft.Office.Interop.Excel,但这是为 Office 2013 设计的,不再适用符合我的知识。

最终目标是:c# 脚本将打开 Excel 并“刷新所有”数据连接,忽略隐私级别,保存文件并在完成后关闭。

隐私级别图片

0 投票
0 回答
14 浏览

excel - 来自另一个工作簿的 Excel 相关下拉列表

我想知道它是否能够从另一个工作簿在 excel 中创建一个依赖下拉列表。

我能够从另一个工作簿创建下拉列表。我现在想要的是根据我已经创建的上一个下拉列表创建一个依赖下拉列表。

我已经搜索了很多次,但仍然找不到。

0 投票
3 回答
53 浏览

excel - Excel:根据模式/子字符串在列中搜索

在我的 Excel 表 ( Excel-365 ) 中,我有 3 列,即Table_Name、Size_MBSession_Num,如下所示。我试图在两个单独的列中列出所有这些 Table_Name (A 列)及其 Size_MB (B 列),其中 Table_Name 由 Session_Num (C 列)在名称末尾加上下划线( _ )例如BAL1_98460501 .

注意: Table_Name 中有大约 116k 条记录, Session_Num 中有 80k 条记录,我使用的是Excel-365

在此处输入图像描述

预期输出:

您能否给我一个提示,我们如何使用 excel 公式实现这一目标?谢谢。

0 投票
0 回答
39 浏览

excel - 具有多列和多行的 Vlookup

我正在寻找一种解决方案,以允许以下 VLOOKUP 代码循环并在满足 D2 标准的表中返回所有结果。我发现有几个页面包含部分或其他用例解决方案,但没有一个适合直接发布此问题的页面。任何帮助,将不胜感激。

=IFERROR(VLOOKUP($D$2,Table1[#All],{3,5,6,7,8,9},FALSE),"")

这个公式返回我需要的数据,只需要它循环到表中数据的其他实例并返回这些数据。

0 投票
0 回答
10 浏览

script - 打开时,我需要为默认工作表创建脚本 excel 365?

我正在使用 excel 365,我需要一个用于 excel 文件的默认工作表脚本。有人帮我创建默认工作表脚本吗?

0 投票
1 回答
44 浏览

excel - Excel中如何处理布尔值?

我决定学习如何使用函数SumProduct(),所以我创建了这个非常基本的 Excel 表:

我计算=SumProduct(A2:A3,B2:B3)了一下,结果是 5,和预期的一样。

然后我有了用 替换 B2 的想法=(1=1),这显然是TRUE,我所看到的也证实了这一点。

但是,=SumProduct()结果变成了 4,显然booleans在 Excel 中被视为零。
所以,我决定再写一个公式:(=A2*B2+A3*B3SumProduct()

因此,显然,常规数学运算符(*, +, ...)将boolean值视为“预期的”(TRUE变为 1 并FALSE变为 0),但对于一些更详细的函数(如SumProduct()),情况似乎并非如此。

这背后的解释是什么?为了避免不愉快的意外,我想了解正在发生的事情。我想我正在使用 Excel-365(我怎么能确定?)。