QUERY関数で最新の値や最大値を取得する方法(Gスプレッドシート)

QUERY

Query関数の一覧

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

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

前回

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


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

    • 関数で日付データが最新のデータを取得することができます。
    • QUERY関数で最大値を取得することができます。

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

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

    質問のあった動画
    VLOOKUPで左側の 値を取得する方法(Gスプレッドシート)
    配列の基本が理解できます。 VLOOKUP関数のみで左側の値を取得することができます。

     

    動画はこちら

    Googleスプレッドシート QUERY関数で最新の値を取得する方法 max limit

    シートはこちら

    ※クリックするとシートが開きます。

    ポイント

    テスト実施日を降順で並べ替えて、先頭の行を取得すればいいですね。

     

    Aさん(G3)の直近のテストの国語、数学、理科を取得する

    Aさん(G3)                  Where メンバー=G3

    国語、数学、理科         select C,D,E

    テスト実施日を降順で並べ替える  order by B desc

    order by 行を列の値で並べ替えます。

    desc 降順

    直近                           limit  1

    limit 返される行数を制限します。

     

     

    すべて連結すると

    =QUERY($A$3:$E$16,”select C,D,E where A='”& G3 &”‘ order by B desc limit 1″)

    となります。

     

     

     

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

    つぎはこちら

    QUERY関数で値を集計する方法(VLOOKUPより使える)
    QUERY関数を使って値の集計ができるようになります。 count,sum,max,minなどいろいろできます。

    Query関数の一覧

    コメント

    1. 匿名 より:

      「Google Spreadsheet QUERY SQL 最新行」でたどり着きました。
      とても素晴らしい情報のご提供、ありがとうございます!

      質問なのですが、
      Aさん、Bさん、Cさん、・・・と人が決まっているときは良いのですが、
      佐藤さん、鈴木さん、山本さん、木下さん・・・、などなど、などなど

      随時、人が増えたりしていて、人が固定で決められない場合に、良い方法はないでしょうか?
      事例同様に。人単位で、最新のデータのみを抽出したいのですが。

      イメージでは、毎月変わる、アルバイト時給の最新の時給のみを表示したいのです。
      時給が変わるごとに、過去の時給も履歴的に保管しつつ、追記していっています。

      どうぞよろしくお願いいたします。

      • hiroshi より:

        匿名さんコメントありがとうございます。

        文字情報だけでは、なかなか難しいので
        シートを提供いただき、シート内にどういう条件の場合、
        どうしたいのかを具体的に提示いただければ、
        回答できるかもしれません。

        よろしくお願いいたします。

        • 匿名 より:

          ご返答、ありがとうございます!
          1年以上前の記事ですし、まさか、お返事いただけるとは思っていませんでした。
          ありがとうございます!

          質問させていただくために、シートをいじっていたら、自己解決できました。
          この記事がなかったらできませんでした!誠にありがとうございます!

          一言でいうと、Aさん、Bさん、・・・の部分を、決め打ちしたくなかったということになります。
          結局、「A,B,C,D,E」と縦に並んでいる行をunique()関数を用いることで、解決できました。
          ありがとうございます!(表中央)

          さらに、人が増えた時に、行を追加しなくていいようにしたかったのですが、
          limitだとわからず、Vlookupでできました(表右)

          https://docs.google.com/spreadsheets/d/1DC4zOCGHxZqPGnGcJOEh7DKGqIjvt2oo-HujouoBUBU/edit?usp=sharing

          お騒がせしました。
          ありがとうございます!!

          • hiroshi より:

            自己解決されたそうですね。
            質問するために内容を整理しているとできてしまう。
            私もよくあります^^
            シートの提供ありがとうございます。
            動画で使わせていただくかもしれません。

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