![Excel 从没有一致模式的数据中提取](https://linux22.com/image/1582610/Excel%20%E4%BB%8E%E6%B2%A1%E6%9C%89%E4%B8%80%E8%87%B4%E6%A8%A1%E5%BC%8F%E7%9A%84%E6%95%B0%E6%8D%AE%E4%B8%AD%E6%8F%90%E5%8F%96.png)
答案1
=LEFT()
您可以使用和的组合=SEARCH()
。
SEARCH
给出字符串中字符的位置并LEFT
返回所需位置左侧的每个字符。
例如,对于 A1 中的单元格内容 =VATICAN - The Pope...
=SEARCH("-",A1)
将为您提供6
=LEFT(A1,6)
将为您提供VATICAN -
并且组合
=LEFT(A1,SEARCH("-",A1))
将返回VATICAN -
对于任何其他字符,例如 ie;
或:
请注意,该LEFT()
函数还会获取搜索到的字符。您可以在函数-1
后面附加一个SEARCH()
以避免这种情况。
如果找不到该字符,您将收到一个错误,这是解决它的方法:=IFERROR(RETURN,RETURN_IF_ERROR)
例如,如果您想写(未知),您应该使用=IFERROR(LEFT(A1,SEARCH("-",A1)-1),"unknown")
,但您也可以只输入 ,将其留空""
。
级联:
您可以多次连接此公式以获得不同的字符。请记住,Excel 将使用公式 ltr。
如果您要搜索"-"
,并且未找到,则":"
可以使用:
=IFERROR(LEFT(A1,SEARCH("-",A1)-1),IFERROR(LEFT(A1,SEARCH(":",A1)-1),"unknown"))
编辑:
如果你只想查看前 20 个字符,只需更改SEARCH("-",A1)
为SEARCH("-",LEFT(A1,20))