B 列以分钟为单位,以 1 分钟为增量。I 列以分钟为单位,但以 1 秒为增量。
C 列包含温度列表。有没有办法用 C 列中与正确分钟相对应的温度填充 I 列?
正确的结果是,一旦 I 列中的值为 1,J 列将填充 80,然后,一旦 I 列中的值为 2,J 列将填充 102。
我写了以下公式,它在达到 1 之前有效,但超过 1 之后就无效了。我不确定如何创建一个在满足条件后会发生变化的 IF 语句。
公式:=IF(I11=$B$11,$C$11,"")
任何帮助都将非常有帮助!
答案1
在单元格中J3
输入公式=INDEX(C:C,MATCH(INT(I3),B:B,0))
并复制下来。
要理解这个公式,请从内而外地思考:
INT(x)
返回1
给定分钟的分钟1.033
MATCH(INT(x),B:B,0)
B
查找分钟1
出现的列中的行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)))
它会很快变得“毛茸茸”。