Excel公式需求:提取同一单元格双值填充跨表矩阵
Excel 跨表匹配自动填充方案
核心场景
源表每行存储一组「公司-物料」对应关系;结果表需以公司为纵向列(A列从上到下排列所有公司)、物料为横向行(第一行从左到右排列所有物料),自动填充交叉单元格的匹配状态/次数。
公式实现
假设源表命名为 Source,A列存公司名,B列存物料名:
1. 判断是否存在匹配(返回√或空)
在结果表的B2单元格(对应A2公司、B1物料)输入公式,下拉+右拉填充:
=IF(COUNTIFS(Source!$A:$A,$A2,Source!$B:$B,B$1)>0,"√","")
2. 统计匹配次数
若需统计该公司对应此物料的出现次数,直接使用:
=COUNTIFS(Source!$A:$A,$A2,Source!$B:$B,B$1)
方案优势
相比你尝试的COUNT+FIND组合,COUNTIFS是专门针对多区域多条件的统计函数:
- 避免单个单元格内文本包含导致的误判(比如公司名/物料名存在重叠关键词的情况)
- 逻辑更直观,适配跨单元格的一对多/多对多匹配场景
快速生成唯一列表(Excel 365/2021+)
如果需要快速生成结果表的纵向公司列和横向物料行,用UNIQUE函数:
- 提取唯一公司(纵向):
=UNIQUE(Source!$A:$A) - 提取唯一物料(横向):
=TRANSPOSE(UNIQUE(Source!$B:$B))
内容的提问来源于stack exchange,提问作者leonardo araujo
相关产品推荐
相关产品推荐

