我在用什么
我有一个产品名称列表,但不幸的是,它们都是大写的。我现在只想将第一个字母大写,其余字母小写,但我还希望所有包含3个或更少符号的单词都保持大写
我尝试如果功能,但没有什么是真正的工作
我使用德语excel版本,但我会很高兴,如果有人有任何想法如何做,我尝试不同的功能几个小时,但没有任何工作
=IF(LENGTH(C6)<=3,UPPER(C6),UPPER(LEFT(C6,1))&LOWER(RIGHT(C6,LENGTH(C6)-1)))
但这是一个#NAME错误,excel无法识别第一个和最后一个括号
2条答案
按热度按时间wh6knrhe1#
太难了!听我解释:
1.我确实相信有一些德语单词在4个字符以下,你应该排除。我的德语不是很好,但可能会有大量的单词在4个字符以下;
1.似乎有长度超过3个字符的子字符串,但可能应保持大写,例如"550E/ER";
1.似乎有相当多的字符可以用作分隔符来将输入内容分割成"单词",如果没有完整的列表,很难捕捉到其中的任何一个;
1.可能的其他原因;
考虑到以上这些,我认为可以肯定地说,我们可以尽我们所能去完成你想要的事情。因此,我建议
例如:
B1
中的公式:你可以看到捕捉每一种可能性是多么困难;
关键是,这不仅仅是困难,对于您当前正在处理的数据类型,如果不是不可能的话,也是极其困难的!即使您精通编写正则表达式(如果您愿意,可以插入所有(Excel不可用的)标记、量词和方法),我怀疑是否可以涵盖所有边缘情况。
p1iqtdky2#
因为你要在一个单元格中处理任意数量的单词,所以你需要巧妙地处理这个问题,幸好有
TEXTSPLIT()
和TEXTJOIN()
可以快速地将文本拆分成单词,然后我们可以测试长度,改变大小写,然后在一个公式中将它们重新连接起来:还使用了
PROPER()
公式,它只大写一个单词的第一个字符。