如何从 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";"");"æ";"");"ø";"");"å";"");"á";"");"ç";"");"é";"");"í";"");"ó";"");"ú";"");"-";"");" ";"")