
在 Excel 中花费的大量时间用于清理可能不会立即有用的数据,使其成为有价值的东西。能够将特定字符左侧的所有内容拉出可以加速并自动化此过程。
内容:
公式
此公式将返回单元格 A1 中“@”字符左侧的所有内容。
= LEFT ( A1 , ( FIND ( "@" , A1 , 1 ) - 1 ) )
如果您有最新版本的 Excel,则可以使用新公式 TEXTBEFORE 之一来返回特定字符之后的所有内容:
=之前的文本( A1 , "@" )
解释
要返回 Excel 单元格中特定字符左侧的所有内容,我们需要结合使用 LEFT 函数(该函数从单元格开头返回特定数量的字符)和 FIND 函数来查找特定字符。
= LEFT ( A1 , ( FIND ( "@" , A1 , 1 ) - 1 ) )
在此示例中,公式正在查找单元格 A1 中文本中“@”的位置,并返回文本中“@”的位置,假设它是 7。
然后使用 LEFT 函数从该特定字符的左侧提取文本。在本例中,公式使用单元格 A1 中的文本和左侧的字符数,这是 FIND 函数返回的值 – 1(因为我们不想包含字符本身)。
综合起来,这个公式给我们留下了任何给定单元格中特定字符左侧的所有内容。
笔记:
仅当单元格中存在特定字符时,此公式才有效。如果该字符不存在,FIND 函数将返回错误。为了避免此错误,可以使用 IFERROR 函数返回错误消息。例如:
= IFERROR ( LEFT ( A1 , ( FIND ( "@" , A1 , 1 ) - 1 ) ) , "未找到字符" )
如果单元格中存在“@”字符,此公式将返回“@”字符左侧的所有内容;如果“@”字符不存在,则将返回文本“找不到字符”。
例子
1. 如何从全名中提取名字

如果我们在 A 列中有一个全名列表,并且想要在 B 列中提取名字,我们可以使用以下公式:
= 左( A1 , (查找( “ ” , A2,1 ) -1 ) ) _ _
此公式将提取空格之前的所有内容,在本例中,空格是名字。
如果全名之间用逗号“,”分隔,或者逗号加空格“,”,则可以将上式中的空格换掉,得到相同的结果。
2. 如何从电子邮件地址中提取用户名

同样,如果我们在 A 列中有一个电子邮件地址列表,并且想要提取与每个电子邮件地址关联的用户名,我们可以使用以下公式:
= LEFT ( B3 , ( FIND ( "@" , A2 , 1 ) - 1 ) )
此公式将提取“@”符号之前的所有内容,留下电子邮件用户名并删除域名。
3. 如何从完整邮寄地址中提取街道地址

我们还可以拆分完整的邮寄地址,并使用相同的方法提取街道地址。在这个例子中,我们在A列中有一个地址列表,想要提取街道地址,我们可以使用以下公式:
= 左( B12 , (查找( ", " , A2 , 1 ) - 1 ) )
此公式将提取第一个“,”之前的所有内容,提取街道地址。
评论0