如何在SUMIFS函数中实现状态条件的OR逻辑(Ordered/Shipped)
解决SUMIFS多状态(Ordered/Shipped)的求和问题
为什么你之前的公式无效?
- SUMIFS的多条件默认是AND逻辑,你尝试的第二个公式
SUMIFS(..., SalesTable[Status],"Ordered";SalesTable[Status],"Shipped")会要求同一行同时满足两种状态,显然不可能,所以返回0 - OR函数不能直接作为SUMIFS的条件参数,因为SUMIFS需要条件区域和条件一一对应,OR的数组逻辑无法被直接识别
正确的三种解法:
拆分SUMIFS相加(最直观)
直接对两种状态分别求和再相加,逻辑清晰,新手友好:=SUMIFS(SalesTable[Quantity];SalesTable[SKU];[@[Stocks SKU]];SalesTable[Status];"Ordered") + SUMIFS(SalesTable[Quantity];SalesTable[SKU];[@[Stocks SKU]];SalesTable[Status];"Shipped")SUM+SUMIFS数组形式(简化书写)
用数组常量包含两种状态,外层用SUM汇总结果,新版Excel自动支持,旧版需按Ctrl+Shift+Enter触发数组计算:=SUM(SUMIFS(SalesTable[Quantity];SalesTable[SKU];[@[Stocks SKU]];SalesTable[Status];{"Ordered";"Shipped"}))SUMPRODUCT函数(万能逻辑处理)
利用乘法实现AND逻辑,加法实现OR逻辑,适合复杂条件组合:=SUMPRODUCT(SalesTable[Quantity]*(SalesTable[SKU]=[@[Stocks SKU]])*(SalesTable[Status]="Ordered"+SalesTable[Status]="Shipped"))
内容的提问来源于stack exchange,提问作者Noob
相关产品推荐
相关产品推荐

