いまさら聞けないExcelの使い方講座
【Excel】返品リストで製品不良の原因の数が多い順にデータを並べ替えるには?
2025年8月20日 06:55
データの出現順に並べ替えたい!
表のデータを並べ替える場合、数値の大小や五十音順などが定番ですよね。しかし、実務では「どの項目がいちばん多いのか」を知りたい場面も少なくありません。
例えば、以下は製品の不良理由をまとめた表です。「動作不具合」「梱包不良」「納期遅れ」と入力されていますが、この列を五十音順で並べ替えてもあまり意味はありません。
このように、どれが最も多いのかをランキングしたい時に役立つのが、COUNTIF関数とSORTBY関数の組み合わせです。件数を数えるCOUNTIFと、それを基準に並べ替えるSORTBYを組み合わせることで、「出現回数順のランキング」を簡単に作成できます。
COUNTIF関数でデータの数を数える
まずは、COUNTIF関数を使って「不良理由」の件数を数えましょう。ここでは、スピルを利用して、以下のような数式をセルD2に1つ入力するだけでデータの件数を求めます。
=COUNTIF(C2:C21,C2:C21)
引数[範囲]も[検索条件]も同じ「C2:C21」なので、違和感があるかもしれませんが、スピルを利用する場合はこのように記述できます。数式をコピーしないため、[範囲]を絶対参照にする必要もありません。
SORTBY関数で降順に並べ替える
それぞれの値に対応する件数が見えており、ほとんど結論は出ていますが、さらに一歩進めて並べ替えたいところです。SORTBY関数を使います。データのセル範囲と並べ替えの基準とするセル範囲を指定して、データを並べ替えられます。

ここでは、SORTBY関数を使って以下のように入力します。
=SORTBY(A2:C21,D2#,-1)
「D2#」はスピル範囲演算子と呼ばれ、セルD2に入力されているスピルの結果を指します。つまり、ここではCOUNTIF関数の結果であるセルD2~D21を指します。引数[並べ替え順序]は「-1」としているので、降順です。