处理邮箱地址数据集如何合并重复条目对应列表名为JSON数组格式
解决方案
Excel 365 / 2021 版本操作
- 提取去重后的邮箱到新列(示例中为D列):在D1单元格输入公式
=UNIQUE(A:A),下拉自动生成所有不重复的邮箱地址 - 生成JSON格式的列表名数组:在D列对应的E1单元格输入公式
="["""&TEXTJOIN(""",""",TRUE,FILTER(B:B,A:A=D1))&"""]",下拉填充后即可得到符合要求的输出。
公式逻辑说明:FILTER函数匹配当前邮箱对应的所有列表名,TEXTJOIN用","作为分隔符拼接所有匹配结果,前后拼接方括号和双引号,刚好符合JSON数组的格式要求。
旧版Excel(无UNIQUE、FILTER函数)操作
- 选中A列全量数据,点击「数据」选项卡→「删除重复值」,将得到的去重邮箱粘贴到D列
- 在E1单元格输入公式
="["""&SUBSTITUTE(PHONETIC(OFFSET(B$1,MATCH(D1,A:A,0)-1,,COUNTIF(A:A,D1),1)),",",""",""")&"""]",下拉填充即可。如果拼接结果异常,可以提前给B列所有列表名前后手动加上双引号,再修改公式为="["&PHONETIC(OFFSET(B$1,MATCH(D1,A:A,0)-1,,COUNTIF(A:A,D1),1))&"]"使用。
Google Sheets 操作
- 提取去重邮箱公式:
=UNIQUE(A:A) - 生成数组公式:
="["""&JOIN(""",""",FILTER(B:B,A:A=D1))&"""]",操作逻辑和Excel 365完全一致。
7500条数据量较小,以上公式运算不会有明显卡顿。如果出现运算速度慢的情况,可以先把A、B两列的原数据复制为静态值,再执行公式运算,避免全列动态引用拖慢效率。
内容的提问来源于stack exchange,提问作者Faraz
相关产品推荐
相关产品推荐

