You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel多列复杂条件公式编写求助:汉堡项目发货状态判断

解决Excel中按项目判断汉堡是否已发货的公式方案

嘿,刚上手Excel公式编写的话,这个需求其实挺典型的,咱们用基础函数组合就能轻松搞定!先把需求再明确下:

  • 按「项目名称」分组判断
  • 每组里只要有至少一条汉堡的记录符合发货状态,就返回指定值(你原文没说具体返回内容,我先默认返回1,你可以按需调整);如果完全没有符合条件的记录,返回0

假设你的数据结构是这样的:

  • A列:项目名称
  • B列:产品类型(比如“汉堡”)
  • C列:发货状态(比如“已发货”,你需要替换成实际符合要求的状态文本)

方案1:逐行判断当前项目的汉堡发货情况

如果要在每行旁边显示对应项目的判断结果,用COUNTIFS+IF组合公式就行:

=IF(COUNTIFS(A:A,A2,B:B,"汉堡",C:C,"已发货")>0,1,0)

公式拆解:

  • COUNTIFS(A:A,A2,B:B,"汉堡",C:C,"已发货"):统计当前行对应的项目(A2)下,产品是汉堡且状态符合发货要求的记录条数
  • IF(统计结果>0,1,0):只要有1条及以上符合条件的记录,就返回1;完全没有的话返回0

方案2:批量生成所有唯一项目的判断结果(适合汇总)

如果你想单独生成一份所有项目的汇总结果,用UNIQUE提取唯一项目,再搭配COUNTIFS:

  1. 先在空白列(比如E列)提取所有唯一项目:
    =UNIQUE(A:A)
    
  2. 然后在旁边的F列输入判断公式,下拉填充:
    =IF(COUNTIFS(A:A,E2,B:B,"汉堡",C:C,"已发货")>0,1,0)
    

方案3:Excel 365/2021专属动态数组公式(一步生成所有结果)

如果你用的是新版Excel,直接用BYROW+UNIQUE+LAMBDA的组合,一次性生成所有项目的判断结果,不用手动下拉:

=BYROW(UNIQUE(A:A),LAMBDA(x,IF(COUNTIFS(A:A,x,B:B,"汉堡",C:C,"已发货")>0,1,0)))

实用提示:

  • 记得把公式里的"已发货"替换成你实际的发货状态值(比如“已出库”“配送完成”等)
  • 尽量不要用整列(比如A:A)作为数据范围,换成具体的单元格区域(比如A2:A1000),能让公式运行更流畅
  • 如果需要返回的不是1,而是其他文本(比如“已发货”“未发货”),直接把公式里的1和0换成对应的文本就行

内容的提问来源于stack exchange,提问作者booky99

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:23:18