从数据

时间:2017-04-17 10:34:54

标签: google-sheets google-query-language

我对Google表格很新,并且对这些功能非常了解。我试图创建一张表来记录不同商品的买/卖,然后生成一份报告,我可以看到库存中的利润和剩余商品,平均买入/卖出价格等。这里是一个链接到sample sheet以及我尝试过的事情。

请告诉我是否可以实现,如果是,我需要寻找,任何样本或链接,以正确的方向学习,以达到我想要的目的。附上屏幕截图以便快速浏览。enter image description here 我使用的查询: -

  

= QUERY(A2:F9,"选择A,B,Sum(C),Sum(E)组按A,B标签总和(C)'总数量',Sum( E)'总价格'")

谢谢。

PS。我之前在谷歌小组发布了它。如果我找到任何解决方案,我会把它链接回来。

1 个答案:

答案 0 :(得分:1)

我无法找到一种简单而简洁的方法来实现您想要的布局,但您可以使用Index从查询中提取行和列,其中包含类似此公式的行和列(对于第一列)

=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"),"")

然后确定它是报告中组的第一行,第二行还是第三行,并使用“选择”功能放入项目名称,空白单元格或单词“#34; Total&#34;”。

第二栏以同样的方式运作

=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函数用于计算是否显示&#34; b&#34;或&#34; s&#34;从查询或空白,第二个Mod函数计算出它是否应该是&#34; b&#34;或&#34; s&#34;查询的一行。

第三栏也是类似的

=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函数计算出它是否应该是&#34; b&#34 ;或&#34; s&#34;查询的一行。

第四栏几乎与第二栏相同。

=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),""),"")

enter image description here

(我无法计算如何计算实际利润)。