我有下面的 Excel 公式來幫助自動編號作業表上的行是唯一的。我想找到破折號字符 (-) 的第一次出現,并將其右側的數字加 1。
這是我用來執行此操作的公式:它找到第一個破折號 (5) 右側的數字并將其加 1,結果為 6。
=CONCATENATE(LEFT(A11,7),"-",REPLACE(A11,1,FIND("-",A11),"") 1)

如果正在搜索的字串中只有一個短劃線 (-) 字符,則這可以正常作業,但是我的資料中將包含 3 個短劃線,并且當我有一個包含多個短劃線的字串時,我會收到 #VALUE 錯誤。在這種情況下,如何解決此問題以找到字串中第一個破折號右側的數字并為其加 1?

uj5u.com熱心網友回復:
我會放置這些公式,用您參考的單元格替換我放置 [cell] 的位置。我知道這是一個丑陋的公式,但它可以通過幾種方式分解。
首先,它將最左邊的字符作為數字前綴進行數學運算,并將該文本添加到計算中。計算將數字前后的所有文本分開,將其轉換為值,加 1,然后將其組合到前綴中。最后,它將后綴添加到前綴和中間。
可能有機會使用Mid公式;但是,我不確定這個數字可以達到多少個字符,所以我保留了這個變數。
=LEFT([Cell],8) & VALUE(RIGHT(LEFT([Cell],FIND("-",[Cell],9)-1),LEN(LEFT([Cell],FIND("-",[Cell],9)-1))-FIND("-",LEFT([Cell],FIND("-",[Cell],9)-1)))) 1 & "-" & RIGHT([Cell],LEN([Cell])-FIND("-",[Cell],9))
使用您的單元格參考:
=LEFT(A11,8) & VALUE(RIGHT(LEFT(A11,FIND("-",A11,9)-1),LEN(LEFT(A11,FIND("-",A11,9)-1))-FIND("-",LEFT(A11,FIND("-",A11,9)-1)))) 1 &"-"& RIGHT(A11,LEN(A11)-FIND("-",A11,9))
uj5u.com熱心網友回復:
由于您7在 LEFT 函式中用作常數,因此我假設開頭的 7 個字符是常數。所以有了這個假設,你可以簡單地使用下面的公式來自動添加數字
=CONCAT(LEFT(A11,7),"-",MID(A11,9,IFERROR(FIND("-",A11,9),LEN(A11) 1)-9) 1)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/328270.html
