同一シート内で範囲を変更しながらQUERYする方法(Gスプレッドシート)

QUERY

Query関数の一覧

ご訪問ありがとうございます。

Googleシートマスターのひろしです。

前回

QUERY 年月日から日付データを取得し華麗にdateを使ったselect文を作成する
  • QUERY関数で日付データを取得する方法がわかります。
  • 年、月、日から日付データを作成する方法がわかります。
  • TEXT関数でQUERY関数におけるdateキーワードの指定方法がわかります。
  • 今回は、とっても価値の高い方法をお伝えします。


    これを知ることであなたは、

    • QUERYの範囲を入力しているセルに応じて変更する方法がわかります。
    • 今日の日付でフィルタリングする方法がわかります。

    なので、サクッとマスターして

    と答えてあげてください。

     

    これは、別シートで行えば簡単にできるのですが、一覧シート内で
    ちょっとメモ的な感じで今日登録したデータのカラムを指定して
    閲覧したいというものです。

     

    今日のデータから「端末ID」「シリアル番号」「現象」「備考」のみを抽出したい

     

     

    動画はこちら

    シートはこちら

    *クリックすることでシートが開きます。(コピーしてお使いください)

    ポイント

    QUERYの範囲を入力位置で変更する

     

    QUERYの第一引数(データ)は、データの範囲を指定します。

    QUERY(データ, クエリ, [見出し])

     

    この時、範囲を文字列で指定するためにINDIRECT関数を使用します。

     

    INDIRECT(セル参照の文字列, [A1 形式にする])

    QUERY(A1:L34)

    QUERY(INDIRECT(“A1:L34”))

    で指定できます。

    これで終わりの行にrow関数を指定すれば入力セルの直前の行を指定できます。

    ROW([セル参照])

    例)直前の行までを範囲にする場合

    QUERY(INDIRECT(“A1:L”&row()1&“”)

     

    今日の日付でフィルタリングする

    日付でフィルタリングするには

    Where A=date ‘2013-12-03’

    といった’yyyy-mm-dd’形式で指定する必要があります。

    なので一旦、今日の日付(today())をTEXT関数で’yyyy-mm-dd’形式にすればOKです。

    TEXT(today(),“yyyy-mm-dd”)

    これを、条件として連結します。

    例)

    QUERY(INDIRECT(“A1:L”&row()1&“”),“select C,D,H,L where A=date'”&TEXT(TODAY(),“yyyy-mm-dd”)&“‘”)

     

    最後までご覧いただきありがとうございます。

    つぎはこちら

    QUERY関数 でプルダウン月ごとのデータをソートして抽出する方法
  • QUERY関数でOR条件を指定する方法がわかります。
  • QUERY関数で複数の条件を指定する方法がわかります。
  • Query関数の一覧

    コメント

    タイトルとURLをコピーしました