92512

[code]

    month,day,count
    10  1   5
    10  2   6
    11  3   7
    11  4   8
    
[/code]

のような日付ごとの数字データが有って  
これを月ごとの最大値を記録した行を出力したいです

求める結果

[code]

    10  2   6
    11  4   8
    
[/code]

１０月は２日に６  
１１月は４日に８  
と言う感じです

* * *

月と最大値だけ表にするのは

[code]

    =query(A:C,"select A, max(C) where A IS NOT NULL group by A", false)
    
[/code]

[code]

        max     
    10  6
    11  8
    
[/code]

とかでできるんですがその最大値を取る日付も出力するのはどうすればできるでしょうか

<https://qiita.com/nogitsune413/items/f413268d01b4ea2394b1>  
SQL だとサブクエリとJOINしたりしてできそうなんですが  
スプレッドシートでもやる方法ってありますか？

* * *

あるいは = query の結果を１列目と３列目のように間をあけて出力することはできないでしょうか

日付は lookup なりを使えば別にうめることはできそうなんですが  
query 結果が前２列にうまってしまうので  
間の２列目に日付を入れたいです


CC BY-SA 4.0
2022-11-28T09:53:25.280
92481
2022-11-30T06:03:31.177
question
google-spreadsheet
指定列が最大値の行を出力したい


下記のようなサンプルはいかがでしょうか。

### Sample formula:

[code]

    =BYROW(UNIQUE(FILTER(A2:A,A2:A<>"")),LAMBDA(R,SORTN(QUERY(A2:C,"SELECT * WHERE A="&R),1,0,3,FALSE)))
    
[/code]

  * 列AからUnique値を取得し、それを使用してグループごとにソートを行い、列Cが最大値の行を取得する流れです。

### Testing:

表示されている表がヘッダ込みでセル A1:C5 の場合、例えば、セルE2へ上記の式を入れると、下記のような結果が得られます。

[![画像の説明をここに入力](https://i.stack.imgur.com/GA0RC.png)](https://i.stack.imgur.com/GA0RC.png)

### References:

  * [BYROW](https://support.google.com/docs/answer/12570930)
  * [LAMBDA](https://support.google.com/docs/answer/12508718)
  * [SORTN](https://support.google.com/docs/answer/7354624)


CC BY-SA 4.0
2022-11-30T06:03:31.177
92512
2022-11-30T06:03:31.177
19460
92481
answer