今回は、数値データを「5単位」とか「10単位」とかに丸める方法を紹介していこう。ただし、単純に「FLOORやCEILINGで数値を丸める」という話ではない。今回の連載は「マイナスの数値をどのように丸めるか?」がポイントとなる。こういったケースにも対応できるように「FLOOR.MATH」や「CEILING.MATH」といった関数の使い方も覚えておこう。
数値を丸める関数(FLOOR、CEILING)
Excelには、数値を丸めるときに利用できる関数として「FLOOR」や「CEILING」といった関数が用意されている。ただし、数値データにマイナスの値が含まれている場合は、思い通りの結果を得られないケースもある。このような場合に備えて、「FLOOR.MATH」や「CEILING.MATH」といった関数の使い方も覚えておく必要がある。
まずは、一般的な数値の丸め方について解説していこう。以下の図は、「ある商品の実売価格」をA~Tの20店舗で調査したものだ。ただし、この表を漠然と眺めていても傾向はつかめない。
このように乱雑な数値データを扱うときは、各データを一定の範囲にグループ分けするのが一つの効果的な手法といえる。たとえば、2,400円台、2,500円台、2,600円台、・・・という具合に「100円単位」のグループに分類するとデータを処理しやすくなる。
このような場合に活用できるのが「関数FLOOR」や「関数CEILING」だ。関数FLOORは「切り捨て」、関数CEILINGは「切り上げ」により、「指定した単位」に数値を丸めてくれる関数となる。
◆関数FLOORの書式
=FLOOR(数値, 基準値)
◆関数CEILINGの書式
=CEILING(数値, 基準値)
具体的な例で見ていこう。たとえば、先ほどの価格調査のデータを100円単位に丸めたいときは、第2引数に「100」を指定すればよい。今回は、関数FLOORで100未満を「切り捨て」した数値に丸めてみよう。
入力した関数をオートフィルでコピーすると、以下の図のような結果が得られる。それぞれの価格データを「2,400円台」、「2,500円台」、「2,600円台」、・・・という具合にグループ分けできているのを確認できるだろう。
あとは、「xx円台」のデータがそれぞれ何個あるかをカウントするだけ。この処理を行うために、以下の図のような表を作成する。
続いて、関数COUNTIFで「xx円台」のデータがそれぞれ何個あるかをカウントしていく。今回は関数をオートフィルでコピーできるように、第1引数(セル範囲)を絶対参照で指定した。第2引数(条件)には「2,400」などの数値をセル参照で指定すればよい。こちらは普通に相対参照で指定する。
関数COUNTIFをオートフィルでコピーすると、「xx円台」の数値データが何個あるかを集計した表が完成する。検算用に関数SUMで「合計」も求めておこう。
この表をもとにグラフを作成すると、データの分布状況を分かりやすく示すことができる。今回の例では、以下の図のようなグラフが作成された。
この結果をみると、2,500~2,600円台の価格で商品を販売している店舗が多いことがわかる。続いて、2,700円台、2,800円台という価格の頻度が高くなっている。
このように関数FLOORで数値を丸めると、乱雑なデータをグループ分けして、それぞれの頻度を示すグラフ(ヒストグラム)を作成できるようになる。Excelには、ヒストグラムを手軽に作成する機能も用意されているが、それを関数で処理する方法として覚えておいても損はないだろう。
なお、「関数FLOOR」と「関数CEILING」については、本連載の第12回でも活用例を紹介している。気になる方はあわせて参照しておくとよいだろう。こちらの連載では「時間」を10分単位や30分単位に丸める方法を紹介している。