在Excel表格中移动范围/数组参考

朋友,我希望你能帮助。 我很确定我前一阵子find了解决这个问题的办法,但是我没有把它写下来,现在我不记得我是怎么做到的。 我正在寻找什么空白(谷歌充斥着“dynamic命名范围”的答案,这不是我在这里瞄准的)。 所以,这个问题:

我如何在公式中定义一个范围(比如说RANK),这个范围是随着我进入一个表而移动的? 我试图避免使用INDIRECT,因为当在一张大桌子上重复时,它变成了一个内存/处理器。 很确定有另一种方式,也许与INDEX或MATCH?

数据的简化版本如下所示:列A有一堆参考号,每一个重复几次。 B列有一堆时间戳C列是我要在列B中排列时间戳的地方,与列A中共享相同参考号的所有其他时间戳相比较。

结果集应该是这样的:

| A | B | C | | abc123 | 01/01/2014 12:30 | 1 | | abc123 | 01/02/2014 12:30 | 2 | | abc123 | 01/02/2014 13:30 | 3 | | abc123 | 01/03/2014 09:30 | 4 | | def456 | 01/01/2014 12:30 | 1 | | def456 | 01/01/2014 12:45 | 2 | | xyz987 | 01/02/2014 12:30 | 1 | | xyz987 | 01/02/2014 16:30 | 2 | | xyz987 | 01/03/2014 11:30 | 3 | 

在这种情况下,对于处理器来说,什么是最less的解决scheme?

所以这是一个窍门:

复制并粘贴到C1并拖动并填充直到结束。

  =IF(A2=A1;SUMPRODUCT(--(A$1:A$9=A1);--(B1>B$1:B$9))+1;SUMPRODUCT(--(A$1:A$9=A1);--(B1>B$1:B$9))+1) 

这是一个数组公式,所以按Ctrl + Shift + Enter计算公式
下面是该文件中的示例表格,可从此链接下载

PS记得调整公式到您的区域设置,通过replace“;” 与“,” 。 玩的开心。