仅连接大写字母?

Dan*_*iel 5 excel excel-formula

在 Excel (2021) 中,我有一个包含单词的单元格:

all Upper case LeTters supposed to be In result
Run Code Online (Sandbox Code Playgroud)

我需要结果:

ULTI
Run Code Online (Sandbox Code Playgroud)

如果没有 VBA(即纯 Excel 函数),我该如何做到这一点?

我搜索过,但“大写”和“连接”函数都导致连接并变为大写,而不是相反:连接 IF 大写。

虽然我找到了一个,但它看起来相当丑陋,我认为(希望)有更好的解决方案:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE
(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE
(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE
(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE
(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE
(SUBSTITUTE(SUBSTITUTE(txt,"a",""),"b",""),"c",""),"d",""),"e",""),
"f",""),"g",""),"h",""),"i",""),"j",""),"k",""),"l",""),"m",""),"n",""),"o",""),
"p",""),"q",""),"r",""),"s",""),"t",""),"u",""),"v",""),"w",""),"x",""),"y",""),
"z","")," ","")
Run Code Online (Sandbox Code Playgroud)

Jvd*_*vdV 10

在 ms365 中,尝试:

\n

在此输入图像描述

\n

B1\xe2\x80\xa1中的公式:

\n
=CONCAT(TEXTSPLIT(A1,TEXTSPLIT(A1,CHAR(ROW(65:90)),,1)))\n
Run Code Online (Sandbox Code Playgroud)\n

\xe2\x80\xa1如果除了大写字母之外不存在任何单个字符,则会抛出错误。在这种情况下,只需向内部添加除大写字母之外的尾随字符TEXTSPLIT(),例如:=CONCAT(TEXTSPLIT(A1,TEXTSPLIT(A1&"a",CHAR(ROW(65:90)),,1)))

\n
\n

对于 Excel 2021:

\n
=LET(x,MID(A1,SEQUENCE(LEN(A1)),1),CONCAT(IF((CODE(x)>64)*(CODE(x)<91),x,"")))\n
Run Code Online (Sandbox Code Playgroud)\n