• ベストアンサー

エクセルのピポットテーブルのセルの値を繰り返し表示(結果をあとでオートフィルタや並び替えにかけたいが・・・)

エクセルのピポットテーブルのカテゴリーのセルを結合することはできますが、各セル全部に値を入れることはできるでしょうか。 例えば: 色,大,小,value 赤,A,a,10 赤,B,a,5 青,B,b,2 を、エクセル2002のピポットテーブルにて次の表のように行に色、大文字、列に小文字ににすると、赤が一つの行にしか表示されません   ,a , b 赤,A,10,   ,B,5,  青,B, ,2 このままだと値をコピーしてもオートフィルタや並び替えにかけられませんが、どなたか、同じカテゴリーの部分の全部の行にカテゴリー名を表示する方法やそのためのVBAなどをお教えいただけますと大変助かります。どうぞよろしくお願いします。

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

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

コピー&ペーストした後、行のフィールドだった範囲を選択します。 (例の場合は、色の列だけでいいのかな) [Ctrl]+[G]ジャンプ - [セル選択] - ●空白セル そのまま 「=」を入力して [↑] 数式(相対参照の式)が入るので[Ctrl]+[Enter]で確定します もう一度、行のフィールドだった範囲を選択してコピー 形式を選択して貼り付け ●値 マクロに関しては自信がありませんので、 上記の一連の動作を記録してはどうでしょうか?

latifolius
質問者

お礼

ありがとうございます。 人手間ありますが、マクロなしで確実にできました。 CTL+ENTERで選択範囲全部に相対参照で同じ式が入力できるのは初めて知り大変勉強になりました。 ありがとうございます。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

もう少しデータ例を増やし、丁寧に例と説明を書かないと趣旨がわかりにくい。 下記を参考に見習ったらどうですか。 例データ 色 大 小 値 赤 A a 10 赤 B a 5 青 B b 2 赤 C a 10 青 A b 2 ーーーー ピボットテーブル 合計 / value 小 色 大 a b 総計 青 A 2 2 B 2 2 青 合計 4 4 赤 A 10 10 B 5 5 C 10 10 赤 合計 25 25 総計 25 4 29 ーー 青 合計 のセルで右クリックー表示しない、で 合計 / value 小 色 大 a b 総計 青 A 2 2 B 2 2 赤 A 10 10 B 5 5 C 10 10 総計 25 4 29 ーーーーー これをG3を黄転移して、形式を選択して貼り付けー値 ーー VBAについては課題丸投げでコードを書いてほしいと言うのは規約違反だが、内容が簡単なので書いておく。 #1のご回答のよう操作が、質問者には適当かと思う。 標準モジュールに (貼り付ける場所でG,For i = 3 To dの3は変得るべきです。) Sub test03() d = Range("G65536").End(xlUp).Row MsgBox d For i = 3 To d If Cells(i, "G") = "" Then Cells(i, "G") = Cells(i - 1, "G") Next i End Sub を実行。 ーーー 結果 合計 / 値 小 色 大 a b 総計 青 A - 2 2 青 B - 2 2 赤 A 10 - 10 赤 B 5 - 5 赤 C 10 - 10 総計 25 4 29 結果はこういうのでよいのかな。 ーー ピボットテーブルを直接触らせてくれないようだ。何か保護を解除すれば、触れるのかもしれないが。

latifolius
質問者

お礼

ありがとうございます。VBのほうも大変勉強になりました。こちらの方法も試してうまく行きました。質問が分かりにくい点すみません。

関連するQ&A

  • EXCELで同じ文字の入ったセルの個数を表示する

    EXCELを使って、同じ文字の入ったセルの数を数えて表示したいのですが、具体的には セルA1~C1には人の名前 セルA2~A11、B2~B11、C2~C11には文字が入っています。 表示したいのはセルの値の合計ではなく、同じ文字の入ったセルの個数です。 例    A     B     C   鈴木   山田   佐藤 2 赤外   赤中   青中 3 青外   青中   赤内 4 赤外   青内   赤外 5 赤外   赤中   青中 6 青外   赤中   赤外  11 赤外   青内   赤外 集計 赤外 3    2     2 赤中 2    3     1 赤内 1    1     1 青外 2    1     2 青中 1    1     3 青内 1    2     1 このような感じです。 どなたか宜しくお願いします。

  • エクセル2003のピポットテーブルについて

    エクセル2003のピポットテーブルについて はじめまして 元データはあいうえお順になっているのですが、 エクセルのピポットテーブルで作った表で、 列、行のリストの名前をあいうえお順にするには、 セルの枠をドラッグして並び替えするという 手作業でしかできないのでしょうか? ネット調べましたが、それしか見つけられませんでした。 ご存知の方、 よろしくお願いします。

  • エクセル並び替え

    エクセルの並び替えで苦戦しております。 セルA.B内のデータとセルC.D内のセルを行で一致させたいんですが 出来ますでしょうか。 また、セルA内のデータにセルB内のデータをA内の文字の後ろにつけ加えることはできるでしょうか?

  • エクセルでの計算結果値を色分けする

    たとえば、A/Bの値が100%以下の場合はその値を赤色の文字にし、100%以上の場合は、その値を青色にする。というような計算結果の数字を色分けすることはできるのでしょうか?(セルの書式設定にマイナス時に赤にするというのがありましたが) 使用エクセルは2003です。

  • エクセル07 ピポットテーブルの使い方について

    エクセル07 ピポットテーブルの使い方について エクセル03と少し変わっているようです。 ピポットテーブルを作るにあたり、データーを作成しました。 B1会社名C1請求日、D1入金日E1請求額F1入金額の列です。B2からB50までデーターを入れました。 そこでピポットテーブルを作成します。 行ラベルに会社名、さらに行ラベルに請求日 値には請求額と入金額を指定してます。 入金日を行ラベルではなく、入金日の横にならべて表示したいと思います。エクセル07では 入金日を行ラベルに指定すると、請求日の下に入金日の日付が表示され見づらいです。 エクセル03では、行ラベルに入金日を指定すると、きれいに 請求日の横(下ではなく) 表示されます。 07でこのように表示できないでしょうか。 入金日のコラムを値にもって行き、データー個数から日付に変換できますが、 日付がデーターとは違って表示されるものが何点かあります。例えば、 データでは2010年1月15日のものが、2020年2月1日ととピポットテーブルで表示され解決できない状態です。 お時間がある時教えてもらえないでしょうか。 お知恵をお借りできないでしょうか・

  • エクセルのセルの並び替え

    A列の1~100行まで値(数字)が入力されていると仮定して、 A列の100行目のセルの値をB列の1行目のセルへ、 A列の99行目のセルの値をB列の2行目のセルへ、 というように並び替える方法を教えていただけないでしょうか? また、この時の各セルの値の大きさは関係ないです。 よろしくお願いします。

  • エクセルの並び替え (セルの色を除いて)

    エクセルの並び替えにつきまして質問させて頂きます。 入力の際見やすいように一行おきに薄くグレイにしています。 この表で並び替えをしますと、行の色も並べ替えられて白の行が続いたり、薄いグレイの行が続いたりします。 この様な場合、「セルの書式」のセルの色だけ移動せずに並べ替えをすることは可能でしょうか? 可能でしたら、手順を是非ご教授下さい。 よろしくお願いいたします。

  • 同じ値のセルを見つける

    エクセルで、違う行列に入力してある、同じ値のセルを見つけたいのですが、何か方法はあるでしょうか。 例えばA1とB2セルが同じ値(X)と入っていたら、その2行を表示する等です。

  • エクセルでセルに色を付ける(多条件)

    質問を検索していてある程度はわかったのですが、 セルに条件によって色を付けるやり方は条件付書式でできるみたいですが、条件が3つまでしか指定できません。 4つ以上ある場合はどうすればよいでしょうか。 例えば、A1セルにはAからEまでの文字が入力されます。 入力された文字によってB1セルをAなら赤、Bなら青といった具合に違う色を表示させたいのです。 エクセル2000です。 宜しくお願いします。

  • Ecxellでセルの数値によって、そのセルの表示形式を変える方法

    Ecxell2003で、セルの数値によって、そのセルの表示形式を変える方法があれば、教えて下さい。 (例)セルA1の値が0以下だったら、その数値を"赤色の文字"で表示し、0以上なら"青色の文字"で表示する。 =if(a1<=0,赤色の文字で表示,青色の文字で表示) 上記のような関数または別の方法などがあれば教えて下さい。

専門家に質問してみよう