Excel中对比两个字段取首个有效值否则取任意值的实现方法咨询
Excel 双字段取首个有效值实现方案
这里默认首个有效值的判定规则为:优先取empid列的非空、非错误值,若empid无效再取empid_1列的有效值,两列均无效时可返回任意一列的值,你可以根据自己对「有效值」的定义调整判断规则。
适用Excel 365/2021及以上版本
可直接用TOROW函数的过滤特性实现,公式更简洁:
假设empid位于A列,empid_1位于B列,结果列从第2行开始填写,公式为:
=TOROW((A2,B2),2,TRUE)
参数说明:
- 第一个参数按优先级传入要取值的两个单元格
- 第二个参数
2代表自动忽略空值和错误值 - 第三个参数
TRUE代表按行扫描,优先返回排在前列的empid有效值
全Excel版本通用方案
用基础逻辑判断函数实现,兼容性更强:
=IF(OR(ISBLANK(A2),ISERROR(A2)),IF(OR(ISBLANK(B2),ISERROR(B2)),A2,B2),A2)
逻辑说明:
- 先校验
empid(A2)是否为空或错误值,校验通过直接返回A2 - 若
empid无效,再校验empid_1(B2)是否为空或错误值,校验通过返回B2 - 两列均无效时默认返回A列值,可按需把公式末尾的A2替换为B2修改返回规则
如果你的有效值判定有额外要求(比如必须为纯数字、不能包含特殊字符等),只需在IF的判断条件中新增对应校验规则即可。
内容的提问来源于stack exchange,提问作者jaiparkumar
相关产品推荐
相关产品推荐

