【问题标题】:How to compare one row of data to every row of data from another table in google sheet?如何将一行数据与谷歌表中另一个表的每一行数据进行比较?
【发布时间】:2021-05-12 22:07:02
【问题描述】:

大家好,

我需要一些帮助来完成这项任务。 我的目标是确定Column I 中的Status 是否被接受。如果被接受,则在Column I 中打印Accept 并在Column J 中基于Actual TimeColumn C 中打印Actual Time Accept,否则就留空。

判断Status(Accept)的规则:

  • Forecast TimeInput 中大于TimeOutput
  • Column G 中的Price 大于Column D 中的Actual Price

一旦满足这两条规则,则在 Column I 中打印 Accept 并在 Column J 中打印 Actual Time AcceptActual Time 中基于 Actual TimeColumn C 中,否则将其留空。

从单元格I3 中的公式可以看出,它仅逐行比较(Output 中的一行与input 中的一行比较)。 我想要的是将Output 中的一行数据与Input 中的所有行进行比较,以确定Status 是否被接受。

示例

例如Output中的第一行,Time16:16:41。我们将此TimeInput 中的Forecast Time 进行比较。公式从与Forecast Time16:17:43 的行开始比较,因为前面行中的Forecast Time 都小于16:16:41。由于16:17:43 大于16:16:41,它满足了第一条规则。但是,Output, 216.5 中的Price 小于Input, 216.56 中的Actual Price,因此Status 仍为空白。公式将移至下一行并再次检查规则。 由于下一个Forecast Time16:18:02 大于16:16:41 并且Output 中的Price 比216.48 大216.5,所以所有规则都满足了,所以Status 将是Accept 和@987654377 @ 将是21:34:00

google sheet 的链接在这里,以备不时之需: https://docs.google.com/spreadsheets/d/17coke3-oyDRLHgz79PDl3KX68kFOEte-aynVe-xEITU/edit?usp=sharing

请就这个问题给我一些建议,我不确定如果不使用 Google Apps 脚本就可以做到这一点。如果您不清楚我在问什么,请告诉我,任何帮助将不胜感激!谢谢。

【问题讨论】:

  • 请在您的工作表中提供所需结果的示例
  • 嗨玩家,我已经编辑了我的 googlesheet 和问题(发现了一些错误),我希望它足够清楚。很抱歉造成额外的混乱
  • 抱歉一直编辑这个问题,因为这对我来说真的很复杂,我在例子的解释中添加了,希望它被清除。

标签: function if-statement google-sheets formula array-formulas


【解决方案1】:

I3 并向下拖动:

=IF(J3="",,"Accept")

J3 并向下拖动:

=IFNA(INDEX(FILTER(C$3:C, D$3:D<G3, B$3:B>H3), 1))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 2020-09-30
    • 1970-01-01
    • 1970-01-01
    • 2017-07-07
    相关资源
    最近更新 更多