您可以使用以下数组公式公式:
=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))))
笔记:
作为数组公式,退出编辑模式时必须使用Ctrl-Shift-Enter而不是Enter进行确认。如果操作正确,则Excel将放宽{}
公式。
必须将要忽略的单元格一次放入一个单元格地址。我的在H列中。
描述:
作为和数组公式,我们要限制对数据集的引用。在$F$1:INDEX($F:$F,MATCH(1E+99,$F:$F))
将这样做。它将创建一个范围,其中包括F1到F列中具有数字的最后一个单元格。H列“引用”查找带有字符串的从H1到最后一个单元格的每个单元格。
If函数将返回一个数字数组和FALSE
。False将是行号等于单元格引用的地方。
将"|"
被添加到确保我们没有得到假阴性。如果没有它,则H列中的引用F2
将排除以F2
包括F20
,F21
... 开始的所有单元格引用。
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)
它仍然被认为是数组公式,因此我们需要限制数据引用。