【问题标题】:Is there a good aggregate equivalent for Google Sheets with the large function?具有大功能的 Google 表格是否有一个很好的聚合等效项?
【发布时间】:2019-05-24 09:56:02
【问题描述】:

我尝试编写一个基于数据库的简单随机化器,用于随机组合数据。这在 Excel 中可以正常工作,但在 Google 表格中却不行,因为没有 aggregat

我已经尝试过LARGEMAX,但它没有随机化,而且使用 SUBTOTAL 也不起作用。我以为它也可以基于ROW,但也许我有一个错误的概念。

excel中的代码是这样的(我用的是德文版的Excel,不过应该是英文版的)

=TEXTJOIN(" ";TRUE;INDIRECT("A"&ROUNDUP(RAND()*AGGREGAT(14;4;(A:A<>"")*ROW(A:A);1);0));INDIRECT("B"&ROUNDUP(RAND()*AGGREGAT(14;4;(B:B<>"")*ROW(B:B);1);0));INDIRECT("C"&ROUNDUP(RAND()*AGGREGAT(14;4;(C:C<>"")*ROW(C:C);1);0)))

正如我提到的,没有aggregat,我查找的其他解决方案对我不起作用。

【问题讨论】:

  • 这是一个文档,您可以在其中查找docs.google.com/spreadsheets/d/… 预期输出应该是一个随机句子(这里是德语)
  • 你想从这些列中随机抽取一个单元格吗? (A, B, C) 这就是你所追求的吗?
  • 是的,以随机句子创建的方式
  • 所以你想从 3 列中随机选择 3 个单元格并创建一个句子?
  • 我想在每一列中随机选择一个单元格,以得到一个由每一列的一个随机单词组成的完整句子。

标签: random google-sheets aggregate google-sheets-formula textjoin


【解决方案1】:

在 Google 表格中,有多个公式可以模仿 AGGREGATE,例如 QUERYFILTERVLOOKUPHLOOKUPLOOKUPINDEX/MATCH任务中提到的哪个最适合。


=INDEX(INDIRECT("A1:A"&COUNTA(A1:A)); RANDBETWEEN(1; COUNTA(A1:A)))


=INDEX({INDIRECT("A1:A"&COUNTA(A1:A))\
        INDIRECT("B1:B"&COUNTA(B1:B))\
        INDIRECT("C1:C"&COUNTA(C1:C))}; RANDBETWEEN(1; COUNTA(A1:A)))


={INDEX(INDIRECT("A1:A"&COUNTA(A1:A)); RANDBETWEEN(1; COUNTA(A1:A)))\
  INDEX(INDIRECT("B1:B"&COUNTA(B1:B)); RANDBETWEEN(1; COUNTA(B1:B)))\
  INDEX(INDIRECT("C1:C"&COUNTA(C1:C)); RANDBETWEEN(1; COUNTA(C1:C)))}


=INDEX({INDIRECT("A1:A"&COUNTA(A1:A));
            INDIRECT("B1:B"&COUNTA(B1:B));
            INDIRECT("C1:C"&COUNTA(C1:C))}; RANDBETWEEN(1; COUNTA(A1:C)))


=JOIN(" "; {PROPER(
 INDEX(INDIRECT("A1:A"&COUNTA(A1:A)); RANDBETWEEN(1; COUNTA(A1:A))))\
 INDEX(INDIRECT("B1:B"&COUNTA(B1:B)); RANDBETWEEN(1; COUNTA(B1:B)))\
 INDEX(INDIRECT("C1:C"&COUNTA(C1:C)); RANDBETWEEN(1; COUNTA(C1:C)))})&"."

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-26
    • 2020-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-12
    相关资源
    最近更新 更多