QUERY¶
種類: Google スプレッドシート互換関数
データに SQL クエリを実行します(テーブル名: EGTOOLS)。
構文¶
=QUERY(データ, クエリ, [見出し行数])
引数¶
| 引数 | 必須 | 説明 |
|---|---|---|
| データ | 必須 | クエリ対象の範囲または配列 |
| クエリ | 必須 | SQL 文、例 "SELECT F1, SUM(F2) FROM EGTOOLS GROUP BY F1" |
| 見出し行数 | 省略可能 | 見出し行数: N≥1 で上位 N 行がフィールド名、0 なし(F1, F2, …)、-1/省略 自動判定 |
戻り値¶
SQL の実行結果を 2 次元配列(値の行のみ、見出し行なし)としてスピルで返します。data/query の欠落や空のクエリは #VALUE!、結果行がない場合は #N/A となり、ADO/ACE プロバイダーのエラー・一時 CSV の書き込み失敗は "ERROR: …" テキストとして返されます。
例¶
| 数式 | 結果 | 説明 |
|---|---|---|
=QUERY(A1:C10,"SELECT F1, SUM(F3) FROM EGTOOLS GROUP BY F1",0) |
データにより異なります |
解説¶
- Google Query Language ではなく ACE テキストドライバー + ADO ベースの SQL を使用し、テーブル名は EGTOOLS です(クエリ内の EGTOOLS は自動的に EGTOOLS#csv に置換)。
- 列名は headers で指定したヘッダー行のテキスト、なければ F1、F2、… です(headers: N≥1=上の N 行がフィールド名、0=なし、省略/-1=自動推定)。
- データを %TEMP%\EGTOOLS.csv に書き込んでから照会するため Microsoft ACE OLEDB(12.0/16.0) プロバイダーが必要で、共用の一時ファイルを使用するためマルチスレッド再計算からは除外されます。
- 対応: Excel 2010+。すべての Excel バージョンで
QUERYの名前のまま登録されます。