FLOOR関数が一番!年齢データから年代データを作成する

ExcelのFLOOR関数を用いて、
年齢データから年代データを作成する方法は、
一般的に使用されるIF関数やINT関数、ROUNDDOWN関数と比べて、
(他の関数でも代用可能ですが、代表例です)
式が短くて理解しやすく、基準値を変更するだけで簡単に年代の刻みを変えられる
というメリットがあります。
各関数の構文解説は、以下で紹介しています。
INT関数とROUNDDOWN関数は、いずれ取り上げる予定です。
本記事は、FLOOR関数だけを分かっていれば問題ないです。
5歳刻みと10歳刻みの年代データの作成
FLOOR関数の簡単なフォローアップ
=FLOOR(数値, 基準値)
英語の「FLOOR(床)」に由来しています。
関数の構文は以下です。
関数名のFLOORは、与えられた数値を切り捨てるという概念に由来しています。
その数値を最も近い下の基準値の倍数(つまり、数値を「床」に落とすイメージ)に切り捨てます。
例えば、数値が1234で基準値が1000の場合、1000の1倍の1000が最も近い値になり、その値に切り捨てられます。
ちなみに、数値が3245で基準値が1000の場合、1000の3倍の3000が最も近い値になり、その値に切り捨てられます。
詳しくは、『FLOOR関数の構文 -切り捨て- 』 をご拝読ください。
理論よりも、
実際に、本記事の以降の例を見た方が分かりやすいかもしれません。
5歳刻みの年代データの作成
5歳刻みの年代データを作成する場合は、以下のようにFLOOR関数を使用します。
=FLOOR(年齢セル, 5)
年齢データを最も近いかつそれ以下の5の倍数に丸めるます。
例えば、年齢データが77歳の場合、この関数は75を返します。
これらの式では、「5」を指定しています。
これは、年齢データを5歳刻みにするための直感的な設定です。
しかし、INT関数やROUNDDOWN関数を用いた場合は、年齢を5で割ってから切り捨て、再度5を掛けるという操作が必要になります。
=ROUNDDOWN(年齢セル/5, 0)*5
=INT(年齢セル/5)*5
IF関数の場合はさらに複雑です。
体感では、このIF関数を用いた年代データの作成している方が最も多いです。
=IF(年齢>=100,100,IF(年齢>=90,90,IF(年齢>=80,80,IF(年齢>=70,70,IF(年齢>=60,60,IF(年齢>=50,50,IF(年齢>=40,40,IF(年齢>=30,30,IF(年齢>=20,20,IF(年齢>=10,10,0)))))))))
VLOOKUP関数なども可能ですが、割愛します。
以下のような結果が得られます。

10歳刻みの年代データの作成
10歳刻みの年代データを作成する場合は、以下のようにFLOOR関数を使用します。
=FLOOR(年齢セル, 10)
年齢データを最も近いかつそれ以下の10の倍数に丸めるます。
例えば、年齢データが26歳の場合、この関数は20を返します。
これらの式では、「10」を指定しています。
これは、年齢データを10歳刻みにするための直感的な設定です。
しかし、INT関数やROUNDDOWN関数を用いた場合は、年齢を10で割ってから切り捨て、再度10を掛けるという操作が必要になります。
=ROUNDDOWN(年齢セル/10, 0)*10
=INT(年齢セル/10)*10
IF関数の場合はさらに複雑です。
体感では、このIF関数を用いた年代データの作成している方が最も多いです。
=IF(年齢>=100,100,IF(年齢>=95,95,IF(年齢>=90,90,IF(年齢>=85,85,IF(年齢>=80,80,IF(年齢>=75,75,IF(年齢>=70,70,IF(年齢>=65,65,IF(年齢>=60,60,IF(年齢>=55,55,IF(年齢>=50,50,IF(年齢>=45,45,IF(年齢>=40,40,IF(年齢>=35,35,IF(年齢>=30,30,IF(年齢>=25,25,IF(年齢>=20,20,IF(年齢>=15,15,IF(年齢>=10,10,IF(年齢>=5,5,0)))))))))))))))))))))
VLOOKUP関数なども可能ですが、割愛します。
以下のような結果が得られます。

解答付きサンプルデータ
解答付きサンプルデータが欲しい方は、下記からダウンロードしてください。
最後に
FLOOR関数の方が直感的で、かつ、式がシンプルであるという優位性が見て取れます。
FLOOR関数では、年代の刻みを直接指定するだけで年代データを作成できますが、
IF関数、INT関数、およびROUNDDOWN関数では年齢を刻みで割ってから切り捨て、再度刻みを掛けるという操作が必要になります。