うちンち

パソコンと家族と、ときどき爆弾。

年齢に応じた年代表示を追加する

2009-02-25 | エクセルおぼえがき
アンケートには、年代や性別によるクロス集計がつきものである。
性別はいいとして、入力している年齢そのままでは、年代による集計が面倒である。
そこで、簡単に年代別のクロス集計を行うために、年齢に応じた年代表示を追加する。具体的には、年齢の欄に「21」と入力したら「20代」と表示させるようにする。方法はコチラ。

--------------------

1)年齢の入力列の右に、年代の表示列を作成する


2)どこかに表示する文字列を入力する(ラベルは入力しなくてもいいが、したほうがわかりやすい)


3)数式を入力する
  とりあえずは上記表でいくとC11に入力する数式例
(ア)未入力の行にエラーを表示させないための式を入れる
   =IF(B11="","",<(イ)の数式を入れる>
   <解説>
   セルB11にデータが入力されていなければ空白を表示する、という数式
(イ)未回答の場合を判定し、文字を表示させるための式を入れる
   IF(NOT(ISNUMBER(B11)),"未回答",<(ウ)の数式を入れる>
   <解説>
   セルB11に数字以外のものが入力されていれば「未回答」と表示する数式
   これまでの記事でB11を基準に未入力列かを判断しており、空白のままにすると支障があるのでB11は未回答でも空白にせず、たとえば「-」などを入れる
(ウ)年齢に応じた文字列を表示させる数式を入れる
   とりあえずは20歳未満の場合は、
   IF(B11<20,$C$2,<20代の場合の数式を入れる>
   <解説>
   B11の数値が20未満なら、セルC2の文字列を表示させる数式
   コピーすることも考え、セルC2は絶対指定する($C$2)
   セル指定でなく文字列を直接数式に入力してもいいが、文字列を修正する場合もあるのでセル指定にしておいたほうが便利

   同様にすべての年齢に応じた文字列を表示させるための数式を入れると、
   IF(B11<20,$C$2,IF(B11<30,$C$3,IF(B11<40,$C$4,IF(B11<50,$C$5,
   IF(B11<60,$C$6,IF(B11<60,$C$7,$C$8))))))

   <解説>
   年齢に応じて、20歳未満、20代、30代、40代、50代、60代、70歳以上の表示をさせる数式
で、これらを整理すると、
=IF(B11="","",IF(NOT(ISNUMBER(B11)),"未回答",IF(B11<20,$C$2,IF(B11<30,$C$3,IF(B11<40,$C$4,
IF(B11<50,$C$5,IF(B11<60,$C$6,IF(B11<70,$C$7,$C$8))))))))

※あまりに長いので表示は改行されているが、入力時には改行しない

これを入力したC11をコピーすれば、C列に、B列に入力した年齢に応じた年代を表示することができる。


ちなみにあまりに数式が長すぎるため、年代の条件をこれ以上入れることができない。10歳未満を追加したい場合は、70歳以上を削除すること

最新の画像もっと見る