Excel技术需求:按相同ID合并国家城市至Facility列
Excel按ID合并国家城市到Facility列的解决方案
方法1:Excel 365/2021 动态数组版
假设ID列是A列,国家在C列,城市在D列,从第2行开始有数据,Facility列从E2单元格开始填充:
在E2输入以下公式,下拉自动填充即可:
=TEXTJOIN("; ", TRUE, UNIQUE(FILTER($C$2:$D$100, $A$2:$A$100=A2, "")))
如果需要将国家和城市先组合为「国家-城市」格式再合并,用这个公式:
=TEXTJOIN("; ", TRUE, UNIQUE(FILTER($C$2:$C$100&"-"&$D$2:$D$100, $A$2:$A$100=A2, "")))
公式说明:
FILTER:筛选出当前ID对应的所有国家、城市数据UNIQUE:自动去除重复的国家城市组合(可选,按需使用)TEXTJOIN:用指定分隔符(这里是;)合并内容,TRUE表示忽略空值
方法2:旧版Excel(无动态数组)
如果你的Excel版本不支持动态数组,用以下数组公式(输入完成后按Ctrl+Shift+Enter确认,而非单纯回车):
有TEXTJOIN功能(Excel 2019及以后)
=TEXTJOIN("; ", TRUE, IF($A$2:$A$100=A2, $C$2:$C$100&"-"&$D$2:$D$100, ""))
无TEXTJOIN功能(更早版本)
用CONCAT组合内容,再去除末尾多余分隔符:
=LEFT(CONCAT(IF($A$2:$A$100=A2, $C$2:$C$100&"-"&$D$2:$D$100&"; ", "")), LEN(CONCAT(IF($A$2:$A$100=A2, $C$2:$C$100&"-"&$D$2:$D$100&"; ", "")))-2)
注意事项
- 替换公式中的
$A$2:$A$100、$C$2:$C$100、$D$2:$D$100为你实际的数据范围 - 分隔符可自定义:比如换用换行符
CHAR(10),需要开启单元格「自动换行」 - 如果不需要去重,删除公式中的
UNIQUE部分即可
内容的提问来源于stack exchange,提问作者yamaha
相关产品推荐
相关产品推荐

