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

Excel中基于另一列值的某列区分大小写唯一值计数

按店铺统计区分大小写的唯一商品数(使用SUMPRODUCT和EXACT)

可以通过扩展SUMPRODUCT、EXACT函数,结合矩阵运算(或IF条件)实现需求。以下是具体解决方案:

核心公式(适用于Excel 365/2021)

假设E2单元格为目标店铺名称(如"Costco"),F2的计算公式为:

=SUMPRODUCT(--($C$2:$C$10=E2), 1/MMULT(--EXACT($B$2:$B$10, TRANSPOSE($B$2:$B$10)), --($C$2:$C$10=E2)))

旧版Excel(2019及更早)注意事项

需按Ctrl+Shift+Enter组合键作为数组公式输入,而非单独按Enter。

公式原理拆解

以你提到的"Costco"案例(商品为"Apple"、"apple"、"Apple",预期结果2)为例:

  1. --($C$2:$C$10=E2):生成由1和0组成的数组,标记出属于目标店铺的行。
  2. EXACT($B$2:$B$10, TRANSPOSE($B$2:$B$10)):生成区分大小写的匹配矩阵,每个元素表示对应两个商品是否完全一致(大小写敏感)。
  3. MMULT(--(...), --($C$2:$C$10=E2)):通过矩阵乘法,计算每个商品在目标店铺内的区分大小写出现次数。案例中得到数组[2,1,2,...]("Apple"出现2次,"apple"出现1次)。
  4. 1/MMULT(...):将次数转换为倒数(如1/2、1/1),同一商品的所有倒数之和为1,实现"去重计数"。
  5. SUMPRODUCT(--($C$2:$C$10=E2), 1/...):筛选目标店铺的行并求和,最终得到区分大小写的唯一商品数(案例中1/2+1+1/2=2)。

含IF语句的替代版本

若需显式使用IF条件过滤店铺,可使用以下公式:

=SUMPRODUCT(--($C$2:$C$10=E2), 1/MMULT(--IF($C$2:$C$10=E2, EXACT($B$2:$B$10, TRANSPOSE($B$2:$B$10)), 0), --($C$2:$C$10=E2)))

其中IF语句仅保留目标店铺的商品匹配结果,缩小矩阵运算范围。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 05:44:54