如何找到整个Excel工作簿中的最大值

T6J*_*2E5 3 excel worksheet excel-formula array-formulas

我有一个包含许多工作表的 Excel 工作簿(目前大约有 30 个工作表,并且每天都在增加)。每个工作表均以其包含的数据的日期命名(例如,02-1002-11等)。每个工作表的单元格 A2 中都有一个数字,我想编写一个公式来查看每个工作表中的单元格 A2,并返回最大的数字。

我创建了当前工作表的列表并将其命名为DayWorksheets,并尝试使用公式获取值

{=MAX(INDEX(INDIRECT("'"&DayWorksheets&"'!A2"),0))}(显示的括号表示数组公式)。

但每次的结果都是“10”,这是指定范围内第一个工作表的单元格 A2 中的数字(而且它不是最大的)。我在这里做错了什么?我见过一些其他的公式,比如

=VLOOKUP(C1,INDIRECT("Sheet"&MATCH(TRUE,COUNTIF(INDIRECT("Sheet"&ROW(INDIRECT("1:10"))&"!A2:A100"),B1)>0,0)&"!A2:B100"),2,0),

但我不太明白countif那里的功能的目的。任何帮助,将不胜感激。

Dmi*_*liv 5

您可以将公式与 3D 参考一起使用,如下所示:

=MAX(Sheet1:Sheet30!A2)
Run Code Online (Sandbox Code Playgroud)
  1. 单击要输入函数的单元格。
  2. 键入=(等号),输入函数名称 ( MAX),然后键入左括号。
  3. 单击要引用的第一个工作表的选项卡。
  4. 按住SHIFT并单击要引用的最后一个工作表的选项卡。
  5. 选择您要引用的单元格或单元格范围(A2根据您的情况)。
  6. 完成公式(添加右括号),然后按ENTER

  • @simoco 的后续行动以及给其他人的提示。我最终使用“Range.Find”方法和一个 for-next 循环来遍历每个工作表,通过一个简单的用户定义的 VBA 函数解决了这个问题。再次感谢西莫科! (2认同)