我想在 MS Excel 中制作一个相当于 MS Word 的句子大小写,经常能够将 Excel 文本字符串从全大写转换为句子大小写(无需自学 VBA)。
我执行此操作的单参数公式是 =(LEFT(B3) & MID(LOWER(B3),2,LEN(LOWER(B3))))。
(我见过使用 Excel 工作表作为函数但这并不是我所寻求的。)
我可以创建一个函数,使我能够简单地引用包含全大写字符串的单元格,例如 =Sentence(B3) 吗?
谢谢你的想法/建议
答案1
如果您是 Excel O365 订阅者,LAMBDA() 函数专门用于执行确切地你正在尝试什么。
您将进入名称管理器并创建一个名称Sentence
。在“引用”字段中,您将输入:
=Lambda(a, LEFT(a) & MID(LOWER(a),2,LEN(LOWER(a))))
我个人将其简化为:
=Lambda(a, LEFT(a) & LOWER(RIGHT(a,LEN(a)-1)))
无论哪种情况,=Sentence(B3)
都会提供您想要的结果。但是——这确实需要 O365 Excel 的新功能。如果您不是 O365 客户,您的替代方案是定义一个宏,但这会产生可能对您的用例不利的影响。
答案2
=(LEFT(B3) & MID(LOWER(B3),2,LEN(LOWER(B3))))
适用于所有 Excel 变体/版本的缩写形式
=LEFT(B3,1) & LOWER(MID(B3,2,1000))
- LEFT() 的第二个参数是强制性的。
- MID() 的最后一个(第三个)参数可以是任意多余的数字,以保留字符串中可用的字符
(有趣的是,LibreOffice:POWER(2,31)-2
可以工作,POWER(2,31)-1
但不能)。 - LOWER() 仅需使用一次。