我找不到實現你想要的佈局簡潔明快的方式,但你可以使用指數拉出基於行和列包含像這樣的公式,從您的查詢的行和列(第一列)
=if(int(rows($1:3)/3)<=countunique($A$2:$A$9),choose(mod(rows($1:3),3)+1,index(QUERY($A$2:$F$9,"select A,B,Sum(C),Sum(E) group by A,B Label Sum(C) 'Total Quantity',Sum(E) 'Total Price'") ,int(rows($1:3)/3)*2,1),"","Total"),"")
然後它的作品了無論是在報告中一組的第一,第二或第三排,並使用選擇功能放在項目名稱,一個空白單元格或單詞「總」。
第二列在同一類的工作方式
=if(int(rows($1:3)/3)<=countunique($A$2:$A$9),if(mod(rows($1:3),3)<2,index(QUERY($A$2:$F$9,"select A,B,Sum(C),Sum(E) group by A,B Label Sum(C) 'Total Quantity',Sum(E) 'Total Price'") ,int(rows($1:3)/3)*2+mod(rows($1:3),3),2),""),"")
第一個MOD函數是用來工作,如果它應該顯示從查詢「B」或「S」,或一個空白,第二個Mod函數確定它是否應該是查詢的「b」或「s」行。
第三列也類似於
=if(int(rows($1:3)/3)<=countunique($A$2:$A$9),if(mod(rows($1:3),3)<2,index(QUERY($A$2:$F$9,"select A,B,Sum(C),Sum(E) group by A,B Label Sum(C) 'Total Quantity',Sum(E) 'Total Price'") ,int(rows($1:3)/3)*2+mod(rows($1:3),3),3),L11-L12),"")
第一MOD函數是用來工作,如果它應該顯示從查詢的數量,或前兩行的差,和所述第二MOD函數確定它應該是查詢的「b」還是「s」行。
第四列是幾乎相同的第二個。
=if(int(rows($1:3)/3)<=countunique($A$2:$A$9),if(mod(rows($1:3),3)<2,index(QUERY($A$2:$F$9,"select A,B,Sum(C),Sum(E) group by A,B Label Sum(C) 'Total Quantity',Sum(E) 'Total Price'") ,int(rows($1:3)/3)*2+mod(rows($1:3),3),4),""),"")
(我不能工作了實際溢利應如何計算)。
而是添加公式爲圖像,把它們作爲文本(通常在格式化代碼可以幫助提高可讀性)。看起來你需要使用數據透視表。 –
Thanks @Rubén我已經附上了示例錶鏈接,並且已針對文本中的查詢進行了更新。我也嘗試了支點,但無法按照我想要的方式得到它,可能是我缺乏知識。 – rain
您可以使用INDEX從您的查詢中抽出一行,根據您在結果表中的哪一行。也許稍後再看看它。 –