提问人:bvowe 提问时间:11/14/2023 最后编辑:Mayukh Bhattacharyabvowe 更新时间:11/15/2023 访问量:77
Excel 按字母大小写解析
Excel Parse by Casing of Letters
问:
HAVE WANT1 WANT2
CLStephen Five CL Stephen Five
RTQQuent Lou X RTQ Quent Lou X
我们的学校系统上有一个数据输入错误,我有 col 'HAVE',并希望将其分为 'WANT1' 和 'WANT2'
WANT1 = take the first n-1 CAPITAL letters
WANT2 = take the remaining letters
答:
1赞
Mayukh Bhattacharya
11/14/2023
#1
尝试使用以下公式:
• 细胞中使用的配方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,"|"),"|")
您也可以尝试使用一个会溢出的动态数组公式。注意:动态数组公式不适用于结构化引用
=DROP(REDUCE("",A2:A4, LAMBDA(α,φ, VSTACK(α,
TEXTSPLIT(REPLACE(φ,MIN(IFERROR(FIND(CHAR(SEQUENCE(26,,97)),φ),""))-1,0,"|"),"|")))),1)
0赞
Ron Rosenfeld
11/15/2023
#2
输入并填写: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)。LEFT
并使用该位置生成两个 sMID
WANT
要仅在单个单元格中输入公式并记下结果,您可以在 B2 中尝试:SPILL
=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
是数据范围
请注意,如果结果在表
中,这将不起作用,因为不允许 SPILL
的结果。但是,您可以在 B2
和 C2
中放置单独的公式,公式会自动溢出。如果您需要该配置,请告诉我。
评论