質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

パラメータ

関数やプログラム実行時に与える設定値をパラメータと呼びます。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

Q&A

1回答

13915閲覧

エラー「関数 QUERY のパラメータ 2 のクエリ文字列を解析できません」

tokumei2021

総合スコア0

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

パラメータ

関数やプログラム実行時に与える設定値をパラメータと呼びます。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

0グッド

0クリップ

投稿2021/09/08 10:37

編集2021/09/08 11:52

前提・実現したいこと

他のスプレッドシートからクエリ関数をつかって情報を持ってきたいです。
1つのシートに2つ式を入れており、片方は上手くいくのですが、もう片方がエラーになります。

元のスプレッドの1つのシートに2項目質問内容があり、それぞれ質問の回答が空欄ではない行を引っ張ってこようとしております。
本日中に解消したいため、どなたか分かる方お願いいたします。

上手く表示される方(B8セルに入力)

=query({
query(importrange("引用元スプレッドID","関西1-1!B10:W"),"select Col1,Col2,Col3,Col4,Col5,Col6,Col7,Col8,Col9,Col10,Col11,Col12,Col13,Col14");
query(importrange("引用元スプレッドID","関西1-2!B10:W"),"select Col1,Col2,Col3,Col4,Col5,Col6,Col7,Col8,Col9,Col10,Col11,Col12,Col13,Col14");
query(importrange("引用元スプレッドID","関西1-3!B10:W"),"select Col1,Col2,Col3,Col4,Col5,Col6,Col7,Col8,Col9,Col10,Col11,Col12,Col13,Col14");
query(importrange("引用元スプレッドID","関西2-1!B10:W"),"select Col1,Col2,Col3,Col4,Col5,Col6,Col7,Col8,Col9,Col10,Col11,Col12,Col13,Col14");
query(importrange("引用元スプレッドID","関西2-2!B10:W"),"select Col1,Col2,Col3,Col4,Col5,Col6,Col7,Col8,Col9,Col10,Col11,Col12,Col13,Col14");
query(importrange("引用元スプレッドID","関西2-3!B10:W"),"select Col1,Col2,Col3,Col4,Col5,Col6,Col7,Col8,Col9,Col10,Col11,Col12,Col13,Col14");
query(importrange("引用元スプレッドID","関西3-1!B10:W"),"select Col1,Col2,Col3,Col4,Col5,Col6,Col7,Col8,Col9,Col10,Col11,Col12,Col13,Col14");
query(importrange("引用元スプレッドID","関西3-2!B10:W"),"select Col1,Col2,Col3,Col4,Col5,Col6,Col7,Col8,Col9,Col10,Col11,Col12,Col13,Col14");
query(importrange("引用元スプレッドID","関西3-3!B10:W"),"select Col1,Col2,Col3,Col4,Col5,Col6,Col7,Col8,Col9,Col10,Col11,Col12,Col13,Col14");
query(importrange("引用元スプレッドID","広域!B10:W"),"select Col1,Col2,Col3,Col4,Col5,Col6,Col7,Col8,Col9,Col10,Col11,Col12,Col13,Col14")
},"where Col14 is not null")

上手くいかない方(Y8セルに入力)

=query({ query(importrange("引用元スプレッドID","関西1-1!B10:BD"),"select Col24,Col26,Col27,Col28,Col29,Col30,Col31,Col32,Col33,Col34,Col35,Col36,Col37,Col38,Col39,Col40,Col41,Col42,Col43,Col44,Col45,Col46,Col47,Col48,Col49,Col50,Col51,Col52,Col53,Col54"); query(importrange("引用元スプレッドID","関西1-2!B10:BD"),"select Col24,Col26,Col27,Col28,Col29,Col30,Col31,Col32,Col33,Col34,Col35,Col36,Col37,Col38,Col39,Col40,Col41,Col42,Col43,Col44,Col45,Col46,Col47,Col48,Col49,Col50,Col51,Col52,Col53,Col54"); query(importrange("引用元スプレッドID","関西1-3!B10:BD"),"select Col24,Col26,Col27,Col28,Col29,Col30,Col31,Col32,Col33,Col34,Col35,Col36,Col37,Col38,Col39,Col40,Col41,Col42,Col43,Col44,Col45,Col46,Col47,Col48,Col49,Col50,Col51,Col52,Col53,Col54"); query(importrange("引用元スプレッドID","関西2-1!B10:BD"),"select Col24,Col26,Col27,Col28,Col29,Col30,Col31,Col32,Col33,Col34,Col35,Col36,Col37,Col38,Col39,Col40,Col41,Col42,Col43,Col44,Col45,Col46,Col47,Col48,Col49,Col50,Col51,Col52,Col53,Col54"); query(importrange("引用元スプレッドID","関西2-2!B10:BD"),"select Col24,Col26,Col27,Col28,Col29,Col30,Col31,Col32,Col33,Col34,Col35,Col36,Col37,Col38,Col39,Col40,Col41,Col42,Col43,Col44,Col45,Col46,Col47,Col48,Col49,Col50,Col51,Col52,Col53,Col54"); query(importrange("引用元スプレッドID","関西2-3!B10:BD"),"select Col24,Col26,Col27,Col28,Col29,Col30,Col31,Col32,Col33,Col34,Col35,Col36,Col37,Col38,Col39,Col40,Col41,Col42,Col43,Col44,Col45,Col46,Col47,Col48,Col49,Col50,Col51,Col52,Col53,Col54"); query(importrange("引用元スプレッドID","関西3-1!B10:BD"),"select Col24,Col26,Col27,Col28,Col29,Col30,Col31,Col32,Col33,Col34,Col35,Col36,Col37,Col38,Col39,Col40,Col41,Col42,Col43,Col44,Col45,Col46,Col47,Col48,Col49,Col50,Col51,Col52,Col53,Col54"); query(importrange("引用元スプレッドID","関西3-2!B10:BD"),"select Col24,Col26,Col27,Col28,Col29,Col30,Col31,Col32,Col33,Col34,Col35,Col36,Col37,Col38,Col39,Col40,Col41,Col42,Col43,Col44,Col45,Col46,Col47,Col48,Col49,Col50,Col51,Col52,Col53,Col54"); query(importrange("引用元スプレッドID","関西3-3!B10:BD"),"select Col24,Col26,Col27,Col28,Col29,Col30,Col31,Col32,Col33,Col34,Col35,Col36,Col37,Col38,Col39,Col40,Col41,Col42,Col43,Col44,Col45,Col46,Col47,Col48,Col49,Col50,Col51,Col52,Col53,Col54"); query(importrange("引用元スプレッドID","広域!B10:BD"),"select Col24,Col26,Col27,Col28,Col29,Col30,Col31,Col32,Col33,Col34,Col35,Col36,Col37,Col38,Col39,Col40,Col41,Col42,Col43,Col44,Col45,Col46,Col47,Col48,Col49,Col50,Col51,Col52,Col53,Col54") },
"where Col19 is not null")

発生している問題・エラーメッセージ

「関数 QUERY のパラメータ 2 のクエリ文字列を解析できません: NO_COLUMN: Col19」

試したこと

Col番号が間違っているのかと、前後の数字で試しましたがダメでした。
同一シートに2つの式は入れれないのかと思い、新規シートを作成して入力してもダメでした。
そもそも最後のwhereの後ろに入れるCol番号は、引用してきた後のシートの番号だと思うのですが、間違っているでしょうか?
(元データでは3行目でも、引っ張ってきて数式を入力した部分から2行目になるのであればCol2を指定)
この認識が間違っているとして、引用元のA1を1とすると43,B1を1とすると42になりますが、どちらも同じエラーでした。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mather

2021/09/08 11:19

Col14, Col19 でスプレッドシート内を文字列検索してみてください。 あと、「至急助けてください」は逆効果です。回答する気がなくなります。
tokumei2021

2021/09/08 11:35

アドバイスありがとうございます。件名を修正いたしました。 Ctrl+FにてCol14,Col19をそれぞれ検索しましたが、どちらも該当がございませんでした。
mather

2021/09/08 11:42

「関西1-1」シートにもありませんか?
tokumei2021

2021/09/08 11:48

はい、検索しましたが、該当がございませんでした。 「関西1-1」シートは引用したい元のスプレッドにあるシートなのですが、 こちらは回答を手入力することを目的としたシートのため、数式が入っておりません。
mather

2021/09/08 11:52

いえ、そちらのシートを引用して検索しているので、そちらのカラム名として設定されているかと思いました。
tokumei2021

2021/09/08 12:04

カラム名の設定というのは行っておらず、行の数で指定を行う認識でした。 上手く引用ができている"where Col14 is not null"の方も、特にカラム名の設定というのは行っておらず、 引っ張ってきた先の14行目にあたる項目が空欄かどうか判断したいため、Col14を記載しておりました。 上手く引用ができている方は、意図せずカラム名の設定ができているということでしょうか?
tokumei2021

2021/09/08 12:07

申し訳ございません、行き違いで投稿してしまいました。 いただいた回答をこれから試してみます。ありがとうございます。
sawa

2021/09/09 00:42

やたら長い式なんで、まずは式を分解してエラー検証することをお勧めします。 そもそも抽出している範囲と実際に欲しい範囲が合致していないので、式が煩雑で長くなっているように感じます。もう少し式を整理した方がよいかと。
guest

回答1

0

実験できるわけではないので推測ですが、
各シートのqueryにCol19を追加して

select Col19,Col24,Col26,Col27,Col28,Col29,Col30,Col31,Col32,Col33,Col34,Col35,Col36,Col37,Col38,Col39,Col40,Col41,Col42,Col43,Col44,Col45,Col46,Col47,Col48,Col49,Col50,Col51,Col52,Col53,Col54

最後のqueryで再度カラムを選択してはどうでしょうか?

select Col24,Col26,Col27,Col28,Col29,Col30,Col31,Col32,Col33,Col34,Col35,Col36,Col37,Col38,Col39,Col40,Col41,Col42,Col43,Col44,Col45,Col46,Col47,Col48,Col49,Col50,Col51,Col52,Col53,Col54 where Col19 is not null

投稿2021/09/08 11:56

mather

総合スコア6753

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tokumei2021

2021/09/08 12:22

ご回答ありがとうございます。 記載していただいた通り、各シートの一番前にCol19を入力したのですが、同じエラーが出てしまいました。 引っ張ってきたい元スプレッドの19行目と、持ってくるスプレッドの19行目の内容が違うのですが、 それは問題ないでしょうか? 元スプレッドのA列を1とした場合、43行目のデータを持ってくるスプレッドの19行目にしたいと思っております。 (式はB列からカウントするようにしております)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問