这个问题是关于使用预定标准在谷歌电子表格中总结数据库。
我在 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
以下是用于计算MAX
、MIN
、START 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 表格中使用,以便为非常大的数据集自动填充详细信息。
我看过FILTER
和VLOOKUP
。但由于并非标准表中的所有值实际上都在数据表中,因此我无法很好地利用它们的能力ARRAYFORMULA
。请赐教。谢谢。