プロが教える店舗&オフィスのセキュリティ対策術

Excelのピボットテーブルで集計をしています。

氏名  年齢  介護区分  性別

AA   78   要介護1  女
BB   88   要介護2  男
CC   89   要支援1  女


上記の「介護区分」のデータで平均の数値を計算したいです。

「介護区分」に入力してあるデータは文字列で、
要支援1
要支援2
要介護1
要介護2
要介護3
要介護4
要介護5

が入力してあります。

各々は、介護度別に下記の数値が割り当てされます。

要支援1 → 0.5
要支援1 → 0.75
要介護1 → 1
要介護2 → 2
要介護3 → 3
要介護4 → 4
要介護5 → 5

上記のデータをもとに平均を求めたいのですが、
ピボットテーブルのもとになるデータベースには、
文字列の「要介護1」と言うデータのみで入力し
てあります。

ピボットテーブルの数式を使い、平均を求められるの
ではないかと思いますが、やり方が不明です。

または、もとのデーターベースにフィールドを追加して
「介護区分」の値を数値に変換してからピボットテーブルで
集計した方が良いでしょうか。

教えてください。

A 回答 (2件)

>「介護区分」表をどこかに作っておくということでしょうか?




そのとおりです。

しかしながら、表を作りたくない人向け(笑)としては、こんな式も。

=countif(a1,"?支援?")*(1+replace(a1,1,3,))/4+countif(a1,"?介護?")*replace(a1,1,3,)
とか
=choose(match(a1,{"要支援1","要支援2","要介護1","要介護2","要介護3","要介護4","要介護5"},),0.5,0.75,1,2,3,4,5)
とか
=vlookup(a1,{"要支援1",0.5;"要支援2",0.75;"要介護1",1;"要介護2",2;"要介護3",3;"要介護4",4;"要介護5",5},2,)
とか
=0+(if(a1="要支援1",0.5,)&if(a1="要支援2",0.75,)&if(a1="要介護1",1,)&if(a1="要介護2",2,)&if(a1="要介護3",3,)&if(a1="要介護4",4,)&if(a1="要介護5",5,))
とか
=if(a1="要支援1",0.5,if(a1="要支援2",0.75,if(a1="要介護1",1,if(a1="要介護2",2,if(a1="要介護3",3,if(a1="要介護4",4,if(a1="要介護5",5,)))))))


ピボットテーブルを使うときは、その前に、元のデータベースをできるだけしっかり作っておくことです。今回の計算も、しかりです。


ベストアンサーは辞退します。
    • good
    • 0
この回答へのお礼

お礼が遅くなりまして申し訳ございません。

とても参考になりました。

有難うございます。

お礼日時:2012/07/17 11:19

もとのデーターベースにフィールドを追加して「介護区分」の値を数値に変換してからピボットテーブルで集計した方が良いです。

「介護区分」の値を数値に変換するにはVLOOKUP関数がいいでしょう。

この回答への補足

回答を頂きまして有難うございます。
もとのデーターベースにIF関数で数値を求め、
その値を集計しました。

aokiiさんが教えて下さったVLOOKUP関数を使う方法は、

「介護区分」表をどこかに作っておくということでしょうか?

お手数をお掛けいたしますがお教えください。

補足日時:2012/07/02 16:45
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!