- 締切済み
VBA Pivot複数セルを合計から平均へ
Windows7とExcel 2010です。 Pivotテーブルで作成されている表に対して、合計で集計されている複数のセルを選択して、一括して、平均へ変更するVBAを教えていただけないでしょうか。 異なるPIVOTテーブルでも使いたいので、Pivotテーブルの名称やフィールドの名称はマウスで選択した際に自動で取得したいです。 例: 下記の集計があります。(一時間毎の発電量を集計) 元 合計 / 電力 合計 / 日射量 4月2日 1000 3000 4月3日 500 2000 操作 1) 「合計 / 電力」「合計 / 日射量」をマウスで選択 2) マクロを実行すると 「平均 / 電力」「平均 / 日射量」となる。 よろしくお願いします。
- yamamoto2000
- お礼率12% (32/251)
- Visual Basic
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- HohoPapa
- ベストアンサー率65% (454/692)
平均を求めたいとのことですが、 どの数値たちの平均なのかが読み取れません。 1時間ごとのデータを羅列した一覧が別にあって、 それをPIVOTで集計したものが提示された一覧表ですね? 更に、日ごとの平均を求めるのであれば 少なくとも、PIVOTで集計した結果からは算出できませんね? PIVOTの集計元データのサンプル (シートの行番号、列番号もわかる画像)と 平均の求め方を掲示してほしいのです。 どうやら合計を求めるPIVOTは作成でされているようですので、 更に、平均を集計するPIVOTを用意するという対応も 考えられるんじゃないかと思いますがいかがでしょうか? 更に、VBAでとのことであれば、 SQL文で集計する選択肢もあるものと思います。
関連するQ&A
- ピボットテーブルの集計値をVBAでカンマ区切りにしたい
・excelのシートにあるピボットテーブルの集計値の書式をカンマ区切りにするVBAを作成したいのです。どうすればよいでしょうか。 ・汎用的なVBAにしたいので、ピボットテーブル名やフィールド名もVBAで取得するようにしたいです。 ・VBAを実行する前に、その集計値の1つを選択しておきます。 よろしくお願いいたします。
- 締切済み
- その他MS Office製品
- Access2003 空白セルの平均集計について
Access2003 空白セルの平均集計について こんにちは。 Access初級者ですが質問させていただきます。 空白セルを含む平均集計の扱いについて質問がございます。 毎日の交通量を、以下の手順で 月々の平均値を求めようとしていますが、 テーブル(交通量はテキスト型で設定) ↓ Val関数で数値化 ↓ クロス集計クエリで月ごとに平均化 ここで、欠測の日はテーブルでは空白セルとしていますが、 Val関数で数値化するとエラーになってしまいます。 また、Null値=ゼロ に設定すると、適切な平均値が得られません。 ※平均値の分母は、(月の日数)-(欠測日数)としたい。 ※欠測日数はつきにより異なる。 なにか良い方法がありましたらご教示お願いできますでしょうか。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- 風力発電データの平均値の求め方
風力発電電力は風速3乗則で求められます。 以下、例で示すと、 定格 風速10m/sに於いて、発電電力1kWの場合、 これを計算すると次のようになります。 風速 発電力(量) m/s W(Wh) 2.0 8.0 3.0 27.0 4.0 64.0 5.0 125.0 6.0 216.0 風速が1時間続いた場合は発電量Whになります。 これを実測データに置き換えて質問します。 上記区間についてそれぞれ平均(合計の平均)を求めると、 平均風速は、 4.0 m/s 発電力は、合計440.0、平均88.0 W この結果による、88.0 W/平均風速4.0 m/sは、 計算(定格)上の 64.0 W/風速4.0 m/s より効率が良い評価となってしまいます。 全般的にこの方式(平均発電量対平均風速)の値は、定格(1点値)を上回る結果となります。 定格(1点値)と比較できるところの、前記の6点の発電力対風速の結果のまとめ方(風速○○値に対する発電力○○値)の手段があったら教えてください。 #### 3乗合計3乗根の平均や3乗合計平均の3乗根では無理でした。他の風速も含めて乖離が多きぎですす。
- 締切済み
- 自然環境・エネルギー
- Access2003 クロス集計クエリでの合計
☆以下のようなテーブルで、フィールド[ID]~[C]があり、文字および数字のデータが混在しています。 ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ =========================================== (テーブル(1)) [ID] [A] [B] [C] 1 111 英語 10 2 222 英語 20 3 333 数学 30 4 111 国語 40 5 222 数学 50 6 333 国語 60 7 222 国語 70 8 333 英語 80 9 111 数学 90 =========================================== [課題] クロス集計クエリを作成する (1) フィールド[A]を行見出しに設定、 フィールド[B]を列見出しに設定、 フィールド[C]を集計する項目に設定する。 (2) フィールド[C]の値を列ごとに平均を計算し、 行ごとに合計を計算する。 ※ 列と行で、それぞれ集計した値を表示する ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ =========================================== [クロス集計結果] 合計 英語 国語 数学 111 140 10 40 90 222 140 20 70 50 333 170 80 60 30 --------------- 平均 150 36 56 56 =========================================== ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ 上記のようなクロス集計クエリの結果を表示させたいのですが、 どうすればよろしいでしょうか? また、クエリだけでは出来ない場合は、SQLで教えていただければ幸いでございます。 お手数お掛けしますが、何とぞ宜しくお願い致します。
- ベストアンサー
- その他MS Office製品
- (ACCESS)合計を求めたいのですが…
赤、青、白の3色のサイコロを同時に振って 出た目を色ごとに記録していく データベースを作成しようとしています。 サイコロの目ごとに色別の出現回数を カウントしたクエリを さらに1まとめに合計したいと思い 色々いじくってみたのですが うまく出来ません。 集計して合計を出すには どうすればよいのでしょうか? ---------------------------------------------- テーブル サイコロテーブル フィールド(回数、白色、青色、赤色) 目テーブル レコード(サイコロの目=1,2,3,4,5,6) クエリ 選択クエリ(白、青、赤) 選択クエリ(まとめ)
- ベストアンサー
- オフィス系ソフト
- ピボットテーブルで値の集計方法の初期設定を変えたい
中を見ていただき、ありがとうございます。 Excel2010で、ピボットテーブルを使って以下のようなデータを集計すると、値フィールドの集計方法は「合計」がデフォルトで採用されます。 科目 得点 数学 100 英語 20 数学 90 音楽 80 数学 30 英語 70 そのうえで、集計方法を「平均」にしたければ、値フィールドの設定を変更すればよいのですが、複数のピボットテーブルを使ったり、値フィールドを複数並べたい場合に、いちいち設定を変更するのは面倒ですし、設定し忘れるというミスも起こります。 そこで、以下のいずれかの方法をご存じの方がおられましたら、その方法をご教授ください。 ・最初から「合計」ではなく「平均」が集計方法として選択されるようにする ・複数の値フィールドの集計方法を一括で変更する
- 締切済み
- オフィス系ソフト
- ピボットの集計方法「合計」初期設定、他
エクセルのピボットテーブルを作成するとき、 データアイテムの集計方法がいちいち「個数」になってしまうのですが、最初から「合計」に設定する方法はないでしょうか? (2)また列フィールドの選択肢が沢山ある時、まとめて列フィールドに表示させる事はできないでしょうか?一つ一つリストから移動しないといけないでしょうか? (3)さらに行フィールドに項目を選ぶと、全てに「集計」行が出来て、一つ一つ「表示しない」にしないと消せないのですが、最初からあるいはまとめて「集計」行を表示させない方法はないでしょうか? よろしくお願い致します。
- ベストアンサー
- その他MS Office製品
- ACCESS2010 テキストボックスに合計値を
どなたかお助け願います。 私のPC環境は Windows7 64bit ACCESS2010 でございます。 ACCESSは苦手ながら簡単な環境を作成いたしております。 テーブル名 T_入出金 フィールド1 入出金月 フィールド2 入金業者名 フィールド3 入金額 フィールド4 出金業者名 フィールド5 出金額 クエリ Q_入金クエリ フィールド1 入金額の合計: 入金額 集計:合計 フィールド2 入金業者名 集計:Where条件 抽出条件:Like "業者名" フィールド3 入出金日 集計:Where条件 抽出条件:Like 201401 ←日付です。 としたものを作成いたしました。 このフィールド1の合計結果をテキストボックスに表示したく、 メイン帳票フォームのヘッダー部分にテキストボックスを設置し、 コントロールソースに =[Q_クエリ]![入金額の合計] としましたが、#Name? と出てしまいます。 関数が間違っているのでしょうか・・・?
- ベストアンサー
- その他MS Office製品
- Microsoft Access 2003について
複数のテーブルまたはクエリを使いレポートを作成したいのですが 「選択したフィールドのレコードソースにアクセスできません。テーブルとそのテーブルを基にしたクエリのフィールドを選択した可能性があります。もしそうであれば、テーブルかクエリのどちらかのフィールドだけを選択してください。」と出て作れません。 詳細は以下のとおりです。 支出テーブル ID 月 科目 金額 1 1 交際費 10 2 1 雑 費 20 3 2 交際費 30 (以下12月まで) 収入テーブル ID 月 科目 金額 1 1 仮払 10 2 1 雑収 20 3 2 仮払 20 (以下12月まで) 支出クエリ(クロス集計) 科目 1 2 3 4 5 6 7(以右12月まで) 交際 10 20 30 40 50 60 70 雑費 20 30 40 50 60 70 80 合計 30 50 70 90 110 130 150 収入クエリ(クロス集計) 科目 1 2 3 4 5 6 7(以右12月まで) 仮払 10 20 30 40 50 60 70 雑収 20 30 40 50 60 70 80 合計 30 50 70 90 110 130 150 収支レポート(作成したいレポート) 科目 1 2 3 4 5 6 7(以右12月まで) 仮払 10 20 30 40 50 60 70 雑収 20 30 40 50 60 70 80 合計 30 50 70 90 110 130 150 -------------------------------------- 交際 10 20 30 40 50 60 70 雑費 20 30 40 50 60 70 80 合計 30 50 70 90 110 130 150 ------------------------------------- 残高 0 0 0 0 0 0 0
- 締切済み
- オフィス系ソフト
- アクセス クロス集計クエリ 縦の合計
テーブル1には 会社名 取引日 金額 A社 2014/01/01 ¥100 B社 2014/01/02 ¥200 A社 2015/01/01 ¥500 というデータがあります。 このテーブル1を基にクロス集計クエリで TRANSFORM Sum([テーブル1].[金額]) AS 金額の合計 SELECT [テーブル1].[会社名], Sum([テーブル1].[金額]) AS [合計 金額] FROM テーブル1 GROUP BY [テーブル1].[会社名] PIVOT Format([取引日],"yyyy"); というクエリを自動生成しました。 この時、横の合計ではなく縦の合計(年ごとの合計)を表示するには良いでしょうか? サブクエリというのを使うようですが、どうすればいいかわかりませn。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
補足
下記で自己解決できました。 For i = 1 To Selection.Count PvName = Selection(i).PivotTable.Name PvField = Selection(i).PivotField.Name With ActiveSheet.PivotTables(PvName).PivotFields(PvField) .Function =xlAverage End With Next