如果一个电子表格单元格包含一个由带连字符的一系列字符段组成的字符串,我需要提取第四段。
例如,考虑列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表格中使用的公式。
答案 0 :(得分:2)
非常简单...... MID 是正确的功能:
= MID(A1; 10; 3)
其中:
优点:
缺点:
答案 1 :(得分:1)
一种方法是使用以下通用宏(在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
方法。