Excel中字母大小写解析

ylamdve6  于 2023-11-20  发布在  其他
关注(0)|答案(2)|浏览(96)
HAVE            WANT1   WANT2
CLStephen Five  CL      Stephen Five
RTQQuent Lou X  RTQ     Quent Lou X

字符串
有一个数据输入错误,我们的学校系统,我有一个col '有',并希望将其分为'想要1'和'想要2'

WANT1 = take the first n-1 CAPITAL letters
WANT2 = take the remaining letters

xzv2uavs

xzv2uavs1#

尝试使用以下公式:
x1c 0d1x的数据
·单元格B2中使用的公式

=LET(α, LEFT(A2,MIN(IFERROR(FIND(CHAR(SEQUENCE(26,,97)),A2),""))-2), HSTACK(α,SUBSTITUTE(A2,α,)))

字符串
公式只需要填写下来,因为它会溢出的权利!
或者,尝试将以下公式与TEXTSPLIT()一起使用



·单元格B2中使用的公式

=TEXTSPLIT(REPLACE(A2,MIN(IFERROR(FIND(CHAR(SEQUENCE(26,,97)),A2),""))-1,0,"|"),"|")


你也可以尝试使用一个单一的动态数组公式,这将溢出。注意动态数组公式不适用于**Structured References**


=DROP(REDUCE("",A2:A4, LAMBDA(α,φ, VSTACK(α, 
 TEXTSPLIT(REPLACE(φ,MIN(IFERROR(FIND(CHAR(SEQUENCE(26,,97)),φ),""))-1,0,"|"),"|")))),1)

am46iovg

am46iovg2#

输入B2并填写:

=LET(
    lc, CHAR(SEQUENCE(26, , 97, 1)),
    split, MIN(FIND(lc, A2 & TEXTJOIN(, , lc))) - 2,
    HSTACK(LEFT(A2, split), MID(A2, split + 1, 99))
)

字符串

  • lc生成所有小写字母的序列。
  • split查找第一个大写字母并减去2。
  • LEFTMID使用该位置生成两个WANT


的数据
要在一个单元格中输入公式,并将结果SPILL记录下来,您可以在B2中尝试:

=LET(
    d, $A$2:$A$3,
    lc, CHAR(SEQUENCE(26, , 97, 1)),
    split, BYROW(
        d,
        LAMBDA(arr,
            MIN(FIND(lc, arr & TEXTJOIN(, , lc))) - 2
        )
    ),
    HSTACK(
        LEFT(d, split),
        MID(d, split + 1, LEN(d) - split)
    )
)

  • d是数据范围
  • 请注意,如果您的结果是在Table中,这将不起作用,因为不允许SPILL的结果。但是,您可以将单独的公式放在B2C2中,公式将自动溢出。如果您需要该配置,请告诉我。*

相关问题