GETPIVOTDATA函数是否可以搭配OR条件实现多条件取值?
GETPIVOTDATA 新增OR条件实现方案
完全可以基于GETPIVOTDATA实现你要的逻辑,不需要换其他函数。
最简实现公式
直接把两个对应条件的GETPIVOTDATA结果相加,外层套IFERROR处理无匹配的情况:
=IFERROR(GETPIVOTDATA("Sum of HPACFF-AMT",SMSBenDetail!$J$4:J$10000,"NameID-BenCode",$A2,"GRP-CODE","OTH") + GETPIVOTDATA("Sum of HPACFF-AMT",SMSBenDetail!$J$4:J$10000,"NameID-BenCode",$A2,"TAX-TYPE","P"), "")
逻辑说明
- 两个GETPIVOTDATA分别匹配「NameID=$A2 + GRP-CODE=OTH」、「NameID=$A2 + TAX-TYPE=P」两种合规场景
- 只要任一条件匹配成功就返回对应金额,两个条件都匹配不到时,IFERROR会捕获#REF!错误返回空值
- 如果存在某条数据同时满足GRP-CODE=OTH和TAX-TYPE=P的极端场景,相加结果也符合“满足任一条件即统计”的需求
避免重复命中的优化方案
如果你的业务规则要求两个条件同时命中时只返回一次金额,可以用IF做优先级判断,优先返回GRP-CODE=OTH的结果:
=IFERROR( IF( GETPIVOTDATA("Sum of HPACFF-AMT",SMSBenDetail!$J$4:J$10000,"NameID-BenCode",$A2,"GRP-CODE","OTH")<>"", GETPIVOTDATA("Sum of HPACFF-AMT",SMSBenDetail!$J$4:J$10000,"NameID-BenCode",$A2,"GRP-CODE","OTH"), GETPIVOTDATA("Sum of HPACFF-AMT",SMSBenDetail!$J$4:J$10000,"NameID-BenCode",$A2,"TAX-TYPE","P") ), "" )
注意:使用前需要确认TAX-TYPE已经被添加到你引用的数据透视表的行、列或者筛选器维度中,否则GETPIVOTDATA无法识别该字段,会一直返回错误。
内容的提问来源于stack exchange,提问作者JG93
相关产品推荐
相关产品推荐

