首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >复制/复制数据行

复制/复制数据行
EN

Stack Overflow用户
提问于 2020-06-09 20:42:41
回答 1查看 23关注 0票数 0

我有这样的一排:

代码语言:javascript
复制
Alex
Bob
Chris

我需要一个函数为每一行创建三行,如下所示:

代码语言:javascript
复制
Alex
Alex
Alex
Bob
Bob
Bob
Chris
Chris
Chris

我怎么能这么做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-09 23:23:30

我相信你的目标如下。

  • 您希望使用内置函数实现以下转换。
代码语言:javascript
复制
- From

亚历克斯·鲍勃·克里斯

-至

亚历克斯鲍勃克里斯

为了这个,这个答案怎么样?

样本公式:

代码语言:javascript
复制
=ARRAYFORMULA(TRANSPOSE(SPLIT(TEXTJOIN("#",TRUE,SUBSTITUTE("###","#",A1:A3&"#")),"#")))
  • 上述公式的流程如下。
代码语言:javascript
复制
1. Create the base 3 rows using `SUBSTITUTE("###","#",A1:A3&"#")` as a string.  
    - For example, `Alex` becomes `Alex#Alex#Alex#`.

代码语言:javascript
复制
1. Merge each string of each source rows using `TEXTJOIN`.  
    - For example, `Alex, Bob, Chris` becomes `Alex#Alex#Alex##Bob#Bob#Bob##Chris#Chris#Chris#`.

代码语言:javascript
复制
1. Split the string using `SPLIT`.  
    - By this, each value is put to each cell.

代码语言:javascript
复制
1. Transpose the values using `TRANSPOSE`.  
    - By this, the result value can be retrieved.

  • 在这种情况下,=TRANSPOSE(ARRAYFORMULA(SPLIT(TEXTJOIN("#",TRUE,SUBSTITUTE("###","#",A1:A3&"#")),"#")))也可以检索相同的结果。

结果:

注意:

  • 如果源值包括#,请修改为其他字符。
  • 在这种情况下,当许多行被转换时,可能会发生与限制相关的错误。所以请小心点。

参考文献:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62291504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档