首页 > 解决方案 > Google 表格:在最后一个值大于当前行的列中查找行

问题描述

更新:虽然提供的解决方案=IF(A2>A1,IF(A2>MAX(A$1:A1),ROW()-1,IFERROR(B1+1,1)),1)确实适用于原始测试数据,但它不适用于更复杂的数据集,请参见下面的第二个屏幕截图:


原始问题:

我需要处理表示随时间变化的值的数字列(示例中的 A),并确定当前行的数字是最大数字的行数,并如 B 列所示报告。

我不知道是否有一种方法可以使用电子表格函数生成 B 列,或者我是否需要编写一些应用程序脚本来进行计算。我看过像 MAX() 和 LARGE() 这样的常见嫌疑人,但他们并没有完全按照我的意愿行事。

我想要的是类似 MAXSINCE(A99, A:A98) 的东西,但那不存在。在此处输入图像描述

更新的数据集仍然没有问题的答案:该行有多少行具有最大值?

更复杂的数据集

标签: google-apps-scriptgoogle-sheets

解决方案


逻辑流程:

  • 检查当前值A2是否大于先前值A1;如果没有,返回 1
  • 如果以上为真,检查当前值是否大于当前值MAX。如果是,则返回 currentROW的数字 - 起始偏移量1,否则将 1 添加到先前的值B1

代码示例:

B2:

=IF(A2>A1,IF(A2>MAX(A$1:A1),ROW()-1,IFERROR(B1+1,1)),1)

向下拖动填充


推荐阅读