[英]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.