如何用Excel VLOOKUP将同一SIM对应的多个IMEI合并到单个单元格
解决方案(无需VBA)
方法1:TEXTJOIN + IF(推荐,适用于Excel 365/2021及以后版本)
假设:
- 目标表(第一张表)为
Sheet1,SIM号码列是A列,待填充IMEI的列是B列 - 数据源表(第二张表)为
Sheet2,SIM号码列是A列,IMEI列是B列
- 在
Sheet1的B2单元格输入公式:=TEXTJOIN(", ", TRUE, IF(Sheet2!$A$2:$A$100=Sheet1!A2, Sheet2!$B$2:$B$100, ""))- 替换
Sheet2!$A$2:$A$100和Sheet2!$B$2:$B$100为你实际的数据源范围;Excel 365用户可直接用Sheet2!$A:$A和Sheet2!$B:$B,会自动忽略空白行
- 替换
- 按下回车键得到结果,下拉公式覆盖所有需要填充的行
公式说明:
TEXTJOIN(", ", TRUE, ...):用,作为分隔符合并匹配到的文本,TRUE参数会自动忽略空值IF(Sheet2!$A$2:$A$100=Sheet1!A2, ...):筛选出Sheet2中与当前行SIM号码完全匹配的所有IMEI值
方法2:PHONETIC + IF(适用于无TEXTJOIN的旧版Excel)
若你的Excel版本不支持TEXTJOIN,可尝试此方法(注意:需先将Sheet2的IMEI列转为文本格式,数字格式的IMEI无法被PHONETIC识别):
- 在
Sheet1的B2单元格输入以下数组公式(输入完成后按Ctrl+Shift+Enter确认,不能直接回车):=LEFT(PHONETIC(IF(Sheet2!$A$2:$A$100=Sheet1!A2, Sheet2!$B$2:$B$100&", ", "")), LEN(PHONETIC(IF(Sheet2!$A$2:$A$100=Sheet1!A2, Sheet2!$B$2:$B$100&", ", "")))-2) - 下拉公式覆盖所有需要填充的行
公式说明:
PHONETIC函数用于合并文本内容,但仅支持文本格式数据LEFT(..., LEN(...)-2):去掉合并结果末尾多余的,分隔符
内容的提问来源于stack exchange,提问作者Cihiman
相关产品推荐
相关产品推荐

