如果电子表格单元格包含由连字符序列组成的字符串,则需要提取第四个分段。如何将数据从一个单元格提取到另一个单元格
例如,考虑包含数据字符串的列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