如何从 excel 中的单元格中获取所有大写字符?
How to Get all uppercase characters from cell in excel?
我要所有大写字母 ..
就像,
凯西·理查德·奥马尔 W= CROW ,...
次元石加工=PDS
喜欢所有大写字母或简称
听起来您正在寻找 =UPPER()
公式
使用以下公式---
=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","")," ","")
您可以使用正则表达式来做到这一点
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)
如果你有 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
的公式。
看来这个问题更多的是关于如何创建一个简称,名字的首字母。
如果是这种情况,请尝试以下公式:
= 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 ), "" ),
分别#
表示字数
如果任何单词包含字符 ‡
,只需将其更改为任何其他不常见的字符。
如果你想避免使用 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";"");"æ";"");"ø";"");"å";"");"á";"");"ç";"");"é";"");"í";"");"ó";"");"ú";"");"-";"");" ";"")
我要所有大写字母 ..
就像,
凯西·理查德·奥马尔 W= CROW ,...
次元石加工=PDS
喜欢所有大写字母或简称
听起来您正在寻找 =UPPER()
公式
使用以下公式---
=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","")," ","")
您可以使用正则表达式来做到这一点
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)
如果你有 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
的公式。
看来这个问题更多的是关于如何创建一个简称,名字的首字母。
如果是这种情况,请尝试以下公式:
= 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 ), "" ),
分别#
表示字数
如果任何单词包含字符 ‡
,只需将其更改为任何其他不常见的字符。
如果你想避免使用 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";"");"æ";"");"ø";"");"å";"");"á";"");"ç";"");"é";"");"í";"");"ó";"");"ú";"");"-";"");" ";"")