根据满足的条件而改变的 IF 语句

根据满足的条件而改变的 IF 语句

B 列以分钟为单位,以 1 分钟为增量。I 列以分钟为单位,但以 1 秒为增量。

C 列包含温度列表。有没有办法用 C 列中与正确分钟相对应的温度填充 I 列?

正确的结果是,一旦 I 列中的值为 1,J 列将填充 80,然后,一旦 I 列中的值为 2,J 列将填充 102。

我写了以下公式,它在达到 1 之前有效,但超过 1 之后就无效了。我不确定如何创建一个在满足条件后会发生变化的 IF 语句。

公式:=IF(I11=$B$11,$C$11,"")

任何帮助都将非常有帮助!

Excel 屏幕截图

答案1

在单元格中J3输入公式=INDEX(C:C,MATCH(INT(I3),B:B,0))并复制下来。

要理解这个公式,请从内而外地思考:

  1. INT(x)返回1给定分钟的分钟1.033
  2. MATCH(INT(x),B:B,0)B查找分钟1出现的列中的行
  3. INDEX(C:C,MATCH(INT(x),B:B,0))C选择与列中行对应的列中的温度B

答案2

如果我理解正确的话,这就简单地称为“嵌套”。

Excel 中的 IF 语句就是=IF(TRUE,DO IF TRUE, DO IF FALSE)这样的,因此您只需插入另一个完整的 IF 语句作为其中一个分支即可。您可以将 IF 语句放在任一(或两个)决策分支中。

再次,如果我理解了你的问题,你可以从最不可能或最后的情况开始,然后以相反的顺序嵌套其他测试。有时用记事本或其他东西把它写出来,然后折叠间距以适合公式(这是伪代码,希望有助于更好地说明这个想法):

=IF(Field = COL3, UseCOL3, 
    IF(Field = COL2, UseCOL2,
        IF(Field = COL1, UseCOL1,
            NoValue
        )
    )
)

或者:

=IF(Field = COL3, UseCOL3,IF(Field = COL2, UseCOL2,IF(Field = COL1, UseCOL1,NoValue)))

它会很快变得“毛茸茸”。

https://support.microsoft.com/en-us/office/if-function-%E2%80%93-nested-formulas-and-avoiding-pitfalls-0b22ff44-f149-44ba-aeb5-4ef99da241c8

相关内容