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

在Excel中查找满足多商品同时售卖条件的日期

查找同时售出指定多商品的日期

需求说明

A列是日期,B列是当日售出的商品,要找出当天卖过所有指定商品的日期。举几个例子:

  • 指定Boneless Breast、Pork Loin、Chuck Roast,结果是1/1/2023和1/3/2023
  • 再加Hotdogs的话,没有符合的日期
  • 只指定前两个商品,三个日期全符合

手动筛选、字段拼接或者加一堆辅助列的方法,改条件的时候太麻烦,得找个扩展性强的解法。

原始数据:

日期商品
1/1/2023Boneless Breast
1/1/2023Pork Loin
1/1/2023Chuck Roast
1/2/2023Boneless Breast
1/2/2023Pork Loin
1/2/2023Hotdogs
1/3/2023Boneless Breast
1/3/2023Pork Loin
1/3/2023Chuck Roast

高效解法(Excel 365/2021 适用)

不用加任何辅助列,一个动态数组公式搞定,条件数量随便加:

第一步:放筛选条件

找个空白列(比如D列),把要筛选的商品列出来,比如D1到D3:

Boneless Breast
Pork Loin
Chuck Roast

第二步:用公式出结果

在任意空白单元格(比如F1)输入下面的公式,直接返回所有符合条件的日期:

=UNIQUE(FILTER(UNIQUE(A:A), SUMPRODUCT(COUNTIFS(A:A, UNIQUE(A:A), B:B, D:D))=COUNTA(D:D)))

公式逻辑拆解:

  1. UNIQUE(A:A)先提取所有不重复的日期
  2. COUNTIFS(A:A, UNIQUE(A:A), B:B, D:D)统计每个日期里,每个指定商品的售出次数
  3. SUMPRODUCT把每个日期的统计结果求和,若结果等于指定商品的总数,说明当天所有指定商品都卖过了
  4. FILTER+UNIQUE最终筛选并去重得到符合条件的日期

新手友好版公式(逻辑更直观)

如果想逐个日期验证匹配情况,也可以用这个公式:

=UNIQUE(FILTER(A:A, BYROW(UNIQUE(A:A), LAMBDA(dt, SUM(--ISNUMBER(XMATCH(D:D, FILTER(B:B, A:A=dt)))))=COUNTA(D:D))))

这个公式会先提取单日期的所有售出商品,再逐一核对指定商品是否全部存在,全匹配才判定为符合条件。

方案优势

  • 无需辅助列,修改条件仅需在指定区域增删商品即可
  • 不受商品售卖顺序影响,只要当日全品类覆盖就会被筛选
  • 动态数组自动更新,数据或条件变动后结果实时同步

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 11:32:52