Excel公式需求:提取地址单元格中邮政编码前的内容
Excel公式:提取地址中邮政编码及后续内容之前的部分
针对你提供的地址格式(结构为「街道, 城市, 省, 邮编, 国家」,邮编为3位或带空格的6位加拿大格式),可以用以下两种方案实现需求:
方案1:适用于Excel 365/2021及新版本(推荐)
直接使用TEXTBEFORE函数定位倒数第二个逗号(邮编前的分隔符),提取其之前的内容:
=TRIM(TEXTBEFORE(A1, ",", -2))
效果验证
- 对应A1单元格,返回:
3 Red Street, Vancouver, BC - 对应A2单元格,返回:
25 Blue Street, Toronto, ON - 对应A3单元格,返回:
10 Yellow Street, Halifax, NS
方案2:适用于旧版Excel(无TEXTBEFORE函数)
用嵌套函数组合定位倒数第二个逗号的位置,再截取内容:
=TRIM(LEFT(A1, FIND("|", SUBSTITUTE(A1, ",", "|", LEN(A1)-LEN(SUBSTITUTE(A1, ",", ""))-1))-1))
公式原理
LEN(A1)-LEN(SUBSTITUTE(A1, ",", "")):计算地址中逗号的总数量-1:定位到倒数第二个逗号的索引SUBSTITUTE(A1, ",", "|", ...):将倒数第二个逗号替换为特殊符号|(避免和其他逗号混淆)FIND("|", ...):找到|的位置,即邮编前的分隔符位置LEFT(A1, ...-1):截取该位置之前的内容,TRIM函数去除首尾多余空格
内容的提问来源于stack exchange,提问作者leever
相关产品推荐
相关产品推荐

