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

Excel如何用函数(无VBA)匹配C、D列值合并对应E列文本

Excel无VBA实现多条件匹配合并文本方案

分版本给出可直接落地的实现方法:

Microsoft 365/Excel 2021及以上版本(支持动态数组函数,操作最简)

步骤1:生成K列C列唯一值

K4单元格填写自定义表头(如C列唯一值),K5单元格输入公式:
=UNIQUE(C:C)
直接回车后,C列所有唯一值会自动向下溢出填充K列。

步骤2:生成第4行D列唯一值

L4单元格输入公式:
=TRANSPOSE(UNIQUE(D:D))
直接回车后,D列所有唯一值会自动横向溢出填充第4行的对应列。

步骤3:交叉区域匹配合并E列内容

L5单元格输入公式:
=TEXTJOIN("、",TRUE,FILTER(E:E,(C:C=$K5)*(D:D=L$4),""))
直接回车后,选中L5单元格向右拖动填充到D列唯一值对应的最后一列,再向下拖动填充到C列唯一值对应的最后一行即可。

旧版Excel(2019及更早,无动态数组函数)兼容方案

所有数组公式输入完成后需要按Ctrl+Shift+Enter组合键确认生效。

步骤1:生成K列C列唯一值

K4填写自定义表头,K5输入数组公式:
=INDEX(C:C,MIN(IF(COUNTIF(K$4:K4,C:C)=0,ROW(C:C),4^8)))&""
按三键确认后,向下拖动K5单元格,直到出现空白单元格,即为全部C列唯一值。

步骤2:生成第4行D列唯一值

L4输入数组公式:
=INDEX(D:D,MIN(IF(COUNTIF($K4:K4,D:D)=0,ROW(D:D),4^8)))&""
按三键确认后,向右拖动L4单元格,直到出现空白单元格,即为全部D列唯一值。

步骤3:交叉区域匹配合并E列内容

L5输入数组公式:
=TEXTJOIN("、",TRUE,IF((C:C=$K5)*(D:D=L$4),E:E,""))
按三键确认后,先向右拖动填充对应列,再向下拖动填充对应行即可。

补充说明

  • TEXTJOIN第一个参数为合并文本的分隔符,可根据需求替换为逗号,、换行符CHAR(10)(需要开启单元格自动换行)等。
  • 公式中的整列引用(如C:C)可替换为实际数据区域(如C$2:C$1000),能大幅提升计算效率。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 02:39:00