【问题标题】:Excel - function to convert first letter of each word to uppercaseExcel - 将每个单词的第一个字母转换为大写的函数
【发布时间】:2018-11-10 00:22:11
【问题描述】:

我正在寻找将每个单词的首字母转换为大写(仅此而已)的公式。知道怎么做吗? 例如: “我的 WAA 任务”应转换为“我的 WAA 任务” 我找到了 PROPER 函数,但它也将所有其他字母转换为小写(所以它给了我“我的 Waa 任务”),但我不需要这个

【问题讨论】:

  • 如果您想单独使用工作表公式,则需要 Excel 2016 和 Office 365 订阅。你有那个版本吗?

标签: excel excel-formula


【解决方案1】:

两种方法,

公式,仅适用于 Office 365 或更高版本:

=TEXTJOIN(" ",,UPPER(LEFT(TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",99)),(ROW($A$1:INDEX($A:$A,LEN(A1)-LEN(SUBSTITUTE(A1," ",""))+1))-1)*99+1,99)),1)) & MID(TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",99)),(ROW($A$1:INDEX($A:$A,LEN(A1)-LEN(SUBSTITUTE(A1," ",""))+1))-1)*99+1,99)),2,99))

这是一个数组公式,必须用 Ctrl-Shift-enter 确认,而不是 enter。


UDF,可用于旧版本。

Function fLetter(str As String) As String
    Dim strarr() As String
    strarr = Split(str)

    Dim i As Long
    For i = LBound(strarr) To UBound(strarr)
        strarr(i) = UCase$(Left$(strarr(i), 1)) & Mid$(strarr(i), 2)
    Next i
    fLetter = Join(strarr, " ")
End Function

然后调用:

=fLetter(A1)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-16
    • 2010-12-28
    • 1970-01-01
    • 2020-10-06
    • 1970-01-01
    • 1970-01-01
    • 2021-04-30
    相关资源
    最近更新 更多