在一行中查找特定值的最后一次出现
我有一个桌子,保持来自幻想足球联赛的分数。 最低得分周不包括在总数中。
我可以使用=min function [=min(B2:R2)]
find最低分数
我可以使用=match function. [=MATCH(S2,B2:R2,0)]
find第一个实例=match function. [=MATCH(S2,B2:R2,0)]
=match function. [=MATCH(S2,B2:R2,0)]
不过,我想要一个公式,返回最低得分周的最新发生。
例如Portia的最低分数为8,第一次出现是第4周,但我希望它返回最新的出现,即第11周
您也可以使用LOOKUP
函数并避免使用数组公式,例如假设S2
具有最小值,您可以使用T2
此公式获取上一周的值
=LOOKUP(2,1/(B2:R2=S2),B$1:R$1)
这是有效的,因为(B2:R2=S2)
返回一个TRUE/FALSE
值的数组,然后用该数组除1得到1
s或#DIV/0!
的数组#DIV/0!
错误。 当使用2
作为该数组的查找值时,它将不会find任何2
s,因此将与数组中的最后一个数字(最后一个数字)匹配。 这对应于最后一周的最小值,因此使用顶部行作为“返回向量”意味着该公式将根据需要返回相应的周数
您将需要使用数组公式来实现这一点。 如果您将列B:R用作数据列,将列T用作低周列,则以下操作将返回“最高”最低值。 您需要通过将其复制并粘贴到单元格T2并按Ctrl + Shift + Enter来将其作为数组(CSE)公式input 。
=IFERROR(INDEX($A$1:$R$1,1,SMALL(IF(B2:R2=MIN(B2:R2),COLUMN(B2:R2),FALSE),COUNTIF(B2:R2,MIN(B2:R2)))),"")
说明
首先, COUNTIF(B2:R2,MIN(B2:R2))
将计算最小值出现的次数。 这是必要的,因为一个简单的MIN(B2:R2)
将只抓取第一个最小值,而不是第n个最小值。
接下来, IF(B2:R2=MIN(B2:R2),COLUMN(B2:R2),FALSE)
是公式的实际数组公式部分(之所以需要使用Ctrl + Shift + Enter )。 只有当你有一个最小值时,它才会返回引用,而对于大于最小值的所有其他条目,它将返回FALSE
。 现在,您只有列数的数组是数据集中最小的值。
然后, SMALL(IF(B2:R2=MIN(B2:R2),COLUMN(B2:R2),FALSE),COUNTIF(B2:R2,MIN(B2:R2)))
将取最小的列号值并查找来自COUNTIF(B2:R2,MIN(B2:R2))
代码的最新出现。
既然已知最后一次出现的列号是已知的,那么可以使用INDEX
函数来查找第一行INDEX($A$1:$R$1,1
。
最后,如果SMALL
函数find匹配, IFERROR
将显示Low Week行,否则将显示空白单元格。 这可以用来复制这个数组公式,进一步向下的页面中,你还没有用户的行。