【SMALL関数】使い方と解説 ※同順位の際の注意点

目次
はじめに
本記事では、LARGE関数に関して、取り上げます。
Excel 2007以降のバージョンで使用可能です。ただし、Excel 2003以前のバージョンでは使用できません。
SMALL関数は、小さい方から数えた順位の値を返すことができ、多くの場合、ランキングや統計処理に利用されます。
記事『【LARGE関数】使い方と解説 ※同順位の際の注意点』でLARGE関数を取り上げましたが、SMALL関数はLARGE関数と逆の意味になります。
Excelなどの表計算ソフトウェアでデータ処理を行う際には、SMALL関数を上手に活用することで、より効率的にデータ解析を行うことができます。
具体的には、「ワースト3」なとを求めるとき等に活用します。
SMALL関数に関して
SMALL関数の機能
説明
指定されたデータの中で、k 番目に小さなデータを返します。 この関数を使用して、データ セット内の特定の相対位置にある値を返します。
LARGE 関数 – Microsoft サポート
SMALL関数は、数値データの中から、小さい方から数えた順位の値を返すことができます。
SMALL関数の文法
型
=SMALL(<span data-color="#0693e3" style="background: linear-gradient(transparent 60%,rgba(6, 147, 227, 0.7) 0);" class="vk_highlighter">配列</span>,<span data-color="#f78da7" style="background: linear-gradient(transparent 60%,rgba(247, 141, 167, 0.7) 0);" class="vk_highlighter">順位</span>)
Code language: HTML, XML (xml)
配列から、小さい方から数えた順位の値を返します。
Excelの[関数の引数]ダイアログの設定から、SMALL関数の文法は知ることができます。
関数を使用する際には、Excelの[関数の引数]ダイアログに沿って進めると、エラーが発生しづらいです。

引数
なお、下記は、Microsoft社公式の『SMALL 関数 – Microsoft サポート』よりデータ分析ドットコムが改変したものです。
- 配列:必ず指定。 対象データが入力されているセル範囲または配列を指定
- 順位:必ず指定。小さい方から数えた順位を数値で指定。
小さい方から数えた順位を指定する点は注意してください。
SMALL関数の名前は、「小さい方から数えた順位を指定」という“SMALL(=小さい)”から由来していると考えております。
つまり、指定されたデータの中から、指定された順位に対応する値を抽出します。
SMALL関数の使用例
「同順位の値が存在しないケース」と同順位の値が存在するケース」の2つの使用例を確認してみます。
同順位の値が存在しないケース
次のサンプルデータのように、
A1からA10までのセルに数値データが格納されている場合に、3番目に小さい値を求める場合には、以下のようにSMALL関数を使います。
同順位の値が存在しないサンプルデータになります。
セル番地 | 値 |
---|---|
A1 | 10 |
A2 | 8 |
A3 | 15 |
A4 | 6 |
A5 | 20 |
A6 | 7 |
A7 | 13 |
A8 | 9 |
A9 | 14 |
A10 | 11 |
=SMALL(<span data-color="#0693e3" style="background: linear-gradient(transparent 60%,rgba(6, 147, 227, 0.7) 0);" class="vk_highlighter">A1:A10</span>,<span data-color="#f78da7" style="background: linear-gradient(transparent 60%,rgba(247, 141, 167, 0.7) 0);" class="vk_highlighter">3</span>)
Code language: HTML, XML (xml)
=SMALL(A1:A10,3)という関数を使用すると、A1からA10の中で3番目に小さい値を取得できます。
つまり、8が返されます。
同順位の値が存在するケース
1からA6までのセルに数値データが格納されている場合に、3番目に小さい値を求める場合には、以下のようにSMALL関数を使います。
同順位の値が存在するサンプルデータになります。
セル番地 | 値 |
---|---|
A1 | 10 |
A2 | 20 |
A3 | 30 |
A4 | 30 |
A5 | 40 |
式1: =SMALL(<span data-color="#0693e3" style="background: linear-gradient(transparent 60%,rgba(6, 147, 227, 0.7) 0);" class="vk_highlighter">A1:A10</span>,<span data-color="#f78da7" style="background: linear-gradient(transparent 60%,rgba(247, 141, 167, 0.7) 0);" class="vk_highlighter">1</span>) -> 10
Code language: HTML, XML (xml)
式2: =SMALL(<span data-color="#0693e3" style="background: linear-gradient(transparent 60%,rgba(6, 147, 227, 0.7) 0);" class="vk_highlighter">A1:A10</span>,<span data-color="#f78da7" style="background: linear-gradient(transparent 60%,rgba(247, 141, 167, 0.7) 0);" class="vk_highlighter">2</span>) -> 20
Code language: HTML, XML (xml)
式3: =SMALL(<span data-color="#0693e3" style="background: linear-gradient(transparent 60%,rgba(6, 147, 227, 0.7) 0);" class="vk_highlighter">A1:A10</span>,<span data-color="#f78da7" style="background: linear-gradient(transparent 60%,rgba(247, 141, 167, 0.7) 0);" class="vk_highlighter">3</span>) -> 30
Code language: HTML, XML (xml)
式4: =SMALL(<span data-color="#0693e3" style="background: linear-gradient(transparent 60%,rgba(6, 147, 227, 0.7) 0);" class="vk_highlighter">A1:A10</span>,<span data-color="#f78da7" style="background: linear-gradient(transparent 60%,rgba(247, 141, 167, 0.7) 0);" class="vk_highlighter">4</span>) -> 30
Code language: HTML, XML (xml)
式5: =SMALL(<span data-color="#0693e3" style="background: linear-gradient(transparent 60%,rgba(6, 147, 227, 0.7) 0);" class="vk_highlighter">A1:A10</span>,<span data-color="#f78da7" style="background: linear-gradient(transparent 60%,rgba(247, 141, 167, 0.7) 0);" class="vk_highlighter">5</span>) -> 40
Code language: HTML, XML (xml)
つまり、【式4】と【式5】は関数式は異なりますが、同順位のため、【式4】【式5】ともに、同じ値 30が返されます。
したがって、同じ値を含むデータにおいて、SMALL関数を使用する際には、注意が必要です。
SMALL関数を使用して、4番目に小さい値を取得しようとすると、30が返されてしまいます。
しかしながら、
30は、「3番目に小さい値」が正しいでしょう。
このように、同じ値を含むデータにおいては、SMALL関数を使用する際には、注意が必要です。
同順位が存在する場合は、他の関数と組み合わせて使用することを推奨します。
最後に
本記事では、ExcelのSMALL関数について解説しました。
SMALL関数は、数値データの中から指定された順位に対応する値を返すことができます。
また、同じデータで同じ順位が複数存在する場合でも対応可能ですが、注意点がありました。
同順位が存在する場合は、他の関数と組み合わせて使用することを推奨します。
参考記事
本記事の読みやすさをさらに向上させるために、Excel関数に関する原理原則についてまとめた記事を紹介します。