今ピボットテーブルの勉強をしているのですが、疑問が出来たので教えてください。

ピボットテーブルは便利なのですが、複数のシートをピボットテーブルでまとめる事は出来るみたいなのですが、複数のシートのピボットテーブルをまとめる事は出来ないのですか。

例えば、各月の表に対してピボットテーブルを作って分析して、そのピボットテーブルを一年でまとめて総合的に分析をしたいのです。

もし出来るなら、やり方を教えてください。
お願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

編集→ジャンプ→セル選択→可視セル選択


でピボットテーブルを選択・コピーして、別のエクセルシートに貼り付けたらできるかも。
    • good
    • 0

ピボットテーブルの項目名が同じという条件ですが、以下の手順でできると思います。


(1)データ/ピボットテーブルで、複数のワークシート範囲(C)を選択で次(2a/3)へ
(2)自動を選択して次(2b/3)へ
(3)範囲で、シートのピボットテーブルを順に選択し、追加ボタンを押す。
範囲の選択は、行、列のみ、総計を含まない。
(4)以下、そのほかのシートのピボットテーブルを選択し、「追加」(範囲一覧に入っていく)し次(3/3)へ
(5)ここで、完了とします。

レイアウトが選べないなどの制限はありますが、以上の手順でピボットテーブルの統合はできます。

この回答への補足

質問があるのですが、レイアウトが選べないと言うのはなんとなくわかるのですが、項目が同じと言うのはどういう事ですか。

項目名が、違うと駄目と言う事ですか。

例えば、一月にはあった項目が2月に無かったり、新しく項目が追加されていたりしたら一緒に出来ないと言う事ですか。

項目がまったく同じでないと駄目と言う事ですか。

補足日時:2006/01/08 11:38
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QVBAとピボットテーブル

エクセルをもう少し身に付けようと思っています。
VBAとピボットテーブルの違いがよく分からないのですが、
VBAが出来ればピボットテーブルも出来るようになりますか?
それとも全く違うものなのですか?
ど素人でスミマセン...。

Aベストアンサー

面白い質問ですね。

>VBAが出来ればピボットテーブルも出来るようになりますか?
ピボットテーブルは、やってみれば分かりますが、手順通りすれば、データを思い通りに集計出来るようになります。VBAは、端的に言えば、プログラム言語ですから、まったく違う種類のものです。

実は、私は、Excelが市場に出る前に、ピボットテーブルと同じようなものを他の表計算のマクロで作ったことがあります。そこで、Excelでピボットテーブルを知った時に、ほとんど同じ機能を一瞬でしたので、もうマクロを手を付ける気になりませんでした。

新たにVBAを手を付けることになった時に、私が最初に覚えたマクロ言語は、昔のBASICに似たもの(Ver.4マクロ言語に似ています)でしたから、VBAは、まさに、Visual Basicと同等なので、さっぱり分かりませんでした。

>VBAとピボットテーブルの違いがよく分からないのですが、
ピボットテーブルというのは、いわゆる組み込みマクロという種類のもので、ひとつのデータから、総計などの表にまとめる既製の機能です。VBAは、Excelとは別のアプリケーションというぐらいに違ったものです。

最初は、VBAは、英語以上に、さっぱり分かりません。記録マクロなどというようなものもありますが、それは、さらに混乱させました。好きこそものの上手なれ、なのですが、VBAというのは、片手間に覚えて、使えるようになりません。それだけに、コードだけで、見る人によって、その人の技術の達成度が分かってしまうような、厳しいものだとも言えます。

当初、Microsoft は、仕事の合間に書けるような簡単なアマチュアが使うプログラム言語だという触れ込みでしたが、だんだん、そのようなことは言わなくなりました。VBAは、使い方によっては、Windows そのものの機能を直接使えるようになりますから、インターネットに直接アクセスしたり、データベースのファイルを直接検索したり、人が何時間も掛けて単純作業をするようなことも、一瞬で出来るようになります。

面白い質問ですね。

>VBAが出来ればピボットテーブルも出来るようになりますか?
ピボットテーブルは、やってみれば分かりますが、手順通りすれば、データを思い通りに集計出来るようになります。VBAは、端的に言えば、プログラム言語ですから、まったく違う種類のものです。

実は、私は、Excelが市場に出る前に、ピボットテーブルと同じようなものを他の表計算のマクロで作ったことがあります。そこで、Excelでピボットテーブルを知った時に、ほとんど同じ機能を一瞬でしたので、もうマクロを手を付ける気にな...続きを読む

Qエクセルなんですけど、複数のシートからピボットテーブルをつくりたい。

 シートごとに全く同じ形式で会計をつくってるんですが、月毎に3月,4月、5月・・・・・、というふうにシートが分かれています。中のデータは似たり寄ったりです。これらのシートから一括してピボットテーブルをつくりたいのですが、はたしてそんなことできるんでしょうか?なんかできそうでできないのかななどと思っています。ご教授を!

Aベストアンサー

合計シートを作れる(全セルが同じ種類データが入っている)なら、合計シートの1つのセルに、
=SUM(Sheet1:Sheet3!A1)のようにいれ、式を他のセルに縦列と横行に複写すれば、串刺し演算?が出来ます。#2のご回答の一部の別表現。

QエクセルVBAでピボットテーブルを作成しています。

エクセルVBAでピボットテーブルを作成しています。
作成まではできましたが、以下2つのVBAの組み方が分からないのでおしえてください。

【質問1】
ピボットテーブルの作成先を指定できるか?
例えば、予め準備したシートに作成することは可能でしょうか?
VBAのどこを触ったら良いか分かりません。

【質問2】
作成されたピボットテーブルの列を、見出しの準備された別シートへ、それぞれ流し込むことはできるか?
例えば
ピボットテーブルが以下のように作成されたとして、
A列  B列
購入額 総計
A社  1000
B社  2500
C社  800

予め用意した別シート(A~D列の見出しは固定)のB、C列にピボットのA、B列(最終行まで)をそれぞれ流し込みたいのです。
A列(コード) B列(購入額)  C列(総量)  D列(JANコード)
001      A社        1000      JAN1
002      B社        2500       JAN2
003      C社        800      JAN3

流し込んだ列を元にA、D列にはVLOOKをかける予定です。
何か良い案があれば是非、ご教授ください。

エクセルVBAでピボットテーブルを作成しています。
作成まではできましたが、以下2つのVBAの組み方が分からないのでおしえてください。

【質問1】
ピボットテーブルの作成先を指定できるか?
例えば、予め準備したシートに作成することは可能でしょうか?
VBAのどこを触ったら良いか分かりません。

【質問2】
作成されたピボットテーブルの列を、見出しの準備された別シートへ、それぞれ流し込むことはできるか?
例えば
ピボットテーブルが以下のように作成されたとして、
A列  B列
購入額 総...続きを読む

Aベストアンサー

>【質問1】
ピボットテーブル作成時に、『既存のワークシート』に作成する動作をマクロ記録とればわかると思いますが。
CreatePivotTableメソッドの引数、TableDestination:=... で指定します。

>【質問2】
提示レイアウト通りだったら、単純にコピーすれば良いのでは。
列の総計、ColumnGrandプロパティをFalseにして、
With ActiveSheet.PivotTables(1)
  .ColumnGrand = False
  .DataBodyRange.Resize(, 2).Offset(, -1).Copy Sheets("Sheet2").Range("B2")
End With
...など。

Qアクセスの複数テーブルデータを一つのテーブルにまとめる?

アクセス2013利用中です。
基本となるテーブルとテーブルA、B、Cがあります。
基本、A、B、Cテーブルには作業番号フィールドを作成してリレーションできるようにしております。
テーブルA、B、Cのフィールドにはそれぞれ担当者名、作業日、作業時間があります。
A、B、Cについては工程が違うので分けました。作業者はいろいろな工程で作業しています。
最終的には同じ月に担当者が何時間働いたかを集計したいです。
作業工程別には管理しませんので例えばA、B、CのテーブルデータがDテーブル(クエリ?)にまとまれば後は月だけの問題なので月でまとめるのはできます。
作業日は西暦年月で表示しています。
もしくは集計で行えばいいのでしょうか?担当者フィールドと作業日フィールドをグループ化する?
その際には作業日フィールドの表示を西暦月に変更しておく必要がありますか?
クエリの初歩程度しかわかりませんので、ご存じの方がいらっしゃいましたらアドバイス頂けませんでしょうか。
よろしくお願い致します。

Aベストアンサー

この説明では誰も質問の意味を理解出来ないから
答えを期待をするのは諦めて下さい。

具体的な解決は、常に具体的な質問で無いと
答える事は出来ません。

再度質問を出し直して下さい。

私の答えとしては、それは簡単に出来ますが。
出来ますが、具体的には答える事は出来ません。

答えとしては、リレーションシップを作れば簡単
に出来ますが。然し、それはこの場合の答えには
ならないですよね。

だから、答える事は出来ないのです。何でも良いから
答える為にはそれに相当する何らかの具体例が無い事には
何も答える事は出来ません。

それは、投げかけている質問を具体的に理解を
する事が出来ないからです。

具体的に質問を理解出来ればこの場で直に
答える事は出来ますが。

自分だけが分かれば良い質問は質問にはなりません。
相手が分かってこその質問ですよ。意味を理解した
でしょうか。

QExcel VBA: ピボットテーブルの値貼り付け

タイトルのとおりなのですが、ピボットテーブルを含むシートを新しいシートとして値貼り付けするようなVBAはどう書けばよいのでしょうか・・・?
ご教授下さい。

Aベストアンサー

If ActiveSheet.PivotTables.Count = 0 Then
 ピボットテーブルがないときの処理
Else
 ピボットテーブルがあるときの処理
End If

でできるかと。
ActiveSheetはWorksheets(***)など適宜かえてください。

役に立ちますように。

Q複数のシートにあるテーブルデータを1枚のシートで集計

こんにちは。
複数のシート上にあるテーブルデータを1枚のシートで集計したいと思います。
A列に"入金日 " B列に"担当者名" C列に"入金額" D列に"店舗名"とあるのですが、元データが入金日を基準に入力されているので、担当者名がダブっています。これを新しいシート一枚に各担当者ごとに合計の入金額を出したいのですが、どのようにしたら出来るでしょうか?
当方で、統合機能を使ってやってみましたが、担当者名と入金額は出るのですが、店舗名が1【合計しているためと思いますが、】になってしまいます。

Aベストアンサー

 「エクセル」ソフトのこととして回答します。
 複数のシートを1枚にまとめるには「串刺し」集計という方法があります。参考書やネットで検索して下さい。全てのシートと集計用のシートを全く同じ書式に設定するのが基本です。今ではかなり簡単にできると思いますが、20年位前には集計シートに計算式をマウスのクリックで入れていました。
 そうしておけば各シートに数値を入力すれば、同時に集計シートに反映されます。
 集計シートさえできれば、これに基づいて「ソート」などの方法を使えば、ご希望の数値が把握できるようになると思います。

QVBA エクセル ピボットテーブル

皆様、こんにちは。

VBAでいくつかの表を合わせたピボットテーブルのようなものを作ろうとしていますが、やり方がよく分かりません。

例えば、次のような表があって

表1

350 Mat1 5674 t
640 Mat2 247 l
43 Ax1 24 t
0 … 0

表2

458 Mat3 5467 t
674 Mat1 674 t
98 Ax2 13 t
15 Ax3 87 l


次のようなピボットテーブルを考えています

ピボットテーブル
1024 Mat1 6318 t
640 Mat2 247 l
458 Mat3 5467 t
43 Ax1 24 t
98 Ax2 13 t
15 Ax3 87 l

つまり、同様な項目を合計し、異なるものを別々に入力したいです。ただし、対象となる表の数はユーザーが決めるので、固定したものではない。対象となる表の形式は同様です。

もしご存知の方がいらっしゃったら、教えてください。

どうぞよろしくお願いいたします m(_ _)m

皆様、こんにちは。

VBAでいくつかの表を合わせたピボットテーブルのようなものを作ろうとしていますが、やり方がよく分かりません。

例えば、次のような表があって

表1

350 Mat1 5674 t
640 Mat2 247 l
43 Ax1 24 t
0 … 0

表2

458 Mat3 5467 t
674 Mat1 674 t
98 Ax2 13 t
15 Ax3 87 l


次のようなピボットテーブルを考えています

ピボットテーブル
1024 Mat1 6318 t
640 Mat2 247 l
458 Mat3 5467 t
43 Ax1 ...続きを読む

Aベストアンサー

例えば、
『表がシートごとになっていて、必ずA1セルを起点とする』
『対象となる表の数はユーザーがシートを選択する事によって決定する』
というルールの元、ご提示のレイアウト通りに処理しようとすると、一例ですが

Sub try()
  Dim ws As Worksheet
  Dim dic As Object
  Dim r  As Range
  Dim s  As String
  Dim i  As Long
  Dim j  As Long
  Dim ix As Long
  Dim x  As Long
  Dim v  As Variant
  Dim w(1 To 65535, 1 To 4)

  Set dic = CreateObject("scripting.dictionary")
  For Each ws In ActiveWindow.SelectedSheets
    With ws.Range("A1").CurrentRegion.Resize(, 4)
      Set r = Intersect(.Cells, .Offset(1))
    End With
    If Not r Is Nothing Then
      v = r.Value
      For i = 1 To UBound(v)
        s = v(i, 2) & vbTab & v(i, 4)
        If dic.Exists(s) Then
          ix = dic(s)
          w(ix, 1) = w(ix, 1) + v(i, 1)
          w(ix, 3) = w(ix, 3) + v(i, 3)
        Else
          x = x + 1
          dic(s) = x
          ix = x
          For j = 1 To 4
            w(ix, j) = v(i, j)
          Next
        End If
      Next
      Set r = Nothing
    End If
  Next
  ActiveSheet.Select
  If x > 0 Then
    With Sheets.Add
      .Range("A1:D1").Value = Array("field1", "field2", "field3", "field4")
      .Range("A2:D2").Resize(x).Value = w
    End With
  End If
  Set dic = Nothing
End Sub

こんな感じで処理できます。
ですが"scripting.dictionary"という外部オブジェクトを使いますし、
配列に対して理解しておく事も必要になります。
コード内容が理解できなければメンテナンスも難しいのでハードルは高いです。

でも『いくつかの表をまずコピーしてまとめてしまえば』ピボットテーブルが使えます。
(画像)
そのコピーでまとめる作業と、ピボットテーブルを作る作業をマクロにしてしまえば良いです。
完成形を妥協すればここまででもいいですし、
必要であればピボットテーブルを[コピー]-[値貼り付け]する事でピボットを解除し、
列を組みかえれば良いです。

例えば、
『表がシートごとになっていて、必ずA1セルを起点とする』
『対象となる表の数はユーザーがシートを選択する事によって決定する』
というルールの元、ご提示のレイアウト通りに処理しようとすると、一例ですが

Sub try()
  Dim ws As Worksheet
  Dim dic As Object
  Dim r  As Range
  Dim s  As String
  Dim i  As Long
  Dim j  As Long
  Dim ix As Long
  Dim x  As Long
  Dim v  As Variant
  Dim w(1 To 65535, 1 To 4)

  Set dic = CreateO...続きを読む

Q複数のピボットテーブルを一括でデータ更新したい

エクセル2000です
50個ぐらいピボットテーブルがありまして
元データはほぼ固まっているのですが
若干の修正をしつつ集計しています。

色々ググってみたのですが
やはりピボットテーブルは1個1個「データの更新」を実行しないと
修正が反映されないのでしょうか?

同じピボットテーブルを複製しながら
50個作ればよかったのですが
集計の都合もあり
参照元データ範囲が少しずつ異なっています。

50個もあると、再計算?の待ち時間も長いので
なんとか自動で全部を更新できませんか?
ご存知のかた、よろしくお願いします。

Aベストアンサー

ツールバーの所で右クリックして「外部データ」ツールバーを出し,その6番目にある「全て更新」ボタンをポチッとクリックしてください。

QエクセルVBA ピボットテーブル更新するとエラー

エクセル2002

ボタンをクリックするとピボットテーブルが更新できるようにしました

Private Sub CommandButton1_Click()
ActiveSheet.PivotTables("ピボットテーブル1").PivotCache.Refresh
End Sub

ボタンを押して実行したあと、全角入力を受け付けなくなります
症状(全角時)
文字入力、BS、Del、テンキー等が効かなくなります。
Fキー、タブは生きています。

半角入力は問題ありません。
エクセルを再起動すると回復します。

症状を無くすにはどうすればよいでしょうか?
できればピボットテーブルはVBAのボタンで更新したいです。

Aベストアンサー

[コントロールツールボックス]のCommandButtonですね。
よくわかりませんが、デザインモードにしてCommandButtonを右クリック[プロパティ]。
TakeFocusOnClick を False にしてみたらどうなりますか?

もしくは、[コントロールツールボックス]のCommandButtonではなく、[フォーム]の[ボタン]に変更して
[マクロの登録]を使った場合はどうなるでしょう?

マクロの内容は、標準モジュールに
Sub Macro1()
  ActiveSheet.PivotTables(1).PivotCache.Refresh
End Sub
...というようなマクロです。

Qアクセスで複数テーブルをひとつにする方法 以下3つのテーブルがあります。 Aテーブル Bテーブル C

アクセスで複数テーブルをひとつにする方法

以下3つのテーブルがあります。
Aテーブル
Bテーブル
Cテーブル
共にフィールド数、フィールド名は共通です。
3つのテーブルのレコードをまとめてDテーブルを作る場合はどのように操作するのでしょうか?

Aベストアンサー

「ユニオンクエリ」について調べてください。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報