• ベストアンサー
  • 暇なときにでも

複数の名前の定義をした範囲を選択してピボットテーブ

複数の名前の定義をした範囲を選択してピボットテーブルを作成することは可能ですか? 例えば、「A」というシートには、 シート名 番号 日付 A 1 1月1日 A 2 1月1日 A 3 1月1日 というデータが入っています。 参照範囲を=A!$A$1:$C$4にして、Aという名前の付けました。 同じように、 「B」というシートには、 シート名 番号 日付 B 1 1月1日 B 2 1月1日 B 3 1月1日 というデータが入っています。 参照範囲を=B!$A$1:$C$4にして、Bという名前の付けました。 この二つの名前を基にピボットテーブルを作成したいのですが、 テーブル/範囲では、一つの名前しか指定できません。 どうすれば複数の名前を選択することができるのでしょうか? アクセスでたとえるのであれば、ユニオンクエリのようなことがしたいです。

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数314
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.2

それこそ MsQueryを使ってデータを UNIONで結合し それを外部データ 参照してやれば ピボットテーブルを作れます。……がかなり面倒です。 素直にマクロで1ヶ所にデータを集めてから処理した方がいいように思い ます。 ごく単純なクロス集計表の場合なら 複数のワークシート範囲を使ってやる 方法もないではないです。 Alt + D + Pでピボットテーブルウィザードを開き [複数のワークシート範囲] を指定してから 手順に沿って進めればいいです。 最初に書いた方法の場合 Excel2007以降の場合なら [データ]→[その他のデータソース]→[Microsoft Query]を指定して [Excel Files]→[OK]→ファイル・定義付けした名前を指定(とりあえず1つ) →[次へ]→[次へ]→[次へ]→[完了] [ピボットテーブル レポート]を選択し データを返す先を指定して[OK] [データ]→[すべて更新]→[接続のプロパティ] 「定義」タブの[コマンド文字列」のところに SQLで クエリを書き直せば いいです。 Excel:シートの分かれたデータを自動で統合2 http://www.geocities.jp/chiquilin_site/data/070309_data_integration2.html このページは 昔まだ何も分かってない頃に 何とかできないかと試行錯誤 していたころに作ったものなので……あまり参考にならないと思います。 Excel2000の場合とか書いてあるし^^; いずれ作り直します。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

どうもありがとうございました。

関連するQ&A

  • エクセル2003 グラフ 名前定義

    いつも回答して頂き、ありがとうございます。 グラフの参照範囲を名前定義で選択して作成し、動作も完璧でした。 そのグラフのはいったシートをコピーした所、参照範囲元のデータがコピー元のままでした。 名前定義で参照範囲を選択した場合、各シート毎に名前定義を作成しなければいけないのでしょうか?コピー先のデータを参照する方法があるのなら教えて頂けないでしょうか?宜しくお願い致します。

  • Excel2013名前の定義。範囲でブックかシート

    Excel2013名前の定義。範囲でブックかシートかを選ぶことができますが、既に参照範囲で名前をつけたい範囲を選択しているのになぜ、ブックかシートかを選ばないといけないのでしょうか。

  • 名前定義で定義している値が、自動的に可変してしまう

    Excel の質問です。 名前の定義について、教えて下さい。 僕が仕様を理解していないのか、関数の記述が間違っているのでしょうか ■現象 シートクリック時に、定義している関数の値が可変してしまう ■データ ワークシート[Sheet1]上データ  |A     |B ------------------------------------ 1|りんご   | 2|みかん   | 3|バナナ   | 4|パイナップル| 5|もも    | A1 ~ A5 は、データを直接入力 ■名前の定義 (1).数式リボン> 名前の管理> 新規作成 (2).以下 名前: 最終行番号 範囲: Sheet1 参照範囲: =MAX(INDEX((Sheet1!A:A<>"")*ROW(Sheet1!A:A),0)) (3).D10 に、「=最終行番号」と入力 ■結果 ・入力直後、D10 は、5 となるが、どこかのセルをクリック後、名前の定義を見ると「A:A」になっていない。  ・異なる列範囲になっている  ・規則性不明 ■期待結果 ・上記の場合、どのセルをクリックしても、名前の定義で定義した範囲が「A:A」のままであって欲しい。 ■現象確認 Excel2010 ■その他 ・参照範囲で設定している記述が、参照ではないからでしょうか?(自己定義関数を、名前の定義で呼び出している感じで、間違った使い方をしているから?)

その他の回答 (1)

  • 回答No.1
  • keithin
  • ベストアンサー率66% (5278/7939)

>複数の名前の定義をした範囲を選択してピボットテーブルを作成することは可能ですか? 可能か不可能かと言われれば可能です。 ただし、 1)普段のやり方では、作成できるピボットテーブルの姿に制限があります 2)例えなくてもMSQueryでユニオンしてリストの結合が出来ますが、当然手間は面倒です 1の手順: ALT+D Pと操作し、ピボットテーブルウィザードを出す https://faq.qqweb.jp/faq/viewer.asp?ID=D68968E50C 「複数のワークシート範囲」を指定する ピボットテーブルをAやBを名前定義したブックと同じブック内に作成するなら、範囲に A B を追加する この方式で作成できるのは、元のデータが既にクロス集計表の格好になっている必要があります その形態から、作成できるピボットテーブルレポートは元のクロス集計表の結合になります。 2の手順: http://www.geocities.jp/chiquilin_site/data/070309_data_integration2.html ピボットテーブルの元のデータとして「外部データソース」から準備したユニオンクエリを指定します。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

どうもありがとうございました。

関連するQ&A

  • エクセルのピボットテーブルで複数の範囲をとる場合

    ピボットテーブルで分析するデータが複数範囲にある場合、ピボットテーブルウィザードで複数のワークシート範囲を選び、次の画面へ行き、フィールドを含め複数範囲を選択してもフィールドが、列・行・値となり、うまくできません。 わかる方いらっしゃいましたら、是非教えてください! 宜しくお願いします。

  • エクセルで名前の定義の範囲をシートからブックに

    エクセルでシートの一定の参照範囲に名前の定義を行いました。 この時、範囲(参照範囲でなく)をシートでしたものを、あとからブックに変更はできないのでしょうか? 「名前の編集」を開くと、範囲はグレーになっており、ブックに変えることができないのです。 ご教示ください。

  • DCOUNTA関数で複数範囲を選択する

    DCOUNTA関数で複数のデータ範囲を対象とする場合、それぞれ別個にDCOUNTA関数で値を出して合算する、という方法ならできたのですが、 複数の範囲に名前を設定して一個の関数だけで算出しようとしたら、できませんでした。 例)できたやり方   =DCOUNTA(B2:D52,"氏名",V2:W3)+DCOUNTA(F2:H52,"氏名",V2:W3) 例)できなかったやり方   名前の定義で参照範囲      =B2:D52,F2:H52   にデータ範囲という名前を付けて、   =DCOUNTA(データ範囲,"氏名",V2:W3) 名前の定義の方法が違うのか、DCOUNTAで複数範囲を対象とすることができないのか、何が悪いのでしょうか?

  • ピボットテーブルの範囲を選択する事はできますか?

    ピボットテーブルの範囲を選択する事はできますか? ピボットテーブルをクリックして、 CTRL+Aを押すと、 現在アクティなピボットテーブル全体を選択できます。 この動きをマクロの記録で取ってみたのですが Sub Macro1() Range("A3:B9").Select Range("B8").Activate End Sub しか記録されてませんでした。 やりたいことは、該当のピボットテーブル全体を選択し、 その範囲に名前を付けたいのですが まずピボットテーブルの範囲を選択するマクロ(VBA)を作成したいです。 ピボットテーブル名を指定して範囲を選択することはできないのでしょうか? Cells(Rows.Count, "A").End(xlUp).Row など最終行、最終列を取得していくしかないのでしょうか?

  • 名前定義した範囲をリストにした時に、空白も選択可能にしたい。

    Sheet1のA1~A3 には以下の文字が入ってます。 A1 → 猫 A2 → 犬 A3 → 鳥 ↑の範囲(A1:A3)を「動物」と名前を定義しました。 そして、Sheet2に「動物」をリストとして表示したいのですが、その時に空白も選択できるようにしたいです。 ※空白とは、何も選択しないということです。 リストを作成した直後の初期値?は空白になっていますが、 一度リストから文字を選択してしまうと、その後再び空白に戻したいと思っても戻せないんです。 例えば、 「猫」を選択した後、やっぱり気が変わって、空白(未選択の状態)に戻せるようにしたいです。 解決策として、Sheet2で名前定義した「動物」の範囲に空白も含めたところ、解決しました。 ※下の画像では、空白も含めた範囲を「動物その2」としています。 「動物その2」をリストにすれば、ちゃんと空白も選択できました。 しかし、名前を定義する範囲に空白を含めたくないんです。 ※下の画像でいうと、名前定義の範囲を「動物その2」ではなく、「動物」にしたいんです。 そういう事は無理でしょうか? もし他の方法をご存じの方は教えていただけないでしょうか 尚、空白を表示するのはリスト最上部でも最下部でもどちらでもOKです。 バージョンは Excel2007 です。

  • VBEでシートコピーすると特定の名前定義にエラー

    VBEで、毎日変動するデータを取り出し、前日データからコピーしてテンプレにいれこんでいます。 これまで問題なく作動していたのですが、テンプレのデザイン更新をしてから、名前の定義が上手くコピーされなくなりました。 仕様としては 前日の名前ブックをコピー  →当日の名前で新しいブックを作成  →1枚目のシート(名前が前日の日付になっている)をコピーしてシートの名前を当日に変更  →当日のシートにCSVで取り出したデータを貼り付けて当日のデータで数字を算出 となっています。 この時、シートには四種類の 名前定義がされており、同名で各シート毎に参照しています。 四種類のうち、ひとつだけ名前の定義内に別の名前定義を含めた関数で定義しているものがあるのですが、この特定の名前定義のみにエラーが出ます。 #N/Aのエラーです。 どなたかご教授いただければ幸いです。 よろしくお願いします。

  • ピボットテーブルの範囲を選択したい

    vbaでピボットテーブルの端から端までを選択し、罫線をつけるコードを書きたいのですが シートにはピボットテーブル以外のデータがある為、 Sub tset() Dim rngData As Range Set rngData = ActiveSheet.UsedRange rngData.Select End Sub こういう事をすると、ピボットテーブル以外も選択されてしまいます。 ピボットテーブル1の範囲.Select みたいなことはできますか?

  • エクセル2007での名前の定義について

    エクセル2007での名前の定義について教えて下さい。 エクセル2007を使用しています。 「現金」というシートのA1:A5を選択し、 シート左上の名前定義ダイアログの名前ボックスに、 「科目」と登録し、 「銀行」というシートのA1:A5を選択し、 シート左上の名前定義ダイアログの名前ボックスに、 同じように「科目」と登録すると、 先に登録した「現金」シートの「科目」のセルに飛んでしまい、 同じ名前を使用することが出来ません。 しかし、前任者の作成したデータでは、内容が違う同じ名前の定義が出来ています。 (シート左上の名前定義ダイアログの名前ボックスをみると同じ名前。 でも内容はシートごとに違う) これはどのようにしたら出来るのでしょうか? お分かりになる方お願いいたします。

  • 【長文です】Excel2000 名前の定義を計算式に利用していますが、急に参照できなくなりました。

    初めて質問させて頂きます。 仕事で使用しているExcelファイルの様子がおかしく、困っています。 該当ファイルは以下の内容です。 ・WinXP・Excel2000 ・商品コード、商品名など商品データベースとして作成 ・シートは全3枚  ⇒Sheet1は約3000件、Sheet2は約100件、Sheet3は約250件のデータがあります。(商品の使用用途により、シートを分けています) ・このブックを参照元として、同じ書式のExcelブックを作成します  その際、参照先ブックはIFとVlookupを使って商品コードを入力すると商品名他の情報が表示されるようにしています ・Sheet1のデータ部分に「List1」、Sheet2のデータ部分に「List2」と名前を定義し、参照先の計算式で名前を利用しています。 ・Sheet1とSheet2には、データを検索するためのマクロを付けています。どちらもFor…Nextを使って商品名で検索し、検索を解除するも のです。コードや価格等の検索はオートフィルタを利用します。 このファイルは、今日の午前中まで正常に利用できましたが、正午すぎに急に以下のような症状がでました。 ・参照先ファイルに商品コードを入力しても、全てのコードでエラーになる(エラー表示は"NAME?"もしくは"N/A")  ⇒参照元に該当データがあることを確認しています。 ・既存の参照先ファイル(商品名等が正常に入力してあるもの)を開き、データを更新すると、全件エラー表示になる(エラー内容は上記 と同じ) 現在、このような状況です。 ・参照元ファイル(該当ファイル)で名前の定義がされているセル範囲の確認をしました。 ⇒通常、名前ボックスで定義された名前を選択すると、定義されたセルまたはセル範囲が選択されると思いますが、まったく選択されません。 それどころか、定義した同じ名前で同じシート内の別のセルが定義されてしまいます。(名前ボックスに同じ名前が2つ並んだ状態です) いっそのこと名前の定義をしなおそうと思い、挿入⇒名前⇒定義で定義済みの名前2つを削除しようとしましたが、削除されません。(選択した名前のセル範囲は消えますが、名前は消えずにボックス内に表示されたままです。 ・挿入⇒名前⇒定義で再度、セル範囲を指定しなおしましたが、状況はかわりませんでした。 ⇒このサイトの過去ログ・ネット上の他サイト・マイクロソフトのサポートなどいろいろ検索してみましたが、こういうケースの対処法をみつけることができませんでした。念のためウィルスのオンラインチェックもしてみましたが、ウィルスは検索されませんでした。 ・参照元の計算式の内容から、名前を定義したセル範囲(Vlookupでセル範囲として利用)が正常に定義されていないため、エラーが表示されるのではと考えていますが、参照先の計算式を名前を使用しない式に変えようと思うと、過去数年分は見直さなくてはならないので、他の方法を探しています。 ・この症状がでる前(今日の午前中)に作業していた人は、名前の定義やマクロを修正するなど、通常業務以外のことは何もしていないとのことでした。 なぜ、突然こんなことになるのか検討がつきません ・現在定義している名前「List1」「List2」が今まで通りのセル範囲を定義できる方法(セル範囲の修正方法)をご存知の方、またこういうケースに遭遇したことある方、何か他にアイデアがある方など、回答どうぞよろしくお願いします。 長文で申し訳ありませんでした。 よろしくお願いします。

  • 別のエクセルファイルで名前の定義をつけた範囲からの検索

    書類を作成するのにエクセルを使っています。 現在のところ、検索するデータを同じエクセルファイルの別シートからINDIRECT関数で名前の定義を付けた範囲から検索しています。名前の定義をつけたデータは数種類あります。 これを別のエクセルファイルに移し、そこから検索できますか? よろしくお願いします。

専門家に質問してみよう