friend ,希望能帮到你。我很确定我不久前在下面找到了这个问题的解决方案,但愚蠢的我没有把它写下来,现在我不记得我是怎么做到的了。我对要搜索的内容一无所知(谷歌充斥着关于“动态命名范围”的答案,这不是我在这里的目标)。所以,问题:
我如何在公式中定义一个范围(例如,RANK),当我在表格中向下移动时?我试图避免使用 INDIRECT,因为它在整个大表中重复时会有点占用内存/处理器。很确定还有另一种方法,可能是 INDEX 或 MATCH?
数据的简化版本如下所示:
A 列有一堆引用编号,每个引用编号重复几次。
B列有一堆时间戳
与在 A 列中共享相同引用编号的所有其他时间戳相比,C 列是我想对 B 列中的时间戳进行排名的地方。
结果集应如下所示:
| 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 |
关于在这种情况下对处理器来说最省税的解决方案有什么想法吗?
最佳答案
所以这里是诀窍:
复制并粘贴到 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 计算公式
这是示例表 in this file downloadable from this link
记得将公式调整为你的 区域设置 由 替换“;”与 "," 。玩得开心。
关于excel - Excel表格中的移动范围/数组引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27131307/