• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXEL 行,列の並び順を変えないピボットテーブル)

EXEL 行,列の並び順を変えないピボットテーブルの作り方

このQ&Aのポイント
  • EXELで行と列の順序を変えずにピボットテーブルを作成する方法について教えてください。
  • 通常のピボットテーブルでは、行と列の順序が自動的に並び替えられますが、元の表の行と列の順序を保ったままピボットテーブルを作成したいです。
  • ユーザー設定リストでは指定する順序が文字列ではないため、ピボットテーブルに拘らず他の方法でも構いません。どなたか詳しい方、アドバイスをお願いします。

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

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

前提として価格についても「同じ価格が現れる可能性がある」とすると、サイドナンバーを振ってピボットテーブルレポートで並べてしまうのが簡単そうです。 添付図: A列 ただの1から連番 B列 価格 C列 税番 D列 =IF(ROW()=MATCH(C2,C:C,0),MAX($D$1:D1)+1,VLOOKUP(C2,C:D,2,FALSE)) 番号と価格を列に配置 税番号と税番を行に配置 合計/金額を配置

home2007
質問者

お礼

サイドナンバーですか!その手があったんですね。 D列の関数も教えていただいて、助かりました。 早速実行してみます。 本当にありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! ピボットテーブルではなく、Sheet1のデータをSheet2に表示するようにしています。 作業用の列を設ければ関数でできると思いますが、 VBAでやってみました。 Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub Sample1() 'この行から Dim i As Long, j As Long, cnt As Long, c As Range, wS1 As Worksheet, wS2 As Worksheet Set wS1 = Worksheets("Sheet1") Set wS2 = Worksheets("Sheet2") Application.ScreenUpdating = False wS2.Cells.ClearContents wS1.Range("A:A").Copy wS2.Cells(1, 1) cnt = 1 For i = 2 To wS1.Cells(Rows.Count, 2).End(xlUp).Row Set c = wS2.Range("1:1").Find(what:=wS1.Cells(i, 2), LookIn:=xlValues, lookat:=xlWhole) If c Is Nothing Then cnt = cnt + 1 wS2.Cells(1, cnt) = wS1.Cells(i, 2) End If Next i For i = 2 To wS1.Cells(Rows.Count, 2).End(xlUp).Row j = WorksheetFunction.Match(wS1.Cells(i, 2), wS2.Range("1:1"), False) wS2.Cells(i, j) = wS1.Cells(i, 1) Next i Application.ScreenUpdating = True End Sub 'この行まで ※ 関数でないので、Sheet1のデータ変更があるたびにマクロを実行する必要があります。m(_ _)m

home2007
質問者

お礼

VBAまで書いていただいて、恐縮です。 この方法も今後のために実行して、身につけたいと思います。 すばやいご回答、本当にありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ピボットテーブル最終行から2行目に項目を入れて3行目から新しいピボットテーブルを貼り付けたい。

    エクセルのマクロで、ピボットテーブルを2つ作成しています。 それを集計表シートに貼り付けています。 「A1」に「ピボットテーブル1」の名前を入れて 1つ目のピボットテーブルの範囲が「A2:G10」の場合 11行目は空欄 「A12」に「ピボットテーブル2」の名前 「A13(:D20など)」ピボットテーブル2 というようにピボットテーブルを貼り付けていきたいのですが、 良い方法はありませんか? 現在は2つ目のピボットテーブルを「A25」に貼り付けるように 設定していますが、1つ目のピボットテーブルの大きさが毎回 変化するので、見た目がきれいではありません。 2つ目のピボットテーブルを貼り付ける部分のVBAを記入しておきます。 「貼り付け」シートのデータを元にピボットテーブルを作成しています。 ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ "貼り付け!R2C15:R300C19", Version:=xlPivotTableVersion12).CreatePivotTable _ TableDestination:="集計表!R25C1", TableName:="ピボットテーブル13", DefaultVersion _ :=xlPivotTableVersion12 Sheets("集計表").Select Cells(25, 1).Select

  • Excel2003 ピボットテーブルについて教えて下さい

    Excel2003 ピボットテーブルについて教えて下さい Excel2003でピボットテーブルを作っています。 まず「ブックA」の「シートA-1」にあるデータをもとにして、 新規シート「シートA-2」にピボットテーブルを作りました。 その後、「ブックB」の「シートB-1」にあるデータでピボットテーブルを作ろうとしたのですが、 「シートA-1」「シートB-1」はフィールド項目も表示したい表の形もまったく一緒なので、 「ブックA」のピボットテーブルを流用しようと考えました。 なので「ブックA」のピボット「シートA-2」を、「ブックB」内にコピーして、 その後「ブックB」に新しくできたピボットテーブルの参照範囲を「シートB-1」のデータにしました。 ピボットテーブルは無事にできたのですが、 フィールド名の右の▼をクリックすると出てくるリストに、 「シートA-1」のものと、「シートB-1」のものが混じって表示されてしまいます。 「ブックB」のピボットテーブルには、「シートB-1」のものだけを表示したいのですが…。 フィールドのリストで要らないものを削除する方法、 または、そもそもピボットテーブルのコピー自体でもっと良い方法があったら教えて下さい。 よろしくお願いします。

  • エクセル2000のピボットテーブルで 「行」にあるデータを「列」へ移動

    エクセル2000のピボットテーブルで 「行」にあるデータを「列」へ移動する方法がありましたら、ご教授頂けるとありがたいです。 上のバージョンでは、「ピボットテーブル」→「順序」→「列に移動」というのがあったかと思いますが、2000ではこの機能が見当たりません。 よろしくお願いいたします。

  • エクセルのピボットテーブルで

    ピボットテーブルの表示方法についてです。 表の品名と数量からピボットテーブルを作成します。 行に品名、データ部に数量を表示させるのですが、数量が0(ゼロ)の場合には、その行自体を表示させない様にしたいのです。 元の表の方は変更等出来ないので、ピボットテーブルの方で何とか出来ないかと思います。 【元の表】 品番  数量 A001  5,000 A002    0 B001  4,500 B002    0 上記の2列からピボットテーブルを作成すます。 【ピボットテーブル】 品番  数量 A001  5,000 B001  4,500 総計  9,500 上記の様に、元の表で数量が0なら、その品番と数量の行が表示されない様にです。

  • Excelピボットテーブルの列順について

    Excel2010です。 ピボットテーブルを作っているのですが、 列の並べ方で苦慮しています。 以下のようなデータがあります。 0-4 5-6 7-9 10-19 20-29 30-39 40-49 50以上 これを列ラベルに設定すると、 0-4 10-19 20-29 30-39 40-49 50以上 5-6 7-9 になってしまいます。 文字扱いとしては、この並び順になるのが当然だと思いますが、 これを、最初のデータのように並べる方法は無いでしょうか? 00-04のように桁数を合わせれば、できるとは思うのですが、 ちょっと見苦しいので、他の方法を模索しています。 以上、よろしくお願いします。

  • ピボットテーブルで空白セルの数を集計したい

    以下のように、セルに入る数が1か空白の表を、ピボットテーブルを用いて集計しています。 [A列] [B列] Aさん 1 Bさん 1 Cさん Aさん 1 Bさん このとき、ピボットテーブルには自動的に「(空白)」という項目が出てきますが、     1 (空白) Aさん 2 Bさん 1 Cさん このようになり、空白セルの数を数えてくれません。ここでいうと、BさんとCさんの(空白)の列にそれぞれ「1」が入るようにしたいのですが、 このようにする設定は可能でしょうか? excel2003を使用しています。よろしくお願いいたします。

  • Excelピボットテーブルについて

    ピボットテーブルを使ってデータ集計をしています。 とある文字列Aの個数と文字列Bの個数を値として表に出しているのですが、 文字列Aの個数/文字列Bの個数を表示させる新たな列を作ることは可能でしょうか? 集計フィールドの挿入で「文字列A/文字列B」と入れてみたのですが、#DIV/0!になってしまいました。 もう少し具体的にやりたいことを書くと、 品物列に「きゅうり、りんご、トマト」の文字列 〇×列に「〇、×」の文字列 が、データベースに入っていて ピボットテーブルのほうできゅうりと入力されてる個数、〇と入力されてる個数が値としてあります。 きゅうりが3、〇が1だとして、1/3をパーセント表示した列を作りたいです。 (きゅうりの合計数のうち〇が何パーセントあるか) 分かりにくくてすみません。。 可能であればその方法も教えていただきたいです。

  • ピボットテーブルのことです

    ピボットテーブルで集計した表を作りました。 A列内で、例えばA6セルの右下をドラッグして下にずらすと「数式1」と入って行が挿入されてしまいました。 フィールドが追加されてしまったようですが、削除するにはどうしたらよいでしょうか? 宜しくお願いします。

  • ピボットテーブルの並べ替え

    リストを元にピボットテーブルを作れますが、作ったピボットテーブルって行エリアでも列エリアでもいいですが、昇順や降順に並べ替えることは可能でしょうか? もし、できるとしたらやり方を教えていただけませんでしょうか。 よろしくお願いします。

  • 【Excel2003】テーブルからピボットテーブル

    【Excel2003】で、リスト形式の表ではなく、テーブル形式の表からピボットテーブルの枠を作成するにはどうすればいいのでしょうか? Excel2007や2010バージョンでは、すぐにできるのですが。。

専門家に質問してみよう