使用动态数组解析字符串

加里的学生

使用最近在Excel 365中引入的动态溢出数组,我编写了一个超级简单的公式来将字符串中的字符解析为单个单元格。例如,如果我有:

qwertyuiop $

A1中,我选择一个单元格并输入:

=MID($A$1,ROW(1:11),1)

公式溢出了:

在此处输入图片说明

这样可以避免输入=MID($A$1,ROWS($1:1),1)并向下手动复制。

我的问题是11号我使用11是因为我知道A1的长度是11。我想更改MID()公式以使其适应A1的长度,而不是重新键入公式。

我试过了:

=MID($A$1,ROW(1:LEN(A1)),1)

但这失败了。我当前的解决方法是:

=FILTER(MID($A$1,ROW(1:9999),1),MID($A$1,ROW(1:9999),1)<>"")

这似乎是使11成为变量的一种非常愚蠢的方式

我提供了VBA解决方案,但被拒绝了。

斯科特·克莱纳(Scott Craner)

使用SEQUENCE

=MID(A1,SEQUENCE(LEN(A1)),1)

在此处输入图片说明

SEQUENCE的优点是,如果您希望数组水平溢出,则只需使用:

=MID(A1,SEQUENCE(,LEN(A1)),1)

在此处输入图片说明


如果在行上设置,请使用:

=MID(A1,ROW($ZZ$1:INDEX($ZZ:$ZZ,LEN(A1))),1)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章