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

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

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

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

Q&A

解決済

1回答

2367閲覧

スプレッドシートで、グループごとに上位3位までを表示する

kuraris

総合スコア10

Google スプレッドシート

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

0グッド

0クリップ

投稿2021/06/23 03:05

前提・実現したいこと

Googleスプレッドシートのquery関数で、グループごとに上位3位までを表示したいです。

RACEAGE
cat0
dog8
rabbit2
dog5
cat2
rabbit4
rabbit3
cat1
rabbit6
dog4
cat12
dog0

これを種族ごとに年齢が若い上位3位を表示したいです。

RACEAGE
cat0
cat1
cat2
dog0
dog4
dog5
rabbit2
rabbit3
rabbit4

現状のソースコード

ひとつのquery関数で表示したいのですが、やり方が分からず、
現状はWHERE句で種族を指定して、種族の数だけquery関数を書いています。

=QUERY($A$1:$B,"select A,B where A = '"&A1&"'order by B desc limit 3")

種族の数が大幅に増えることになり、今のままではとても対応出来ないため、
何卒お力添えをよろしくお願い致します。

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

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

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

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

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

guest

回答1

0

ベストアンサー

Query関数だけでは無理ですね。

以下のステップで可能です。

  1. sort関数を使いグループごとの降順にデータを並び替える
  2. countif関数(またはArryaformula+countifs)で、グループ毎に大きい順に1,2,3,4...と番号を振る
  3. 最後にqueryで2でわり振った番号が3以下のものだけ抽出

頑張れば一つの式で書けそうですが、作業列か作業シートを使った方が簡単です。

投稿2021/06/23 04:23

編集2021/06/23 04:24
sawa

総合スコア3002

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

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

kuraris

2021/06/23 06:15

query関数のみでは出来ないのですね。 提示して頂いた方法で、上手くいきました。 普段は非表示にする作業用のシートを作成することにしました。 ありがとうございました!
sawa

2021/06/23 06:28

自分で回答しておいてナンですが、言葉足らずでわかりにくいかもと思ってましたので、解決に至ったようでなによりです。 一応、後でみる人もいるかもなので、直でいける式を記載しときますね。 ={A1:B1;QUERY(ARRAYFORMULA(IF(A2:A="",,{COUNTIFS(INDEX(SORT(A2:B,1,true,2,false),,1),INDEX(SORT(A2:B,1,true,2,false),,1),ROW(A2:A),"<="&ROW(A2:A)),SORT(A2:B,1,true,2,false)})),"select Col2,Col3 where Col2 is not null and Col1 <= 3")}
kuraris

2021/07/01 08:23 編集

ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問