データ分析時、数値データを適当な範囲(○以上△未満)で区切り、カテゴリーに変換して全体的な傾向を見たい時があります。例えば、「年齢」を「年代」に変換して年代ごとの度数分布表を作成するケースなどです。
このような場合は、ExcelのVLOOKUP関数、またはFLOOR関数を使用します。
VLOOKUP関数を使用する方法は、区間の範囲(○以上△未満)が等間隔でない場合にも可能な方法です。FLOOR関数は区間の範囲が等間隔の場合に可能な方法です。
アウトプットイメージ
次のように「顧客マスタ」というシートのB列に年齢データが入力時、C列に年代のカテゴリを計算する。
実施方法
VLOOKUP関数を使用した方法
区間分けの基準となる表の作成
VLOOKUP関数を使用する方法は、まず区間分けの基準となる表(区間の範囲を示した表)を作成します。
例えば年代の場合、次のように作成します。
区間分けの基準となる表の注意点は次のとおりです。
- ○以上の下限値と名称の表にする
- 下限値は昇順にする(事例で、A列の年齢区分の箇所)
VLOOKUP関数の使用
事例では、数式は次のようにしている(セルC2の場合)。
=VLOOKUP(B2,年代テーブル!$A$1:$B$7,2,TRUE)
このようにVLOOKUPの検索条件をTRUEとすることで近似一致となり、条件を満たす最後の場所と一致する。
FLOOR関数を使用した方法(区間の範囲が等間隔)
事例では、数式は次のようにしている(セルD2の場合)。
=FLOOR(B2,10)&"代"
この場合、「10」(数式の赤字部分)で区切った値が戻るので、文字連結で「代」をつけている。
VLOOKUP関数とFLOOR関数での実現方法の違い
冒頭に記載のとおり、VLOOKUP関数を使用する方法は、区間の範囲(○以上△未満)が等間隔でない場合にも可能な方法です。事例のように、20歳未満を10代以下、60歳以上を60代といった区切りができる。
一方で、FLOOR関数は区間の範囲が等間隔の場合に可能な方法で、VLOOKUPのような「区間分けの基準となる表」も不要となる。
以上、Excelで「年齢」を「年代」に変換など、区間分け(ビニング)をする方法でした。