こんにちは。長文ですみません。
ピボットテーブルを使って、データ集計をしています。
記録でできるかと思ってマクロ登録してみたのですが、エラーになります。
元のエクセルデータは、
A (資格) B(データ(1)) C(データ(2))
医師 4.3 6.2
栄養士 3.5 7.8
看護師 2.9 5.7
医師 5.0 3.5
・ ・ ・
・ ・ ・
・ ・ ・
という感じで700件程度入っていて、各資格のそれぞれのデータについての平均点を出していっています。
データ(1)の平均 データ(2)の平均
医師 4.8 4.9
栄養士 3.5 7.8
といった感じです。
ピボットの行フィールドに「資格」、列フィールドには何も入れず、
データアイテムにそれぞれのデータを入れて、別シートにコピペしていっているのですが、
毎回データを入れ直すたびに集計方法がデータの個数になって、平均に変更するのが面倒なので、マクロでパッと変換する方法はありますか?
実際は行フィールドに入れる項目が10個くらいあるので、全て1つずつしなくてはならず、本当に時間がかかってしまって…。
マクロはまだまだ初心者で分からないので、よろしくお願いします。
No.1
- 回答日時:
えっと、すみません。
先に確認ですが、Excelのバージョンいくつですか?
あと、サービスパックは当てています?
当方Excel2002SP03でサンプルを上げて頂いたデータ
> A (資格) B(データ(1)) C(データ(2))
> 医師 4.3 6.2
> 栄養士 3.5 7.8
> 看護師 2.9 5.7
> 医師 5.0 3.5
> ・ ・ ・
> ・ ・ ・
> ・ ・ ・
(資格名に01、02・・・と追加して)
1000件ほどデータを増やして平均値で計算させ、データの更新、参照先の変更を実施してみたのですが・・・。
フィールド名が欠如しなければ、平均が個数に変わることがありませんでした。
再現が難しいのですが、「フィールド設定」で、平均、書式など設定されていますか?
この回答への補足
早速ありがとうございます。
Excelのバーションは2000です。SPは4まであてています。
自分の方もピボット自体があまりきちんと理解できていないので、もしかしたら単純操作ミスかもしれませんが…。
今やっているやり方を説明すると、
行エリアに資格を固定で置いておき、データエリア部分にデータ(1)をドラッグして、列エリアには何も入れないと、各資格のデータ個数の合計のみが出てきますよね。
この例だと、医師は2、栄養士は1、看護師は1という感じで。
そして、テーブル左上(又はデータエリア)から「フィールド設定」を開いて、集計方法を「平均」にするんです。
そして、次にデータ(1)を外して、データ(2)を入れるんですが、このデータを入れ替えると、計算方法が「データの個数」になってしまうので、これをマクロでパッとできればいいなぁと思っています。
そこで、単純に記録させてみたんですが、エラーが出るので、何か方法があれば…と思ったのですが、どうでしょうか?
説明がわかりにくくてすみません。
No.2
- 回答日時:
えっと、私の勘違いでしょうか?
> データ(1)の平均 データ(2)の平均
> 医師 4.8 4.9
> 栄養士 3.5 7.8
と、いう結果が出てきているものだと思ってたのですが・・・
> そして、次にデータ(1)を外して、データ(2)を入れる
> んですが、このデータを入れ替えると、計算方法が
> 「データの個数」になってしまうので、これをマクロ
> でパッとできればいいなぁと思っています。
この手順だと、
> データ(1)の平均
> 医師 4.8
> 栄養士 3.5
と
> データ(2)の平均
> 医師 4.9
> 栄養士 7.8
という結果が2つになりませんか?
(取替えてすぐの時には個数のはずです。これを計10回くらい?)
> データ(1)の平均 データ(2)の平均
> 医師 4.8 4.9
> 栄養士 3.5 7.8
の形で出して、データの更新だけであれば、平均が個数に変わることは無いと思いますが・・・。
どうでしょう?
単純にこういう形に変えてと言うより、
=SUMIF(Sheet!A:A,"医師",Sheet!B:B)/COUNTIF(Sheet!A:A,"医師")
と言う関数を使用しては?
こちらなら、マクロなしで動かせますが・・・。
> データ(1)の平均 データ(2)の平均
> 医師 4.8 4.9
> 栄養士 3.5 7.8
という形で保持し続けることも可能です。
マクロで如何してもなら調べては見ますが・・・。
この回答への補足
書き方が悪かったのかもしれません。すみません。
A (資格) B(データ(1)) C(データ(2))
医師 4.3 6.2
栄養士 3.5 7.8
というのは、別シートの元データなんです。
なので、例えば、A列に資格が10種類ほどランダムに入っていて、B列にデータ(1)が、C列にデータ(2)が色々な数値で入っています。それが全部で700行ほどあります。
そのため、ピボットの列エリアは各数字になってしまうんです。必要なのはその総計部分に出る平均の数字だけなので、1回ずつデータの入れ替えをしなくてはいけなくて…。
つまり、700のデータのうち、「医師」の資格を持っている人たちの、データ(1)の平均値、データ(2)の平均値、というふうに出したいところなんです。
うまく伝えられず、ご迷惑をおかけします。
すみません、訂正です。
データ(1)の平均 データ(2)の平均
医師 4.8 4.9
栄養士 3.5 7.8
というのは、作りたい表のことでした。元データではありません。
A (資格) B(データ(1)) C(データ(2))
医師 4.3 6.2
栄養士 3.5 7.8
看護師 2.9 5.7
医師 5.0 3.5
というのが元データです。
No.3ベストアンサー
- 回答日時:
> つまり、700のデータのうち、「医師」の資格を持っ
> ている人たちの、データ(1)の平均値、データ(2)の平
> 均値、というふうに出したいところなんです。
結果、ピボットテーブルで下記のように出したいなら出ます。
> データ(1)の平均 データ(2)の平均
> 医師 4.8 4.9
> 栄養士 3.5 7.8
1.「A(資格)」を行エリアに、「B(データ(1))」、「C(データ(2))」を、データエリアに2つ入れます。そうすると、下記のようにピボットテーブルが作成されます。(10個ほど同じところに入れて、繋げていっても結構です。)
A(資格) データ 合計
医師 平均 / B(データ(1)) 4.650
平均 / C(データ(2)) 4.850
栄養士 平均 / B(データ(1)) 3.500
平均 / C(データ(2)) 7.800
看護師 平均 / B(データ(1)) 2.900
平均 / C(データ(2)) 5.700
2.「A(資格)」の隣に出来た灰色の「データ」と言うセルをドラックしたまま、その隣の「合計」の上に持っていってください。
そうすると、下記のようなピボットテーブルが出来上がります。
データ
A(資格) 平均 / B(データ(1)) 平均 / C(データ(2))
医師 4.650 4.850
栄養士 3.500 7.800
看護師 2.900 5.700
で、以上で出来上がりです。
これなら、フィールドの入れ替えの必要性がありません。
追伸
ピボットテーブルのマクロの方、調べてみてますが・・・、記録だと確かにエラーがコードレベルで見直し中です。
ありがとうございます!
最初にデータを全て入れて、列エリアに持っていかなければいけなかったんですね!
まさに作りたい表が出てきて、随分手間が省けそうです!!
でも、集計方法を一括で平均にするのは難しいようですね…。なんででしょうね。
マクロの方は、記録でなく自分で作るとうまくいったりするのかもしれません。
自分でも調べてみます。
参考になりました、ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelで全クラスのランキング表を作成したい 4 2022/05/24 15:28
- その他(Microsoft Office) ピボットテーブルへの集計フィールド挿入 1 2023/02/26 11:33
- Excel(エクセル) マクロか関数で処理したいのですが、教えて頂けませんか。 8 2022/10/31 15:18
- Excel(エクセル) VBA ふたつの同じ様式シートのセルをコピーしたい 2 2023/03/08 15:28
- 数学 賃料と専有面積のデータが60部屋分ほどがあり、 賃料÷専有面積(=1㎡あたりの賃料)の数式で計算する 2 2023/02/18 20:33
- 統計学 t値の計算方法 1 2022/11/29 18:37
- Excel(エクセル) フォルダ内の全ブックのシート名を変更したい 7 2022/09/22 21:34
- Visual Basic(VBA) vbaについて 主に以下のような設定をしたいです。 Aブックの表の行数が20未満だったら Bブックの 1 2023/06/08 23:40
- Excel(エクセル) 【マクロ】同じフォルダ内にある複数ブックから1つのブック内の1シートにデータを集めたい 6 2022/09/28 18:16
- Excel(エクセル) 複数セルデータを別シートの単一セルにコピーしたい。(詳細をご参照ください) 1 2022/12/14 15:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
N/Rとは何の略
-
無期限でデータが保存できるオ...
-
統計のデータ割付について。
-
主成分分析と数量化第3類、ど...
-
GDPの推移:都道府県?
-
因子分析をエクセルで行うには...
-
世界主要国のGDP順位の推移につ...
-
蛍光灯(三波長白色)のカラー...
-
Excelのピポットテーブルでピポ...
-
企業調査に回答することのメリ...
-
宮内庁は3親等まで身辺調査が...
-
警察って個人のパソコンやスマ...
-
地質調査(ボーリング)は何箇...
-
リサーチャーって言う仕事に就...
-
なぜ、北総鉄道は運賃値下げが...
-
日本生命貯蓄型生命保険について
-
何で小田急と京王はエリアがか...
-
司法取引について4,000字以上の...
-
この歯ブラシ使ったら、虫歯が...
-
W3Techsはどのような会社なので...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
N/Rとは何の略
-
社会福祉調査の基礎
-
FDAのデータの入手方法
-
統計のデータ割付について。
-
Excelのピポットテーブルでピポ...
-
指定した値以上の中で最小値を...
-
SASでカイ二乗値を求めるには
-
日本人男性(20〜40代)の平均身...
-
標本数が50以上のデータが見...
-
【Excel質問】別シートにある複...
-
eKYC(Povo、メルカリ、ヤフオク...
-
統計学的に信頼のあ有効率は、...
-
「重み付け」 と 「カイ二乗検...
-
主成分分析と数量化第3類、ど...
-
統計学の質問です
-
訳を教えて下さい
-
次元の呪いについて。 次元の呪...
-
フーリエ変換をすることにより...
-
サッカー解析システム OPTAに...
-
心理学で学んだこと、人間関係...
おすすめ情報