在 Excel 2010 中,如果想找到一行数据的最大值,但我希望公式仅取可见值的最大值。在 Excel 2010 中使用工作表函数可以实现这一点吗?
答案1
我通常想问您指的是数据行还是数据列。
- 单行中的一行数据?
例如,数据在 A1、B1、C1 中。 - 或者一行数据 - 数据在一个单独的排?例如 A1、A2、A3(即在单列中)。
另外,您如何隐藏这些值?是通过过滤器,还是右键单击并选择hide
?
如果是第二个选项,并且您正在过滤,则可以使用 =SUBTOTAL(104, $A$1:$A200)
。这将返回未过滤的最大值。
如果您还想包含手动隐藏的行,请使用 4 而不是 104。=SUBTOTAL(4, $A$1:$A200)
https://support.office.com/en-gb/article/SUBTOTAL-function-7b027003-f060-4ade-9040-e478765b9939
不幸的是,这不适用于跨列。 =SUBTOTAL(4, $A$1:$H$1)
将返回最大值,但隐藏列不会改变结果。
编辑: 您可能能够采取一些措施来=Cell("width",A1)
查找隐藏的列 - 如果该列被隐藏,它将返回 0。
编辑2:要使用,Cell
请添加帮手行(我使用了第 1 行)。在单元格 A1 中=Cell("width",A1)
输入并拖动。
有了第 2 行中得到的最大值,您现在就可以使用数组公式了{=MAX(IF($A$1:$M$1>0,$A$2:$M$2))}
(使用 Ctrl+Shift+Enter 完成公式,将公式括在花括号 {} 中)。
注意:手动隐藏列不会强制重新计算,因此您必须按 F9 才能更新公式。