我有一张按日期自然排序的销售分录表。每个房产都可以有多个条目(取消被输入为负购买)。我的折磨是,我需要合并重复项,并仅对已签名标记行的乘积列求和。
其次,从一开始就不需要显示所有0值(如果0=取消,则通过对所有乘积列求和进行检查)。本质上,该列表必须按2个标准进行排序,然后相应地求和,以创建一个"活动帐户"表,可以从中提取更多数据。
第三,这一切都必须实时发生。添加销售额时,表应有效更新。
在理想的情况下,创建一个辅助列,如果"已签名",则汇总产品列,如果为0,则返回是/否,因为这迫使我使用视图仅显示活动帐户,而不是在表开始时动态发生这种情况。如果有必要的话,我想我可以走这条路,但希望你们能帮助我以某种方式指导我。
我将尽我所能说明我到目前为止所做的/尝试的:
Client Product 1 Product 2 Product 3 Status
AA 50 50 50 Signed
BB 0 0 50 Signed
AA 0 -50 0 Signed
CC 50 0 0 Signed
CC -50 0 0 Signed
BB 0 0 -50 Pending
AA 0 0 50 Signed
AA 0 0 50 Pending
根据以上数据,我的第二张表会是什么样子。
Client Product 1 Product 2 Product 3 Status
AA 50 0 100 Signed
BB 0 0 50 Signed
在这个时候,我只知道A1中的"=unique(client)"可以动态地获得一个唯一的列表,而不需要一个荒谬的公式。然后在状态列后面做一个if(sum($b2:$d2)=0,"no",yes)),然后用视图对其进行排序。我唯一的问题是"待定"销售被拉到我的表中。我试图通过在产品总和列中排序来解决这个问题。
=if(isblank(A3),,(sumif(client,A2,product1)))
这对我来说非常有效,但它不属于"已签名"待定"
我试过:
=if(isblank(Properties),,(IF(And(Properties=$A2,status="Signed"),SUM(SEO))))
但是我得到错误"找不到数组值。"
我真的很困惑下一步该采取什么措施来解决这个问题。
这类报告可以使用QUERY函数生成:
=QUERY(QUERY(A:E,"select A, sum(B), sum(C), sum(D), E where E = 'Signed' group by A, E label sum(B) 'Product 1', sum(C) 'Product 2', sum(D) 'Product 3'",1),"select * where Col2 != 0 or Col3 != 0 or Col4 != 0",1)
这里有两个嵌套的QUERY;内部的一个对每个"签名"的客户端的值求和,外部的一个排除任何没有t至少一个非零求和值的客户端。
在新的GOOGLE SPREDSHEETS中,我不得不将逗号改为分号:
以这种方式对我有效:
=QUERY(QUERY(A:E;"选择A,sum(B),sum,sum(D)'乘积3'";1);"select*where Col2!=0或Col3!=0或Col4!=0";1)