![](/img/trans.png)
[英]Excel Formula to check value of two columns and return specific cell values
[英]Find specific characters and return the next value in the cell using Excel Formula
我不確定從哪里開始使用公式,因為我對所有事情都感到困惑。 我有一個包含“PON”或“PON:”或“PON =”的單元格,然后是實際的 PON(示例:PON 123467)我想通過公式在單元格中返回 123467。
Examples What I want returned
I have PON 123467 for shoes 123467
I have PON: 234567-AB for food 234567-AB
I have PON - 569874-Weird for accessories 569874-Weird
I have PON = DOG-564-987 for dog food DOG-564-987
我目前正在使用 Excel 365
你可以試試這個公式。
=TRIM(LEFT(MID(A2,FIND(@{1,2,3,4,5,6,7,8,9},A2),100),FIND(" ",MID(A2,FIND(@{1,2,3,4,5,6,7,8,9},A2),100))))
它提取第一個數字和該數字后面的第一個空格之間的文本。 該摘錄的大小限制為 100 個字符。
使用FILTERXML
,並在PON
之后測試 substring ,您可以嘗試:
=FILTERXML("<t><s>"&SUBSTITUTE(TRIM(A1)," ","</s><s>") & "</s></t>","//s[contains(.,'PON')]/following-sibling::*[string-length(.)>2][1]")
請注意,FILTERXML 解決方案將導致僅是數字但帶有前導零的 PON 丟棄前導零。 不幸的是,xPath 實現中的 function 不包括string()
function
如果刪除前導零可能有問題,您可以向節點添加一個字符,強制將數字視為字符串。 在下面的修改公式中,我使用了 unicode 零寬度空間,但還有其他的你可以使用。 請注意,這將被視為string=length
function 的字符,因此請務必保持>2
參數:
=FILTERXML("<t><s>"&SUBSTITUTE(TRIM(A1)," ","</s><s>"&UNICHAR(8203)) & "</s></t>","//s[contains(.,'PON')]/following-sibling::*[string-length(.)>2][1]")
由於數據的可變性,有時 PON 和所需的提取物 xpath 之間會有多余的空格分隔子字符串:
PON
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.