繁体   English   中英

Google Sheets COLUMN TOP ArrayFormula 计算 ROW wise 这需要 ROW-wise ArrayFormula

[英]Google Sheets COLUMN TOP ArrayFormula to calculate ROW wise which require ROW-wise ArrayFormula

参考链接如下。

本质上是为了获得每个术语重复 X 次的几何级数。

工作表上的正确结果是使用跨行的 ArrayFormula 获得的。 这需要按列复制公式。

我想要的是列顶部的单个 ArrayFormula,它按行计算结果(如所示)。 我在表格上的尝试失败了。

工作表链接

样品表上的新选项卡称为 MK.Help。 该公式位于单元格 E1 中。

它使用我(和其他一些人可能)称之为查询 header smush 的东西。 它利用 query() 的内置能力来连接多个 header 行。 它将转置数组提供给查询,然后通过将 QUERY() 的第三个参数设置为一个非常大的数字来假装整个事情都是 header 行。 这个技巧很常见,使用 9^9 或 9^99,这只是一种非常简洁的写非常大数字(9 的 99 次方)的方法。

=ARRAYFORMULA(
  IF(
    ROW(A:A) = 1,
      "Result",
      TRANSPOSE(
        SUBSTITUTE(TRIM(
          QUERY(TRANSPOSE(
            REPT(
              IF(
                SEQUENCE(1,MAX(C:C),0) > C:C,,
                  ROUND(A:A * B:B ^ SEQUENCE(1,MAX(C:C),0)) & CHAR(10)
              ),
              D:D
            )
          ),, 9^9)
        ), CHAR(10), ",")
      )
  )
)

与 Matt 的解决方案相同,唯一的区别是重复是使用正则表达式完成的。

试试这个(在表kishkin上):

=ARRAYFORMULA(
  IF(
    A2:A = "",,
      REGEXREPLACE(
        REGEXREPLACE(
          TRANSPOSE(QUERY(TRANSPOSE(
            IF(
              SEQUENCE(1, MAX(C2:C)) > C2:C,,
                ROUND(A2:A * B2:B ^ SEQUENCE(1, MAX(C2:C),)) & ","
            )
          ),, MAX(C2:C))),
          "[^,\s]+,?",
          REPT("$0", D2:D)
        ),
        "\s+|,\s*$",
      )
  )
)

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM