
行いたい処理のイメージ
___A_______B
1_価格__税番
2_100____5
3_500____8
4_1300___5
5_10______1
6_930____3
7_4950___5
↓ ピボットテーブル化
(価格)
↓
_____A_____B____C____D_____E
1___________5____8____1______3 ←(税番)
2__100___100
3__500_________500
4__1300_1300
5__10_________________10
6__930______________________930
7__4950_4950
通常このような処理はピボットテーブルを使うと思うのですが、
行いたい処理は 価格の並び順と税番の並び順を元の表のものから
まったく変えずにピボットテーブルをつくることです。
普通にピボットテーブルを作ると
自動的に列と行の順序が共に並び替えられます。
ユーザー設定リストも試したのですが、単純な文字列でないと
指定する並び順を設定できないようで、、、
最終的に処理後の表のようになるのであれば、ピボットテーブルに
拘らずネスト関数などでの処理でも問題ありません。
どなたかお詳しい方、お知恵を貸してください。
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))
番号と価格を列に配置
税番号と税番を行に配置
合計/金額を配置

サイドナンバーですか!その手があったんですね。
D列の関数も教えていただいて、助かりました。
早速実行してみます。
本当にありがとうございました。
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
VBAまで書いていただいて、恐縮です。
この方法も今後のために実行して、身につけたいと思います。
すばやいご回答、本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ピボットテーブルについて 列フィールドに複数横並びに項目を表示したい場合、階層毎に表示されてしまう現 2 2022/06/28 00:27
- Excel(エクセル) ピボットテーブル集計表について。ピボットテーブルで集計を行うとき、内訳集計ではなく、通常集計表にする 2 2023/08/10 07:16
- その他(データベース) 業務用のデータベースサーバーの選び方について 4 2022/11/22 10:22
- Excel(エクセル) ピボットテーブルの表示変更の仕方 初心者なので、的外れな質問だったらすみません 受注日ごとに商品名と 1 2022/04/26 23:23
- Excel(エクセル) 範囲指定をした中で、住所の列をユーザー設定の並べ替えをしたい 3 2022/05/15 13:51
- その他(Microsoft Office) 1の行を固定した上でVBAを用いて日付順に自動並べ替え 2 2022/06/06 15:09
- C言語・C++・C# 変数のスコープ 5 2023/05/27 17:50
- その他(Microsoft Office) ピボットテーブルへの集計フィールド挿入 1 2023/02/26 11:33
- Visual Basic(VBA) VBAでのMATCH関数 3 2022/10/17 19:06
- 情報処理技術者・Microsoft認定資格 IT資格勉強について 3 2023/04/11 13:54
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
大学のレポート A4で1枚レポー...
-
【Excel VBA】PDFを作成して,...
-
マクロ自動コピペ 貼り付ける場...
-
エクセルで英文字に入れた下線...
-
Microsoft Formsの「個人情報や...
-
Office2021を別のPCにインスト...
-
英数字のみ全角から半角に変換
-
outlookのメールが固まってしま...
-
office365って抵抗感ないですか?
-
Teams内でショートカットって貼...
-
Excel 日付を比較したら、同じ...
-
表の作成について
-
Office 2021 Professional Plus...
-
Microsoft365について
-
エクセルで特定のセルの値を別...
-
エクセルVBAで1004エラーになり...
-
MSオフィス2013にMS365が上書き...
-
MicrosoftOfficeの1ユーザー2...
-
1つのPCに「Excel 2010」「Exc...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
英数字のみ全角から半角に変換
-
Office2021を別のPCにインスト...
-
エクセル ○○以上○○以下の関数を...
-
Office 2021 Professional Plus...
-
会社PCのメールが更新されない
-
outlookのメールが固まってしま...
-
Excelデータで必要な部分だけを...
-
表の作成について
-
マイクロソフト 一時使用コード...
-
エクセル ○○以上○○以下で、条件...
-
データの文字コードを確認するには
-
【Excel VBA】PDFを作成して,...
-
別シートの年間行事表をカレン...
-
office365って抵抗感ないですか?
-
office2019 のoutlookは2025年1...
-
Microsoft Formsの「個人情報や...
-
マクロ自動コピペ 貼り付ける場...
-
エクセル 関数の数値の入れ方を...
-
エクセル すべて+5をしたい
おすすめ情報