【问题标题】:How to create multiple sequences of varying lengths with arrayformula如何使用 arrayformula 创建多个不同长度的序列
【发布时间】:2021-10-27 05:51:44
【问题描述】:

假设我在 A 列中有 3 个值的列表。值的数量是任意的,所以可以有更多。比如:

 |A|B
-+-+-
1|4|
2|2|
3|3|

在 B 列中,我想得到一个序列,其中包括增加序列,其长度与 A 列中给出的值的长度相同。所以上面的例子是:

The expected sequences:
4 = 1,2,3,4
2 = 1,2
3 = 1,2,3

The expected table:

  A|B
---+-
1|4|1
2|2|2
3|3|3
4| |4
5| |1
6| |2
7| |1
8| |2
9| |3

我目前通过在 B1 中具有以下功能来实现此目的:={SEQUENCE(A1);SEQUENCE(A2);SEQUENCE(A3)} 但正如您所见,如果我要向 A 列添加另一个值,我需要修改所述功能。如何动态实现这一点?

【问题讨论】:

    标签: google-sheets google-sheets-formula formula


    【解决方案1】:

    另一种方法(用于谷歌表格)。在B1

    =Arrayformula(transpose(split(textjoin("~", 1, if(column(1:1)<=A1:A, column(1:1),)), "~")))
    

    【讨论】:

    • 这似乎可以解决问题。但是,如果我有一个带有“”的“空”字段,它会给我一个序列,只要文档中有列。通过将其留空来修复它。不是问题,但需要注意。
    【解决方案2】:

    假设您的数据从 A2 开始,然后使用以下公式:

    =ARRAYFORMULA( transpose( split( join("\", LEFT(join( "\", COLUMN(offset($A$1,,,,max($A2:$A))) ), offset($A$2,,,COUNT($A2:$A))*2-1) ) ,"\") ) )
    

    在单元格 B2 中。请注意,如果您的数字 >= 10,则必须特别注意 text( ... ,"00") 和 *2 --> *3 等等,因此如果您期望 >=100...

    【讨论】:

      猜你喜欢
      • 2020-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-06
      • 1970-01-01
      • 1970-01-01
      • 2022-01-15
      • 1970-01-01
      相关资源
      最近更新 更多