Excel 2019公式求助:多薪资行按参数判断RETAIN/FOR UPDATING
Excel 2019 公式实现方案
直接最终公式
假设你的数据列对应如下(可根据实际调整):
- SR_MOSAL:A列
- SR_FDATE:B列
- SAP_MOSAL:C列
- SAP_FDATE:D列
- SAP_TDATE:E列
在结果单元格输入以下公式,下拉填充即可:=IF(COUNTIFS(C:C,A2,D:D,"<="&B2,E:E,">="&B2)>0,"RETAIN","FOR UPDATING")
公式逻辑拆解
- pass_1 验证:
COUNTIFS(C:C,A2)统计SAP_MOSAL列中与当前SR_MOSAL匹配的行数,确保存在对应记录。 - pass_2 验证:同时加入
D:D,"<="&B2和E:E,">="&B2,检查SR_FDATE是否落在匹配到的SAP_FDATE与SAP_TDATE区间内。 - 结果判断:当COUNTIFS返回的符合条件行数>0时,说明同时满足pass_1和pass_2,返回
RETAIN;否则返回FOR UPDATING。
分步验证(可选辅助列)
如果需要单独查看每一步的验证结果,可以设置辅助列:
- pass_1列(比如F列):
=IF(COUNTIF(C:C,A2)>0,"PASS","FOR UPDATING") - pass_2列(比如G列):
=IF(AND(F2="PASS",COUNTIFS(C:C,A2,D:D,"<="&B2,E:E,">="&B2)>0),"PASS","FOR UPDATING") - 最终结果列:
=IF(G2="PASS","RETAIN","FOR UPDATING")
内容的提问来源于stack exchange,提问作者franz punzalan
相关产品推荐
相关产品推荐

