0

我对 Google 表格还很陌生,并且对这些功能非常了解。我正在尝试创建一张表格来记录不同物品的买卖记录,然后生成一份报告,我可以在其中查看利润和剩余物品库存、平均买入/卖出价格等。这是样本表的链接以及什么我试过了。

请让我知道它是否可以实现,如果可以,我需要寻找什么,任何样本或链接以正确的方向学习以实现我想要得到的东西。附上屏幕截图以快速浏览。在此处输入图像描述 我使用的查询:-

=QUERY(A2:F9,"select A,B,Sum(C),Sum(E) group by A,B Label Sum(C) 'Total Quantity',Sum(E) 'Total Price'")

谢谢你。

PS。我之前也在 google 群组中发布过。如果我找到任何解决方案,我会将其链接回那里。

4

1 回答 1

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

然后它会确定它是报告中组的第一行、第二行还是第三行,并使用选择功能输入项目名称、空白单元格或单词“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),""),"")

在此处输入图像描述

(我不知道应该如何计算实际利润)。

于 2017-04-18T19:30:44.360 回答