如何以及为什么ROW(A1)在这些嵌套的INDEX,MATCH和SMALL函数公式

时间:2016-04-26 19:02:58

标签: excel excel-2003

在下面的嵌套函数公式中,我不明白为什么使用ROW(A1)或为什么它可以工作。请参考下面的图片和2个嵌套函数公式。这些嵌套函数使用左侧的数据在图片的右侧生成Category和Time Spent数据。 ' H'中的公式列返回类别标题/描述以及' I'中的公式。列返回花费的总时间。这些是从最小到最高的排序" Time Spent"值。

从嵌套的最内部函数中,小函数返回单元总时间数组中的ROW(A1)最小数。我相信匹配函数会返回找到该值的列字母。然后,index函数显示匹配函数返回的列值中的值以及单元格数组指定的行。将此嵌套函数复制到每个连续行时,它会增加" A1"到" A2"," A3"等等。

我认为ROW函数只返回了引用单元格的行号,如果省略该引用,则默认为包含ROW函数的单元格地址。那么为什么ROW(A1)在这里工作以改变SMALL函数在每个成功的行和公式中找到的下一个第n个最小数字???

H3 = INDEX($ B $ 3:$ F $ 3,MATCH(小($ B $ 2:$ F $ 2,ROW(A1)),$ B $ 2:$ F $ 2,0))

I3 = INDEX($ B $ 2:$ F $ 2,MATCH(小($ B $ 2:$ F $ 2,ROW(A1)),$ B $ 2:$ F $ 2,0))

enter image description here

谢谢!

VH

2 个答案:

答案 0 :(得分:1)

它只是指小函数中指定数组中的位置。您指示位置1,第一个最小。

答案 1 :(得分:1)

首先,看看公式自行解决的问题:

=ROW(A1)

这变得简单1.当在用于“向下拖动”的公式中使用时,A1上的相对引用意味着A1将变为A2,A3,依此类推。在第四次使用它时,它将是:

=ROW(A4)

这解析为4.这是在公式中“迭代”数字的常用方法(对于每次使用公式的新时间,值增加1)。然后,查看SMALL函数:

=SMALL($B$2:$F$2,4)

这为您提供了第2行的已检查部分中的第4个最小数字。因为$存在,所以这些引用不会随着公式被拖下来而改变。

您似乎理解了该公式的其余部分,但正如您现在所看到的,SMALL函数现在可以充分找到第2行中的最小数字,然后是第2个最小数字等。