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

如何在Power Query Editor中拆分姓名列手机号并过滤指定邮箱

Power Query 操作解决方案

操作1:拆分Full Name列为手机号和姓名列

你之前用数字/非数字拆分失败的原因是原列每行内容要么全为数字(手机号)要么全为非数字(姓名),不存在同一条内容同时包含数字和非数字的场景,拆分规则无法触发拆分动作,改用自定义列判断即可:

  • 进入Power Query编辑器,选中目标表,点击「添加列」→「自定义列」
  • 新建Join By Phone列,公式输入:
    if Text.PositionOfAny([Full Name], {"0".."9"}) >= 0 then [Full Name] else null
  • 再新建「正常姓名」列,公式输入:
    if Text.PositionOfAny([Full Name], {"0".."9"}) < 0 then [Full Name] else null
  • 按需删除原Full Name列即可

操作2:删除Atlanta_Email_Only列不含Atlanta的邮箱值

你可以直接转换当前列无需新增条件列,操作如下:

  • 选中Atlanta_Email_Only列,点击「转换」选项卡→「标准」→「自定义」
  • 输入转换公式:
    each if Text.Contains(_, "atlanta", Comparer.OrdinalIgnoreCase) then _ else null
  • 确认后该列所有不含Atlanta关键词(大小写不敏感)的邮箱会自动替换为空值,符合要求。

如果需要直接删除该列值为空的行,选中该列后点击「筛选」按钮,取消勾选「null」即可批量删除对应行。

完整M代码示例(可选)

你可以直接把以下代码替换到高级编辑器中,修改源数据步骤对应你的数据源即可:

let
    源 = Excel.CurrentWorkbook(){[Name="你的表名"]}[Content],
    增加手机号列 = Table.AddColumn(源, "Join By Phone", each if Text.PositionOfAny([Full Name], {"0".."9"}) >=0 then [Full Name] else null),
    增加姓名列 = Table.AddColumn(增加手机号列, "正常姓名", each if Text.PositionOfAny([Full Name], {"0".."9"}) <0 then [Full Name] else null),
    删除原姓名列 = Table.RemoveColumns(增加姓名列,{"Full Name"}),
    过滤邮箱列 = Table.TransformColumns(删除原姓名列, {{"Atlanta_Email_Only", each if Text.Contains(_, "atlanta", Comparer.OrdinalIgnoreCase) then _ else null}})
in
    过滤邮箱列

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 06:48:03