如何将单列中对应同一手机号的多个原始值整理为单列单条记录
解决同一手机号对应原始值合并到单列的问题
嘿,我来帮你搞定这个把相同手机号的所有原始值汇总到单列的需求!下面给你几种不同场景下的解决方案,你可以根据自己的情况选:
方法1:Excel公式法(适合Excel 365/2021及以上版本)
假设你的手机号在A列,原始值在B列,在C2单元格输入以下公式:
=TEXTJOIN(", ", TRUE, IF($A$2:$A$10=A2, $B$2:$B$10, ""))
- 如果你用的是支持动态数组的Excel版本(比如365),直接回车就行;如果是旧版本,需要按
Ctrl+Shift+Enter作为数组公式输入 - 下拉填充公式,就能自动把每个手机号对应的所有原始值用
,分隔合并到同一单元格里啦
方法2:Excel Power Query法(适合大量数据)
如果你的数据量比较大,用Power Query更高效且不容易出错,步骤如下:
- 选中你的数据区域,点击顶部菜单栏的「数据」→「从表格/区域」(弹出对话框时记得勾选“我的表格有标题”)
- 进入Power Query编辑器后,选中手机号列,点击「转换」→「分组依据」
- 在分组设置窗口里:
- 分组依据:选择你的手机号列名称
- 新列名:可以填「合并原始值」之类的名称
- 操作:选择「所有行」
- 点击确定后,添加一个自定义列,输入公式:
= Text.Combine([所有行][原始值], ", ") - 最后删除多余的「所有行」列,点击「关闭并上载」,就能得到整理好的结果了
方法3:Python Pandas法(适合编程爱好者)
如果习惯用代码处理数据,用Pandas可以快速完成:
import pandas as pd # 读取你的数据(这里假设是Excel文件,也可以替换成CSV等格式) df = pd.read_excel("你的数据源文件.xlsx") # 按手机号分组,合并对应的原始值 merged_df = df.groupby("手机号")["原始值"].apply(lambda x: ", ".join(x)).reset_index() # 保存整理后的数据 merged_df.to_excel("整理好的数据.xlsx", index=False)
内容的提问来源于stack exchange,提问作者Sunil Mishra
相关产品推荐
相关产品推荐

