嵌套IF语句,在168000行数组上有多个结果



我有一个包含一堆信息的表,在这里提供虚拟表:SO |演示表

基本上,我需要列M填充(最好作为一个数组公式或类似的函数,因为有很多行为它解析)根据下面的规则(也在表中,行颜色编码匹配)。我尝试了一些嵌套的IF公式,但被自己绊倒了很多次。如果有人能帮忙,那就太棒了。

Criteria:   
IF -> H2:H = BLANK AND L2:L = BLANK THEN "Active"   
IF -> H2:H = "Yes" AND L2:L = Date in the Future THEN "Active"   
IF -> H2:H = BLANK AND L2:L = Date in the Past THEN "Not Active"  
IF -> H2:H = "Yes" AND L2:L = BLANK THEN "Active" 

我认为你的规则逻辑可以简化很多…试着测试一下:

=ARRAYFORMULA(IFERROR(LOOKUP(TO_TEXT(H2:H&L2:L),{"0","Yes"},{"Not",""}))&"Active")

我可能会写一个简单的自定义函数,而不是使用这里的标准公式,但这里是:

=ARRAYFORMULA(IF((H2:H="")*(L2:L=""),"Active",
IF((H2:H="Yes")*(L2:L>TODAY()),"Active",
IF((H2:H="")*(L2:L<TODAY()),"Not Active",
IF((H2:H="Yes")*(L2:L=""),"Active",""),""),""),"")

最新更新