[英]Split String Based on Array in excel
我有 excel 个像下面这样的单元格
WYONG RD BRYANT DR TUGGERAH 2259 CENTRAL COAST (LGA) NSW
我想在一列中抓取任何类型的道路、街道、车道、高速公路等,然后在另一列中抓取相交的道路。 所以对于上面的单元格,我想要的 output 将是:
第 1 栏:WYONG 路
专栏 2:科比 DR
下面的代码将两条道路合并为一列,但我想将它们分开,但在操作上遇到了一些困难。
=INDEX(IFERROR(LEFT(H2,SEARCH({" DR"," HWY"," ST"," CRK"," BND"," LN"," AV"," AVE"," MTWY"," RD"," CT"},H2)+3),""),MATCH(MAX(LEN(IFERROR(LEFT(H2,SEARCH({" DR"," HWY"," ST"," CRK"," BND"," LN"," AV"," AVE"," MTWY"," RD"," CT"},H2)+2),""))),LEN(IFERROR(LEFT(H2,SEARCH({" DR"," HWY"," ST"," CRK"," BND"," LN"," AV"," AVE"," MTWY"," RD"," CT"},H2)+2),"")),0)))
我试图检查你的公式,但不幸的是,它给了我一个错误。 因此,我花了一些时间想出了以下解决方案:
比如说,输入字符串在A2
单元格中,输出在B2
和C2
单元格中。 因此,公式可以如下:
对于B2
:
=LEFT(A2,
MIN(IFERROR(SEARCH(" DR", A2)+2,1000000),
IFERROR(SEARCH(" HWY", A2)+3,1000000),
IFERROR(SEARCH(" ST", A2)+2,1000000),
IFERROR(SEARCH(" CRK", A2)+3,1000000),
IFERROR(SEARCH(" BND", A2)+3,1000000),
IFERROR(SEARCH(" LN", A2)+2,1000000),
IFERROR(SEARCH(" AV", A2)+2,1000000),
IFERROR(SEARCH(" AVE", A2)+3,1000000),
IFERROR(SEARCH(" MTWY",A2)+4,1000000),
IFERROR(SEARCH(" RD", A2)+2,1000000),
IFERROR(SEARCH(" CT", A2)+2,1000000)))
对于C2
:
=LEFT(SUBSTITUTE(A2,B2&" ",""),
MIN(IFERROR(SEARCH(" DR", SUBSTITUTE(A2,B2&" ",""))+2,1000000),
IFERROR(SEARCH(" HWY", SUBSTITUTE(A2,B2&" ",""))+3,1000000),
IFERROR(SEARCH(" ST", SUBSTITUTE(A2,B2&" ",""))+2,1000000),
IFERROR(SEARCH(" CRK", SUBSTITUTE(A2,B2&" ",""))+3,1000000),
IFERROR(SEARCH(" BND", SUBSTITUTE(A2,B2&" ",""))+3,1000000),
IFERROR(SEARCH(" LN", SUBSTITUTE(A2,B2&" ",""))+2,1000000),
IFERROR(SEARCH(" AV", SUBSTITUTE(A2,B2&" ",""))+2,1000000),
IFERROR(SEARCH(" AVE", SUBSTITUTE(A2,B2&" ",""))+3,1000000),
IFERROR(SEARCH(" MTWY",SUBSTITUTE(A2,B2&" ",""))+4,1000000),
IFERROR(SEARCH(" RD", SUBSTITUTE(A2,B2&" ",""))+2,1000000),
IFERROR(SEARCH(" CT", SUBSTITUTE(A2,B2&" ",""))+2,1000000)))
请注意,第二个公式依赖于第一个公式 output。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.