在 Excel 2011 中获取 CHAR 函数返回多个字符

在 Excel 2011 中获取 CHAR 函数返回多个字符

我在 Mac 上使用 Office 2011。

我正在尝试编写一个公式来从单元格中的文本中删除小写字符(最好还有空格,但这并不重要)。目的是将姓名转换为首字母;因此“Jane”将变成“J”,“DeLacy”将变成“DL”,“Mary-Anne”将变成“MA”,“Anna Elise”将变成“AE”。

到目前为止,我有这个(假设名称在 B2 中),用于剥离小写字符:

=SUBSTITUTE(B2,CHAR(ROW(97:122)),"")

但是,这只会删除“a”(因此“Jane”变为“Jne”)。问题似乎是 CHAR 函数只返回第一个字符,而不是指定的范围:

=CHAR(ROW(97:122))

返回“a”。

也是

=CHAR(ROW(INDIRECT("97:122")))

我如何让它返回整个范围以便删除所有小写字符?

答案1

考虑使用小驅動已定义F涂油礼(UDF)

Public Function LowerKiller(sIn As String) As String
    Dim L As Long, LL As Long
    Dim sCh As String, temp As String
    For L = 1 To Len(sIn)
        sCh = Mid(sIn, L, 1)
        If sCh Like "[a-z]" Or sCh = " " Then
        Else
            temp = temp & sCh
        End If
    Next L
    LowerKiller = temp
End Function

相关内容