うちンち

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

入力は数字で、表示は日本語で

2009-02-23 | エクセルおぼえがき
アンケート入力で入力チェックを行うとき、日本語のほうが判別が早い気がする。
また、ピボット集計したとき、日本語で入力されていたものを集計したほうが、表やグラフの項目名などそのままで使えるので便利である。
しかし入力は数字のほうが断然早いわけで、入力は数字で、表示は日本語での出番なのである。手順はコチラ。

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

1)まず、入力列の次の列に、日本語表示する列を設ける。列見出しは、集計時のために(ピボット集計時に詳述)、内容を変える。


2)列見出しの上に、項目数+2行分の行を挿入し、表をつくる。


3)作成した表を範囲選択し、名前ボックスを選択して任意の名前をつける。(ココでは仮に「一覧」とする)


4)文字列を表示する場所に、数式を入れる。
 とりあえず、上記表アンケート項番1(セルD10)の性別を入れるための数式例
(ア)未入力の行にエラー表示をさせないための式を入れる
   =if($B10="","",<(イ)の数式を入れる>
   <解説>
   セルB10にデータが入力されていなければ空白を表示する、という数式
   のちのちコピーすることを考え、列番号は絶対指定しておく(→$Bと、Bの前に$をつける)
(イ)C列が入力されていないとき、エラー表示させないための数式を入れる
   if(C10="","未回答",<(ウ)の数式を入れる>
   <解説>
   セルC10にデータが入力されていなければ文字列「未回答」を表示する数式
(ウ)C列の入力値に応じて表示させる値を指定する
   vlookup(C10,一覧,D$1,false)
   <解説>
   3)で名前をつけた範囲「一覧」から、D列の(C列に入力した数字)番目の文字列を拾い出して表示する
   D$1がD列指定のためのもの。のちのちコピーすることを考え、行番号は絶対指定しておく

以上を整理すると、D10に入力すべき数式は、
=if($B10="","",if(C10="","未回答",vlookup(C10,一覧,D$1,false)))

これを入力したD10をコピーして、文字列を表示させたいセルすべてに貼り付ければ、以下のように、左隣のセルに入力した数字に応じた文字列を表示させることができる。

最新の画像もっと見る