google-apps-script - 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) 的东西,但那不存在。
更新的数据集仍然没有问题的答案:该行有多少行具有最大值?
解决方案
逻辑流程:
- 检查当前值
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)
向下拖动填充
推荐阅读
- html - 使用 flexbox 在我的列中使用空间
- javascript - 当页面可滚动时,无法使用鼠标在画布上的确切点绘制矩形
- git - git第一次没有远程名称无法签出分支
- scala - 安装烫伤时遇到问题
- azure-devops - 如何从 Azure DevOps 管道中的另一个作业访问 InvokeRestAPI 任务的响应?
- sql - 如何使用 sequelize 在 updateAt 上应用 date_format?
- react-native - 使用 React Native 实现 Oppwa 支付集成
- java - 如何让位图移动到中心?
- python - 如何将多个 .npy ndarray 文件连接到一个数据帧中?
- javascript - Typescript 定义类类型而不定义 JS 类?