0

我正在尝试使用 Query 通过引用更大的“Sheet1”来梳理“Sheet2”上的文本块中的 Make 和 Model。同时找出购买的平均价格以及过去购买了多少。

在sheet1上;所有购买商品的参考数据库。Col1 = 品牌,Col2 = 型号等...Col5 = 购买价格。在这里,可以在不同时间以不同的价格购买具有相同品牌和型号的物品。IE

Col1 Col2 ... Col5

苹果 iPad3 ... 600 美元

苹果 iPad3 ... 500 美元

苹果 iPad3 ... 400 美元

Sheet2 是供应商目录的内容,Col1 是可用产品的描述。

单元格 (A5) 的示例可以读取...

“新 Apple iPad3 的包装盒略有损坏”

B5 将返回找到的 Make 搜索“Apple”。

C5 将返回找到的模型搜索“iPad3”

D5 将返回在搜索数组“$500”中找到的平均价格

E5 将返回找到的数量“3”

我现在遇到的问题是,我无法让上述所有内容(制作模型和平均价格和数量)在单个查询过程中共存。

此查询插入 B5,其结果填充 B5、C5、D5...

=QUERY(Sheet1!A:F,"select A,B,F where A<>'' and B<>'' and '"&B5&"' contains A and 
'"&B5&"' contains B limit 1 Label A'', B'', F''")

...将返回 Make Model Price(仅第一个找到的实例)。我们需要的是上面的平均值和计数。

=QUERY(Sheet1!A:F,"select avg(F),count(F) where A<>'' and B<>'' and '"&A5&"' contains A 
and '"&A5&"' contains B label avg(F)'',count(F)''")

以上工作,在检索平均值和计数。但是,一旦我尝试同时获得品牌和模型,它就失败了……

=QUERY(Sheet1!A:F,"select A,B,avg(F),count(F) where A<>'' and B<>'' and 
'"&A5&"' contains A and '"&A5&"' contains B label A'',B'', avg(F)'',count(F)''")

提前谢谢了。

4

1 回答 1

1

您需要按要聚合的维度对输出进行分组。

=QUERY(Sheet1!A:F,
"select A,B,avg(F),
count(F) where A<>'' and B<>'' and '"&A5&"' contains A and '"&A5&"' contains B
group by A,B label A'',B'', avg(F)'',count(F)''"
)
于 2016-10-28T07:37:00.773 回答