我有这些看起来像这样的字符串。
NAME,"SAM"
NAME,"ADAM"
NAME,"ALEXANDER"
NAME,"SARAH"
我只需要实际的名字。例如,第一行的“SAM”。如何剪切我不需要的其他部分?使用什么功能?提前谢谢!
答案 0 :(得分:0)
试试这个 -
=IFERROR(RIGHT(E9, FIND(",", E9, 1)), E9)
其中E9是一个示例单元格。
基本上我们正在搜索逗号(,),然后在文本的右侧。
你在写VBA代码吗?
在这种情况下使用以下内容 -
splitString= Split(<cellValue>, ",")
这将尝试根据指定的分隔符拆分字符串并返回值数组。
编辑2:
Dim splitString() As String
splitString = Split(Range("F9").Value, ",")
If (UBound(splitString) > 0) Then
Range("G9").Value = splitString(1)
End If
答案 1 :(得分:0)
尝试以下任何一项:
使用Split Function
(评估是可选的):
Dim mystring
mystring = Split([Sheet1!B2], ",")
[Sheet1!C2] = mystring(UBound(mystring))
括号[]
是Evaluate Function
的捷径
所以它也可以这样写:
mystring = Split(Evaluate("Sheet1!B2"), ",")
Evaluate("Sheet1!C2") = mystring(UBound(mystring))
使用Right Function
加InStr or InStrRev
加Len
(评估是可选的):
[Sheet1!D2] = Right([Sheet1!B2], InStr([Sheet1!B2], ",") - Len([Sheet1!B1]))
Evaluate
是可选的。您可以将其更改为传统Range object
,例如Range("B2")
希望这有帮助。
哦,你问了语法,见下文:
Split(Expression As String,[Delimiter],[Limit As Long],[Compare As VbCompareMethod])
Len(Text)
Right(Text, [number of characters])
InStr([Start],[String1(where to search)], _
[String2(what to search)],[Compare As VbCompareMethod])
Evaluate(Name)
Ubound(array) / Lbound(array)