此问题涉及使用预定标准在Google电子表格中汇总数据库。
在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工作表的link及其上的示例数据。
如何在Google表格中使用ARRAYFORMULA
,以便为非常大型数据集自动填充详细信息。
我查看了FILTER
和VLOOKUP
。但由于并非条件表中的所有值实际上都在数据表中,因此我无法利用它们与ARRAYFORMULA
良好协作的能力。请赐教。感谢。