0
此問題涉及使用預定標準在Google電子表格中彙總數據庫。在帶有多重和有界條件的查詢上使用ArrayFormula
我有一個數據表像這樣在範圍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
)
這裏是link到公開編輯谷歌片與在其上的樣本數據。
如何在Google表格中使用ARRAYFORMULA
,以便詳細信息將自動填充爲大型數據集。
我看了看FILTER
和VLOOKUP
。但由於並非條件表中的所有值實際上都在數據表中,所以我無法利用它們與ARRAYFORMULA
良好配合的能力。請賜教。謝謝。
我還沒有找到與arrayformula的方式,但是你可以簡化你現有的查詢。例如max可以通過以下方式獲得:= query(table1!$ A $ 1:$ B $ 8,「select max(B)where A> =」&table2!A2&「and A <=」&table2!B2&「label最大(B)「'」) –