0

这个问题是关于使用预定标准在谷歌电子表格中总结数据库。

我在 A1:B8 范围内有一个像这样的数据表

 A       B
-------------
310    890.00
210    875.00
100    849.00
80     845.00
70     842.00
61     842.00
60     841.00
53     825.50

我还有一个标准表,它指定要在合并表中使用的范围的边界。标准表如下所示。

START    END
------------
210      310
95       200
69       90
53       65

标准表独立于数据表派生如您所见,并非标准表中的所有值都存在于数据表中。

如何使用 ArrayFormula 使最终表格具有以下数据。

START    END    MAX    MIN       START VALUE    END VALUE
210      310    890    875       875            890
95       200    849    849       849            849
69       90     845    842       842            845
53       65     842    825.5     825.5          842

以下是用于计算MAXMINSTART VALUE和的起始公式END VALUE

MAX FORMULA

    INDEX(
      query(
        { ARRAYFORMULA(VALUE(table1!$A$1:$A$8)),
          ARRAYFORMULA(VALUE(table1!$B$1:$B$8)) },
        " select max(Col2) 
          where Col1>="& VALUE(table2!A2) &" and Col1<=" & VALUE(table2!B2) & 
        " label max(Col2) ''"
      ),
      1,
      1
    )

MIN FORMULA

    INDEX(
      query(
        { ARRAYFORMULA(VALUE(table1!$A$1:$A$8)),
          ARRAYFORMULA(VALUE(table1!$B$1:$B$8)) },
        " select min(Col2) 
          where Col1>="& VALUE(table2!A2) &" and Col1<=" & VALUE(table2!B2) & 
        " label min(Col2) ''"
      ),
      1,
      1
    )

START VALUE FORMULA

    INDEX(
      query(
        { ARRAYFORMULA(VALUE(table1!$A$1:$A$8)),
          ARRAYFORMULA(VALUE(table1!$B$1:$B$8)) },
        " select Col2 
          where Col1>="& VALUE(table2!A2) &" and Col1<=" & VALUE(table2!B2) & 
        " order by Col1 asc"
      ),
      1,
      1
    )


END VALUE FORMULA

    INDEX(
      query(
        { ARRAYFORMULA(VALUE(table1!$A$1:$A$8)),
          ARRAYFORMULA(VALUE(table1!$B$1:$B$8)) },
        " select Col2 
          where Col1>="& VALUE(table2!A2) &" and Col1<=" & VALUE(table2!B2) & 
        " order by Col1 desc"
      ),
      1,
      1
    )

这是可公开编辑的 google 表格的链接,上面有示例数据。

如何ARRAYFORMULA在 Google 表格中使用,以便为非常大的数据集自动填充详细信息。

我看过FILTERVLOOKUP。但由于并非标准表中的所有值实际上都在数据表中,因此我无法很好地利用它们的能力ARRAYFORMULA。请赐教。谢谢。

4

1 回答 1

0

不完全是你想要的,但更容易:

SO43427734 示例

E1 到 F9 被命名ArStart并用于 ColumnC 在:

=ArrayFormula(vlookup(A2:A,ArStart,2))

输出是通过数据透视表。

于 2018-02-28T02:06:44.010 回答