答案 0 :(得分:1)
如果你想避免使用 VBA,@Harun24HR 的解决方案是一个凌乱但非常有效的解决方案。 这是一个为有需要的人提供额外特殊字符的版本:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE([@Navn],"a",""),"b",""),"c",""),"d",""),"e",""),"f",""),"g",""),"h",""),"i",""),"j",""),"k",""),"l",""),"m",""),"n",""),"o",""),"p",""),"q",""),"r",""),"s",""),"t",""),"u",""),"v",""),"w",""),"x",""),"y",""),"z",""),"æ",""),"ø",""),"å",""),"á",""),"ç",""),"é",""),"í",""),"ó",""),"ú",""),"-","")," ","")
用;而不是 ,(适用于其他语言的 Excel 安装):
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE([@Navn];"a";"");"b";"");"c";"");"d";"");"e";"");"f";"");"g";"");"h";"");"i";"");"j";"");"k";"");"l";"");"m";"");"n";"");"o";"");"p";"");"q";"");"r";"");"s";"");"t";"");"u";"");"v";"");"w";"");"x";"");"y";"");"z";"");"æ";"");"ø";"");"å";"");"á";"");"ç";"");"é";"");"í";"");"ó";"");"ú";"");"-";"");" ";"")
答案 1 :(得分:0)
使用以下公式---
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"a",""),"b",""),"c",""),"d",""),"e",""),"f",""),"g",""),"h",""),"i",""),"j",""),"k",""),"l",""),"m",""),"n",""),"o",""),"p",""),"q",""),"r",""),"s",""),"t",""),"u",""),"v",""),"w",""),"x",""),"y",""),"z","")," ","")
答案 2 :(得分:0)
您可以使用正则表达式执行此操作
Sub ExampleRegExp()
Dim RegExp As Object
Dim str As String
str = "Casey Richard Omar W"
Set RegExp = CreateObject("vbscript.regexp")
With RegExp
.Global = False
.IgnoreCase = False
.Pattern = "([a-z]+)|(\s)"
Do While .test(str) = True
str = .Replace(str, vbNullString)
Loop
MsgBox str
End With
End Sub
或将其用作UDF
Function GetUpperCase(str As String) As String
Dim RegExp As Object
Set RegExp = CreateObject("vbscript.regexp")
With RegExp
.Global = False
.IgnoreCase = False
.Pattern = "([a-z]+)|(\s)"
Do While .test(str) = True
str = .Replace(str, vbNullString)
Loop
GetUpperCase = str
End With
End Function
在A2
我已输入=GetUpperCase(A1)
答案 3 :(得分:0)
如果你有Excel 2016,其中包含有用的函数CONCAT
,那么你可以使用这个数组公式:(为了可读性添加了换行符)
= CONCAT(MID(A1,MODE.MULT(IF(ABS(CODE(MID(A1,
COLUMN(INDEX(1:1,1):INDEX(1:1,LEN(A1))),1))-77.5)<13,
COLUMN(INDEX(1:1,1):INDEX(1:1,LEN(A1)))*{1;1})),1))
否则,正如已经提供的那样,VBA或带有一堆SUBSTITUTE
的公式是必需的。
答案 4 :(得分:0)
似乎这个问题更多的是关于如何使用名称的首字母创建一个短名称。
如果是这种情况,请尝试以下公式:
= CONCATENATE( LEFT( $A1 ),
IFERROR( MID( $A1, 1 + SEARCH( "‡", SUBSTITUTE( $A1, " ", "‡", 1 ) ), 1 ), "" ),
IFERROR( MID( $A1, 1 + SEARCH( "‡", SUBSTITUTE( $A1, " ", "‡", 2 ) ), 1 ), "" ),
IFERROR( MID( $A1, 1 + SEARCH( "‡", SUBSTITUTE( $A1, " ", "‡", 3 ) ), 1 ), "" ),
IFERROR( MID( $A1, 1 + SEARCH( "‡", SUBSTITUTE( $A1, " ", "‡", 4 ) ), 1 ), "" ) )
如果名称超过四个单词,则可以添加更多行,例如:
IFERROR( MID( $A1, 1 + SEARCH( "‡", SUBSTITUTE( $A1, " ", "‡", # ) ), 1 ), "" ),
#
代表单词编号
如果任何单词包含字符‡
,只需将其更改为任何其他不常见的字符。
答案 5 :(得分:-3)
听起来像是在寻找=UPPER()
公式