Excel表格中的移动范围/数组引用

时间:2014-11-25 15:59:12

标签: excel excel-formula excel-indirect

朋友们,我希望你能提供帮助。我很确定我在不久前找到了解决这个问题的方法,但是愚蠢的我没有记下来,现在我不记得我是怎么做到的。我在搜索的内容上画了一个空白(谷歌充满了“动态命名范围”的答案,这不是我的目标)。所以,问题是:

如何定义公式中的范围(例如,RANK),当我向下移动表时,该范围会移动?我试图避免使用INDIRECT,因为它在整个大表中重复时会变成一些内存/处理器。很确定还有另一种方式,可能是INDEX或MATCH?

数据的简化版本如下所示: A列有一堆参考数字,每一个都重复几次。 B列有一堆时间戳 我想在列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  |

在这种情况下,对处理器最不费力的解决方案有何想法?

1 个答案:

答案 0 :(得分:1)

所以这就是诀窍:

复制并粘贴 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 + 输入来计算公式
以下是示例表in this file downloadable from this link

PS 请记得通过 更改公式,将公式调整为 区域设置 &#34 ;;"与"," 。玩得开心。