需要帮助解决将文章标题转换为正确大小写的公式

需要帮助解决将文章标题转换为正确大小写的公式

我有一份文章标题列表,其中一些有正确的标点符号,而另一些则没有。我尝试使用以下公式:

=IF(OR(A1="a",A1="of",A1="and",A1="to",A1="for",A1="an",A1="the",A1="nor",A1="but",A1="as",A1="if",A1="or",A1="so",A1="yet",A1="at",A1="by",A1="in",A1="on",A1="per",A1="up",A1="via"),A1,(IF(LOWER(A1)=A1,PROPER(A1),A1)))

将适当的单词大写。它运行良好,只是会将全部大写的单词更改为仅大写的单词,例如将“IIb”更改为“Iib”,将“PF”更改为“Pf”。可以修复此问题吗?

谢谢!

答案1

根据您尚未分享的细节数量,有几种方法可以采用。

仅将首字母大写

如果您的目标只是确保所有单词都以大写字母开头,并且不影响单词中的其余字符,则无需测试大小写。

采取1从第 st 个字符开始计数左边并强迫它案件:

    = UPPER(LEFT(A1,1)) 

获取从正确的通过减去1来自单词 gth:

    = RIGHT(A1,LEN(A1)-1)

组合公式以返回更新的(或未更新的)单词,其中首字母大写:

    = UPPER(LEFT(A1,1)) & RIGHT(A1,LEN(A1)-1)

使用列表来纠正大写

如果由于单词的特殊性而需要进行大量自定义(例如首字母缩略词与名词),您可以对公式进行类似操作,但只需构建一个可接受术语的表格,然后根据此列表替换单词即可。在公式之外维护列表允许您更新列表,而无需更新公式、对其进行排序等。由于 Excel 默认匹配字符串(忽略大小写)和返回字符串(匹配大小写)的方式,您甚至不需要配对,只需一个列即可。

表名: 单词表
列名称:

单词表

那么公式将是:

    =INDEX(WordList[Words],MATCH(A1,WordList[Words],0),)

结合两种方法

如果您想要将除 WordList 中的单词之外的每个单词的首字母大写,则可以将公式组合在条件语句中。由于 Index/Match 语句在没有匹配项时始终会出错,因此我们可以使用 IFERROR 语句来利用该错误,如果出现错误,该语句会更改行为:

    =IFERROR(INDEX(WordList[Words],MATCH(A1,WordList[Words],0),),
             UPPER(LEFT(A1,1))&RIGHT(A1,LEN(A1)-1))

相关内容