我有一个包含两列数据的Google表格。 A
单调递增,具有许多重复项(基于粗时间戳),而B
实质上是随机的。底部有许多空行等待未来的数据。它类似于以下内容:排除Google表格中的汇总计算范围中的最后一个值
A B
1 5 43
2 5 77
3 13 8
4 21 34
5 27 68
6 27 90
7
8
9
10
我试图写一个检查所有的(非空)值的列除了最后一个几个公式。例如,我想找到排除最新值的B
的最大值,所以结果应该是77
从B2
而不是90
从B6
。
如果该范围内的值进行了严格的增加和独特的,我可以的A
值过滤成C
,不包括任何值等于最大值(只有最后一个条目),然后采取一系列的MAX(..)
。但是,我的数据没有这个属性;最终的价值可能会被重复,并且重复将被不恰当地忽略。
C D E
1 =FILTER(A:A, A:A < MAX(A:A)) =MAX(C:C) This produces A4's 21 instead of A5's 27.
,如果我们有递增指数使用的第三列类似的方法将工作:
A B C D E
1 5 43 9 =MAX(FILTER(C:C, A:A <> "")) Value of index in last populated row.
2 5 77 10 =MAX(FILTER(A:A, C:C < D1)) Maximum value from a row with lower index.
3 13 8 11
4 21 34 12
5 27 68 13
6 27 90 14
7 15
8 16
9 17
10 18
但是我正在寻找一种不需要修改原来的电子表格中的解决方案,因为这并不总是可能的。我不能只创建一个新的IndexSheet
与只不过是一个索引列,并参与进来,这样,而不是...
A B C
1 5 43 =MAX(FILTER(IndexSheet!A:A, A:A <> ""))
2 5 77 =MAX(FILTER(A:A, IndexSheet!A:A < C1))
...
...因为这要求IndexSheet
有相同数量的行为的数据表,并会随着更多数据的添加而中断。
在不修改原始数据表或依赖数据属性(超出值为数字和行为空或满)的情况下,是否有任何方法在排除最后一个值的情况下对范围执行聚合计算?