質問: ### 前提・実現したいこと | 列C | 列D | 列E | | --- | --- | --- | | 1匹目 | 2匹目 | 3匹目 | | トゲキッス | ギャラドス | カイリキー | | メタグロス | カビゴン | カイリュー | | トゲキッス | メタグロス | カビゴン | | トゲキッス | ラグラージ | メタグロス | googleスプレットシートを用いて 以上のような表に対して、query関数で出現数を集計して出現数の多い順に出力したいです。 ### 発生している問題・エラーメッセージ | 出現ポケモン | 出現数 | | --- | --- | | メタグロス | 3 | | カビゴン | 2 | | トゲキッス | 2 | | カイリキー | 1 | | カイリュー | 1 | | ギャラドス | 1 | | ラグラージ | 1 | 本来はトゲキッスも三体で同率一位のはずなのですが、一番左上のセルが集計から外れているようです。 ### 該当のソースコード ``` =query({C2:C500;D2:D500;E2:E500},"select Col1,count(Col1) where Col1 is not null group by Col1 order by count(Col1) desc label Col1 '出現ポケモン',count(Col1) '出現数'",1) ``` ### 試したこと 集計の上のセルを空白にした場合は正常に集計されました。(左上が空白となり、その部分はやはり集計されていないのでしょうけど) ただそれだと1匹目の表題がつけられず、ちょっと不格好になります。 1セル目の集計部分だけダミーを含めてC1まで集計も試しました。 ``` =query({C1:C500;D2:D500;E2:E500},"select Col1,count(Col1) where Col1 is not null group by Col1 order by count(Col1) desc label Col1 '出現ポケモン',count(Col1) '出現数'",1) ``` これですと一番左上の一匹目が集計から外れるので一応希望通りの動きとなるのですが何か正しい方法ではないきがするので 原因と正しい方法を知りたいです。
回答: Query関数の 最後の部分、`'出現数'",1)` の1は タイトル行の指定です。 1だと範囲の1行目はタイトル行ですよという意味になります。 そうすると範囲として指定している `{C2:C500;D2:D500;E2:E500}` の 1行目 = トゲキッス の部分が集計から除外されてしまいます。 なので、書き方としては 範囲をすべて2行目からにして、タイトル行の指定の部分を 0 もしくは記述無しとするのが良いかと。 ``` =query({C2:C500;D2:D500;E2:E500},"select Col1,count(Col1) where Col1 is not null group by Col1 order by count(Col1) desc label Col1 '出現ポケモン',count(Col1) '出現数'") ```