如何在Google Sheets中提取邮箱@符号前的内容至新列?
在Google Sheets中提取邮箱地址的用户名(移除@和域名)
嘿,这个需求我太熟了!之前帮团队处理过一堆邮箱数据,给你两个简单到飞起的方法,不用写脚本,直接用内置公式就能搞定:
方法一:用LEFT + FIND组合公式(直观好理解)
假设你的邮箱都在A列,从A1单元格开始。你只需要在B1单元格里输入这个公式:
=LEFT(A1, FIND("@", A1) - 1)
原理拆解:
FIND("@", A1):会定位到@符号在A1单元格里的位置(比如test@test.com里@在第5位)- 减1之后就是用户名的长度(上面的例子就是4)
LEFT(A1, 长度):从单元格左侧截取对应长度的内容,刚好就是@前面的用户名
输入完公式后,把鼠标放在B1单元格的右下角,等光标变成十字形(填充柄),按住左键往下拖,就能自动把公式应用到整列啦!
如果担心A列里有非邮箱格式的内容(比如空单元格、没有@的字符串)会报错,可以用IFERROR包裹一下,出错就显示空值:
=IFERROR(LEFT(A1, FIND("@", A1) - 1), "")
方法二:用SPLIT拆分(更简洁)
如果你喜欢更短的公式,试试这个:
=INDEX(SPLIT(A1, "@"), 1)
原理拆解:
SPLIT(A1, "@"):把邮箱地址按@拆分成两部分(用户名和域名),变成一个数组INDEX(数组, 1):取出数组里的第一个元素,也就是用户名
甚至更简单,直接用SPLIT(A1, "@")也能得到用户名,不过用INDEX可以避免万一出现多个@的情况(虽然正常邮箱不会有),结果更稳妥。同样往下拖就能批量处理。
最后一步:转成纯文本(可选)
如果以后不想让B列内容跟着A列变化,选中处理好的B列,右键点击「复制」,然后再右键选择「粘贴为值」,这样就把公式结果变成固定的文本啦!
内容的提问来源于stack exchange,提问作者Jeeves
相关产品推荐
相关产品推荐

