我有一张桌子可以保持梦幻足球联赛的成绩。得分最低的一周不包括在总数中。
我可以使用=min function [=min(B2:R2)]
我可以使用=match function. [=MATCH(S2,B2:R2,0)]
但是我想要一个公式,它返回最低得分周的最新出现次数。
例如Portia最低得分为8,第一次出现的是第4周,但我希望它能够返回最近一次出现的第11周
答案 0 :(得分:16)
您也可以使用LOOKUP
函数执行此操作并避免使用数组公式,例如假设S2
具有最小值,您可以使用该值在T2
中复制该值,从而获得上周的最后一周
=LOOKUP(2,1/(B2:R2=S2),B$1:R$1)
这是有效的,因为(B2:R2=S2)
返回TRUE/FALSE
值的数组,然后将该数组除以1会得到1
或#DIV/0!
个错误的数组。当您在该阵列上使用2
作为查找值时,它将无法找到任何2
因此将与最后匹配数组中的数字(最后1)。这对应于具有最小值的最后一周,因此使用顶行作为"返回向量"表示公式根据需要返回相应的周数
答案 1 :(得分:2)
您需要使用数组公式来实现此目的。以下将返回&#34;最高&#34;如果您使用列B:R作为数据列,列T作为低周列,则为最低值。您需要通过将其复制并粘贴到单元格T2并按 Ctrl + Shift + Enter 来输入此数组(CSE)公式。< / p>
=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 + 输入的原因)。它只返回最小值时的引用,并返回大于最小值的所有其他条目的FALSE
。现在,只有列数的数组是数据集中最小的值。
然后,SMALL(IF(B2:R2=MIN(B2:R2),COLUMN(B2:R2),FALSE),COUNTIF(B2:R2,MIN(B2:R2)))
将获取最小值的列号,并查找最新出现的值,该值来自COUNTIF(B2:R2,MIN(B2:R2))
代码。
现在最后一次出现的最小事件&#39;列号已知,您可以使用INDEX
函数查找第一行INDEX($A$1:$R$1,1
中的值。
最后,如果IFERROR
函数找到匹配项,SMALL
将显示低周行,否则将显示空白单元格。这可用于将此数组公式进一步向下复制到您尚未拥有用户的行中。