簡體   English   中英

在Excel中拆分單元格

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM