88570


A | B  
---|---  
key | value  
1 | o  
2 | x  
1 | x  
1 | o  
  
というテーブルがあったときに

key | o | x  
---|---|---  
1 | o | 2  
1 | x | 1  
2 | o | 0  
2 | x | 1  
  
という感じの結果が得たいです

[code]

    =QUERY(A3:B, "SELECT A, B, count(B) WHERE B IS NOT NULL GROUP BY A, B ORDER BY count(B) DESC")
    
[/code]

のように単純に２列で集計してしまうと以下のようにすべて縦に並んでしまいます

[code]

            count 
    1   o   2
    1   x   1
    2   x   1
    
[/code]

１つ１つ countif 文でセル１個１個指定すればできるとは思うんですが  
単独クエリで一気にやる方法はないでしょうか


CC BY-SA 4.0
2022-04-10T07:48:58.400
88250
2022-04-29T14:43:17.613
question
google-spreadsheet
２つのカラムで集計して２つ目のカラムを横に並べたい


単純ではないですが、元のデータの下にarrayformulaで全パターンの配列を作成したものを結合させて、最後のqueryで空欄排除と countしたものを
-1

[code]

    =Query({A1:B;
    ARRAYFORMULA((SPLIT(FLATTEN(unique(A2:A)&"_"&transpose(unique(B2:B))),"_",,FALSE)))},
    "select Col1,Col2,count(Col2)-1 where Col1 is not null and Col2 is not null 
    group by Col1,Col2")
    
[/code]


CC BY-SA 4.0
2022-04-29T14:43:17.613
88570
2022-04-29T14:43:17.613
52409
88250
answer