Excel公式是否有类似JavaScript中a||b的短路或语句写法?
Excel中类似JavaScript
a||b 的简洁逻辑写法 在Excel里,确实有能替代=IF(a<>"",a,b)的简洁写法,不用嵌套IF语句:
推荐方法(Excel 365及后续版本)
直接用COALESCE函数,它的作用就是返回第一个非空的参数值,完全匹配你要的a||b逻辑:
=COALESCE(a,b)
测试场景完全符合预期:
- 当
a=""且b=""时,返回"" - 当
a="abc"且b=""时,返回"abc" - 当
a=""且b="def"时,返回"def" - 当
a="abc"且b="def"时,返回"abc"
旧版本Excel兼容写法
如果你的Excel版本不支持COALESCE,可以用INDEX+MATCH组合实现相同效果:
=INDEX((a,b),MATCH(TRUE,(a,b)<>"",0))
注:输入完公式后需要按Ctrl+Shift+Enter作为数组公式确认(Excel 365动态数组版本无需此操作)。
为什么OR(a,b)无效?
Excel的OR函数只返回布尔值(TRUE/FALSE),不会返回参数本身的内容,所以无法实现你要的取值逻辑。
内容的提问来源于stack exchange,提问作者user2847853
相关产品推荐
相关产品推荐

