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

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

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

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

Q&A

解決済

1回答

4112閲覧

スプレッドシートのクエリ関数(Query(IMPORTRANGEを使用した際のエラー)

afuzisan

総合スコア14

Google スプレッドシート

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

0グッド

0クリップ

投稿2021/04/13 06:58

編集2021/04/13 07:10

他のスプレッドシート(A)を参照し、クエリ関数(Query(IMPORTRANGE)を使い、BスプレッドシートのA列にある日付をwhereしてAスプレッドシートのキャンセル列にあるデータをBスプレッドシートに表示したいのですが、数式解析エラーが出てしまいできません。

該当のソースコード

=Query(IMPORTRANGE("シートID","キャンセル!$A$18024:D"),select D where A = date '"&text(A366,"YYYY-MM-DD")&"'"),"")")

エラー表示

「数式の解析エラーです」と出てきてしまいます。

やりたいこと

↓このようなAスプレッドシートのデータを参照して
|日付   |第3四半期 |週番号 |キャンセル
|2020/12/20| 第3四半期|51 | 5
|2020/12/21| 第3四半期|51 | 0
|2020/12/22| 第3四半期|51 | 7

↓Bスプレッドシートに「7」だけ表示させたいです。
|日付   |キャンセル
|2020/12/22| 7

AスプレッドシートのD列にある「7」だけをBスプレッドシートに表示させたいです。

試したこと

=iferror(query('キャンセル'!$A$18024:D,"select D where A = date '"&text(A7,"YYYY-MM-DD")&"'"),"")

=Query(IMPORTRANGE("シートID","キャンセル!$A$18024:D"),"where Col1 = '' ",true)

queryやIMPORTRANGEの書き方が間違ってると思い個別に書いてみました。
どちらも正常に機能したのですが、合体させると動きませんでした。

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

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

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

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

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

sawa

2021/04/14 01:35 編集

とりあえず質問でエラーとなっている式ですが、括弧の数が合ってないです。まずはそこの修正を。
afuzisan

2021/04/14 04:51 編集

修正依頼ありがとうございます。助かります。 =Query(IMPORTRANGE("シートID","日経平均株価!$A$18024:D"),select D where A = date '"&text(A366,"YYYY-MM-DD")') 直してみましたが、同じエラーがでてしまいます。 他に気づいた点があれば教えていただければ嬉しいです。
guest

回答1

0

ベストアンサー

複雑な式を作った場合は、1つずつ解決していくしかないです。

  • 質問文の式

=Query(IMPORTRANGE("シートID","キャンセル!$A$18024:D"),select D where A = date '"&text(A366,"YYYY-MM-DD")&"'"),"")")

  • 括弧の数を揃える

=Query(IMPORTRANGE("シートID","日経平均株価!$A$18024:D"),select D where A = date '"&text(A366,"YYYY-MM-DD")')

  • Query内の "(ダブルクォート) と & を見直す (selectの前の "がなくて最後も閉じれてないです)

=Query(IMPORTRANGE("シートID","日経平均株価!$A$18024:D"),"select D where A = date '"&text(A366,"YYYY-MM-DD")&"'")

  • 列の指定を A,Dではなく Col1,Col4 に修正(importrangeで参照した時はこっち)

=Query(IMPORTRANGE("シートID","日経平均株価!$A$18024:D"),"select Col4 where Col1 = date '"&text(A366,"YYYY-MM-DD")&"'")

投稿2021/04/14 04:07

編集2021/04/14 05:14
sawa

総合スコア3002

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

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

afuzisan

2021/04/14 05:13 編集

sawa様ありがとうございます!できました! 困っていたので助けていただいて頭が下がる思いです。 最後の&"'")が何故こうなるのか分からないので調べてみたいと思います。 大変恐縮なのですが、シートIDを間違えて載せてしまったので、そこの部分を修正していただけると助かります・・・。申し訳ありません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問