需要来自(例如F:F中的1-100)的MAX值,但我可能需要从列表中撤出一些单元格


0

需要来自(例如1-100 in F:F)的MAX值。但是我可能需要从列表中撤出一些单元格。

例如,我有F:F。每个单元格将包含一个1-100的值,但是我可能不需要某些单元格,但每次都不需要相同。

是否有公式来查找(非功能性)列表,例如:

=MAX(F:F)-(F4,F8,F163,F354,F574)

我知道这是行不通的,但是我会不时从此列表中添加和删除单元格,因为该列表非常广泛,例如:

=MAX(F1:F5,F7:F16,F18:F41,F43:F66,F68:F91,F93:F197,F199:F219,F221:F291,F293:F312,F314:F900)

我知道这可行,但是天哪。每次都要改变将是一件可怕的事情。有更容易的方法吗?

Answers:


1

您可以使用以下数组公式公式:

=MAX(IF(ISERROR(MATCH("F" & ROW($F$1:INDEX($F:$F,MATCH(1E+99,$F:$F))) & "|",$H$1:INDEX($H:$H,MATCH("ZZZ",$H:$H))&"|",0)),$F$1:INDEX($F:$F,MATCH(1E+99,$F:$F))))

笔记:

  1. 作为数组公式,退出编辑模式时必须使用Ctrl-Shift-Enter而不是Enter进行确认。如果操作正确,则Excel将放宽{}公式。

  2. 必须将要忽略的单元格一次放入一个单元格地址。我的在H列中。

描述:

  1. 作为和数组公式,我们要限制对数据集的引用。在$F$1:INDEX($F:$F,MATCH(1E+99,$F:$F))将这样做。它将创建一个范围,其中包括F1到F列中具有数字的最后一个单元格。H列“引用”查找带有字符串的从H1到最后一个单元格的每个单元格。

  2. If函数将返回一个数字数组和FALSE。False将是行号等于单元格引用的地方。

  3. "|"被添加到确保我们没有得到假阴性。如果没有它,则H列中的引用F2将排除以F2包括F20F21... 开始的所有单元格引用。

  4. MAX()将忽略FALSE数组中返回的s,并找到IF语句返回的数组中剩余的最大数。

在此处输入图片说明


您也可以使用不需要Ctrl-Shift-Enter但可以正常输入的类似公式。

=AGGREGATE(14,6,$F$1:INDEX($F:$F,MATCH(1E+99,$F:$F))/(ISERROR(MATCH("F" & ROW($F$1:INDEX($F:$F,MATCH(1E+99,$F:$F))) & "|",$H$1:INDEX($H:$H,MATCH("ZZZ",$H:$H))&"|",0))),1)

它仍然被认为是数组公式,因此我们需要限制数据引用。


@NoEbb,请单击答案旁边的复选标记,以将其标记为正确。
Scott Craner
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.