2016-10-28 14 views
0

"シート2"のテキストブロックから、より大きな "Sheet1"を参照して、クエリーを使用してメイクとモデルを整えようとしています。同時に、購入した平均価格と過去に何人購入したかを知ることもできます。Googleスプレッドシート用のSQLステートメントQUERY関数

On sheet1;購入したすべての商品の参照データベース。 Col1 =ブランド、Col2 =モデル等... Col5 =購入価格。ここでは、同じメイクとモデルのアイテムは、さまざまな時期にさまざまな価格で購入できます。

すなわちのCol1 Col2に... COL5

アップルiPad3 ... $ 600

アップルiPad3 ... $ 500

アップルiPad3 ... $ 400

Sheet2の、ありますサプライヤーからのカタログの内容.Col1は利用可能な製品の説明です。

セル(A5)の例を読むことができる

...

「少し損傷したボックスと新しいアップルiPad3」

B5が見つかりました。メイクの検索「アップル」を返します。 C5は

を見つけたモデル検索「iPad3」を返します

D5は、「$ 500」

E5は「3」

発見された数量を返しますが、検索配列で見つかった平均価格を返します

私が今経験している問題は、上記のすべてを(1つのモデルと平均価格と数量の両方を)単一のクエリ・パス内に共存させることができないということです。

このクエリは、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''") 

を埋めるモデル価格(最初のインスタンスのみを発見した)作りを返します。私たちが必要とするのは、上記の平均とカウントです。

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

感謝します。

答えて

1

集計しているディメンションによって出力がgroupになる必要があります。

=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)''" 
) 
+0

完璧に動作します。ロビンさん、ありがとうございました! – user1488934