[英]Splitting cells in Excel
我想在最后一次出現時在Excel中拆分單元格:
冒號)。 例如, test:test1:test2
必須拆分為test2
即最后一次出現:
。
我怎樣才能做到這一點 ?
假設last :
之后的子字符串少於255個字符:
=TRIM(RIGHT(SUBSTITUTE(B2,":",REPT(" ",255)),255))
如果您在last :
之后的子字符串可能超過255個字符:
=RIGHT(B2,LEN(B2)-MATCH(2,1/(MID(B2,ROW(INDIRECT("1:"&LEN(B2))),1)=":")))
帶有數組條目的兩個公式( CTRL + SHIFT + ENTER )
如果我理解正確,您可以使用VBA這樣做,WrdArray會保留所有單詞,我們使用UBound來獲取數組中的最后一個單詞。
Public Sub Spl()
Dim WrdArray() As String
Dim text_string As String
text_string = Sheet1.Cells(2, 2)
WrdArray() = Split(text_string, ":")
x = WrdArray(UBound(WrdArray()))
Sheet1.Cells(2, 3) = x
End Sub
感謝simoco指出原始功能無效。
=RIGHT(B2; SEARCH(":";B2;1))
您還可以編寫包裝InstrRev
自己的UDF
Public Function InstrReverse(cell As Range, char As String) As Integer
InstrReverse = InstrRev(cell.Value, char)
End Function
然后(假設您的目標字符串在A1中),這將為您提供左側部分
=LEFT(A1,InstrReverse(A1,":")-1)
這會給你合適的部分
=RIGHT(A1,LEN(A1)-InstrReverse(A1,":"))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.