如果電子表格單元格包含由連字符序列組成的字符串,則需要提取第四個分段。如何將數據從一個單元格提取到另一個單元格
例如,考慮包含數據字符串的列A,如XX-XXX-X- G10 -XX-XXX,其中X表示任何字符。我需要在B列中放置什麼公式才能獲得G10?
A B
1 XX-XXX-X-G10-XX-XXX G10
我正在尋找可以在Libre Office Calc,Open Office Calc,MS Excel或Google表格中使用的公式。
如果電子表格單元格包含由連字符序列組成的字符串,則需要提取第四個分段。如何將數據從一個單元格提取到另一個單元格
例如,考慮包含數據字符串的列A,如XX-XXX-X- G10 -XX-XXX,其中X表示任何字符。我需要在B列中放置什麼公式才能獲得G10?
A B
1 XX-XXX-X-G10-XX-XXX G10
我正在尋找可以在Libre Office Calc,Open Office Calc,MS Excel或Google表格中使用的公式。
這是非常簡單... MID是正確的功能:
= MID(A1; 10; 3)
其中:
優點:
缺點:
的一種方法是使用下面的通用的宏(在LibreOffice的測試):
Function SplitAndExtract(findIn As String, delims As String, _
Optional segment_param As Integer)
' findIn - string or cell to search in
' delims - the delimiters to split the string up by
' segment - which segment number to grab
If IsMissing (segment_param) Then
segment = 0
Else
segment = segment_param
End If
splits = Split(findIn, delims)
If UBound(splits) < segment - 1 Then
SplitAndExtract = "No result for that segment"
MsgBox "No result for that segment"
Exit Function
Else
SplitAndExtract = splits(segment)
End If
End Function
然後設置單元公式:
=SPLITANDEXTRACT(A1, "-", 3)
這類似於到我的回答你的另一個問題:https://stackoverflow.com/a/38085634/5100564。感謝@Ralph提出的Split
方法。
如果您想要一個可變大小的字符串,請使用我的公式。 – Ralph