ピボットテーブルを作成すると、データの表示順が昇順になるようなのですが、それを任意の順序に変えることはできるのでしょうか。
例えば「色」フィールドの内容において
元のリストの順番が
きいろ→みどり→あか
となっていても
ピボットテーブルにすると自動的に
あか→きいろ→みどり
と昇順になるので表示順を変えたいということなのですが。。。よろしくお願いします。

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

A 回答 (1件)

ピボットテーブルも集計も、同一の値をグループ化して成り立っているからだと思います。


これを回避するためにはキーとなる値を文字列にするだけではだめなので
01きいろ→02みどり→03あかのように値の先頭にキーとなる値を付加すれば
よいではないでしょうか?
    • good
    • 0
この回答へのお礼

お礼が遅くなり、申し訳ありません。
ありがとうございました。

お礼日時:2004/01/22 17:50

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

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

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

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

Qピボットでの合計とデータのカウント方法

下記のようなデータで 行:日付(月でグループ化)、商品。列:国。データ:[合計/金額] 
でピボットを作りました。

データに[データの個数/名前]をプラスすると、商品の行が2行になってしまいますが、
ここには金額だけが表示したいです。
で、月の[合計/金額]の次の行に人数のカウントを表示させたいのですが、
今のやり方だと同じ名前が別カウントになってしまいます。
どうにかうまくやる方法があったら是非教えていただければと思います。 

日付 名前 国 商品 金額
1月1日 佐藤 日本 タイヤ 100
2月3日 田中 日本 パソコン100
1月13日 田中 中国 タイヤ 100
4月22日 佐藤 中国 パソコン100
2月16日 佐藤 インド タイヤ 100
1月3日 田中 中国 パソコン100
4月5日 佐藤 中国 パソコン100

Aベストアンサー

日付、国、商品、合計金額を表示させたピボテの中に、ご希望の人数を数値で表示させることは不可能と考えます。
ページフィールドに「名前」をドラッグした結果を FIG-1 に示します。
此処で「(すべて)」の右下隅の▼をクリックすると、FIG-2 に示すように、佐藤と田中の2名であることが分かります。

Q【Excel】ピボットテーブルで他のピボットテーブルの値を参照する方法

Excelのピボットテーブルについての質問です。

ピボットテーブルでは、リレーションシップの設定をして、複数のテーブルを参照できますが、
他のピボットテーブルの値を参照することは出来ないのでしょうか。

用途としては、料理毎の食材費をまとめようとしています。
第一のピボットテーブルで食材の費用の平均を出し、
第二のピボットテーブルで使用する食材の平均を合計し、
料理毎の費用を算出しようと思っています。

複数のピボットテーブルを使用すること自体にこだわっているわけではないので、
上記の集計をする別の方法がありましたら、それでも構いませんので、
教えていただけないでしょうか。

Aベストアンサー

ピボットテーブルのデータを取り出すことはできます
GETPIVOTDATA関数を使います。
たぶん、適当なあいているセルに = を書いて
ピボットテーブル内のデータフィールドをクリックすればできていると思います
参考まで

QExcelのピボットテーブルの使い方

こんにちわ。
ピボットテーブルの使い方について質問です。

2012/7/24 8:00   作業A
2012/7/24 9:00   作業B
2012/7/25 15:00   作業A
2012/7/25 16:00   作業C

Aのセルに日時と時間 Bのセルに作業の種類が掲載されています。
こちらのデータを、各日に各作業が何回行われたかカウントする必要があります

以前ここで質問をさせていただいて「ピボットテーブルを使うと良い」と言われましたので
調べてみたのですが、恥ずかしながら各日に種類に関係なく作業が何回発生したかの
カウント方法しか出来ませんでした。

1からやり方を教えていただけませんでしょうか?
よろしくお願いします。

Aベストアンサー

「各日に種類に関係なく作業が何回発生したかのカウント方法しか出来ませんでした。」
との記載から恐らくおしいところまでいっていると思います。
作業の横にすべて1と入れてもう一度ピポットを組んでみてください。
それで解決する予感がします。

Qエクセル(2002)のピボットテーブルで列の順番をデータ順にしたい

住所録があり、職業別発送数の計を出すためピボットテーブルで職業を列にすると、列の順番が元データと変わってしまいます。会社員、公務員、その他の順番にしたいのです。列で右クリック>順序をすれば変えられますが、データ数が多いといちいち面倒です。何かいい方法はないでしょうか。


職業発送数
会社員10
会社員2
公務員5
公務員3
その他6
その他4

→ これをピボットテーブルでやると

合計 / 発送数
職業合計
その他10
会社員12
公務員8
総計30

Aベストアンサー

「ツール」-「オプション」の「ユーザー設定リスト」に
会社員
公務員
その他
の順を登録しておくと、ピボットテーブルを作成したときにその順番になるようです。

QExcelのピボットテーブルで数も考慮した値段の平均値を出したいのです

Excelのピボットテーブルで数も考慮した値段の平均値を出したいのですが
自分自身で組んだピボットテーブルだと平均値が出せません。

商品A50個100円
商品B・・個・・・円
商品A20個150円
商品A20個180円
商品C・・個・・・円

のようなデータがあった場合、ピボットテーブルの集計の方法で平均を選ぶと
商品の数を考慮せず1行=1個でカウントしてしまうため商品Aの場合
(100円+150円+180円)÷3=143円となってしまいます。

本当は((50個×100円)+(20個×150円)+(20個×180円))÷(50+20+20)個=128円
と計算させたいのですがどのような集計方法を選べばよいのでしょうか。
よろしくお願いします。

Aベストアンサー

ピボットテーブルの場合。

個数と単価を掛けた「金額」などのフィールドは無いですか?
そのデータが必要なので、無い場合は追加して数式を設定し、
それもピボットテーブルの元データ範囲に含めましょう。

ピボットテーブル作成後、エリア内を選択して、
ピボットテーブルツールバーから
[ピボットテーブル]-[数式]-[集計フィールド]。
「集計フィールドの挿入」ウィンドウが開きます。

「名前」に 平均単価 
「数式」に = 金額 / 個数
([フィールドの挿入]クリックorフィールド名ダブルクリックで挿入されます)
[OK]クリックです。
あとは[フィールドの設定]で表示形式など調整してくだい。

Qピボットテーブル・グラフで週番号順に並べかえたい

お世話になります。Excel2010を使用しております。

ピボットテーブルからピボットグラフを作成しているのですが、テーブル・グラフの項目で「週番号」を基準に作成しております。
その週番号ですが、年をまたいだ時に思った通り並んでくれません。【例】52周(2012年)・1週(2013年)・2週(2013年)と並べたいのですが、昇順・降順にすると2週・1週・52周や1週・2週・52周のようになります。
手動ではできます。
自動で集計を行いたいのですが、何か良い方法はありませんか?
ちなみに週番号は(集計表の)記入日のフィールドに日付が入ると関数にて出すように設定しております。

よろしくお願いします。

Aベストアンサー

週番号(1~53)だけ計算しても,「何年」の値を持ってないので希望する並びになる事はあり得ません。
また日付のグループ化でも「週単位」はありません。

結果的にご相談の事をやらせるなら,

方法1:
日付がA列にあるとすると
=YEAR(A2)&TEXT(WEEKNUM(A2),"-00")
などのようにして,「yyyy-ww」のフォーマットで年の値まで持った番号付けを計算します。

方法2:
A列に日付
B列にWEEKNUM関数
C列にYEAR関数
を並べ,C列,B列でピボットテーブルレポートを集計します。

Qエクセルでフィルタ後の条件付き個数のカウント

いつもお世話になっております。

エクセル(2007)で作成した表をフィルタ後に条件に合致する個数をカウントする方法を教えてください。
(例)
A列:名前
B列:出身県のデータがあったとします。

名前でフィルタをかけた後、出身県ごとのカウントを行いたいのですが、条件が無い場合のデータ個数はSUBTOTAL関数を使えばOKなのはわかります。
COUNTIFS関数を使うと、フィルタで隠れた行のデータまでカウントしていまいます。

ピボットを使う(使い方がイマイチわかりませんが・・・)という方法もあると思いますが、今回は同一シート無いに関数でカウントしたいのです。

どなたかよろしくお願いいたします。

Aベストアンサー

=subtotal(3,a2:a3000)
あるいは
=subtotal(3,b2:b3000)
あるいは他の列

※空白セルは個数にカウントされないことに注意して、任意の列を選択

といった数式を、「フィルタで絞り込んだ際に非表示にならない位置」(表の最上行より上とか、最下行より下とか、別シートとか)に記入。その後、A 列で絞り込み、同時に B 列でも絞り込み。つまり、2 列で絞り込み。

以上により、A 列と B 列の AND 条件における個数が数式を記入したセルに表示されているはず。


>ピボットを使う(使い方がイマイチわかりませんが・・・)……

慣れ。やってみれば、意外とできます。たくさん使ってみてください。

Qピボットテーブルのデータ名を変える方法

私は英語を使う仕事をしています。
毎日の各時間帯における英語または日本語の電話問い合わせ件数を調べるため、以下の表からピボットテーブルを作成しました。職員は、山田花子と青木さやかの2名です。

  A     B      C      D     E      F
1 日付   時間帯    職員   英語   日本語   合計
2 11月1日 9:00~12:00 山田花子   3     3      6
3 11月1日 13:00~15:00 山田花子   5     8     13
4 11月1日 15:00~18:00 山田花子   6     5     11
5 11月1日 9:00~12:00 青木さやか  1    10     11
6 11月1日 13:00~15:00 青木さやか  2     5      7
7 11月1日 15:00~18:00 青木さやか  2     6      8

「英語」と「日本語」は、行のフィールドにドラッグしました。すると、ピボットテーブルでは、自動的に「合計/英語」「合計/日本語」とデータ名が変わってしまいます。この「合計/」を消すには、どうすれば良いですか?

私は、あくまでデータ名は「英語」「日本語」が良いのです。

私は英語を使う仕事をしています。
毎日の各時間帯における英語または日本語の電話問い合わせ件数を調べるため、以下の表からピボットテーブルを作成しました。職員は、山田花子と青木さやかの2名です。

  A     B      C      D     E      F
1 日付   時間帯    職員   英語   日本語   合計
2 11月1日 9:00~12:00 山田花子   3     3      6
3 11月1日 13:00~15:00 山田花子   5     8     13
4 11月1日 15:00~18:00...続きを読む

Aベストアンサー

質問のご主旨と違うかも知れないことを予めご了承いただきたく。

ピボットテーブルは一度作成したあと、希望のデータだけ表示することもできますよね。
その必要がないという前提なのですが。

ピボットテーブル自体をコピーして、
(これはエクセルのバージョンによって、ピボットテーブルを選択できるものと、そうでないものがあるようです。
その場合は列ごと選択します)
他の場所に「数値の貼り付け」と「形式の貼り付け」をします。
そうすると、ごく普通の「表」ができあがります。
この状態なら変えられます。

他にもっといい方法があるかも知れないのですが、
とりあえず自分はこれでやっています。
この方法でコピーして元のピボットテーブルを削除すると、
サイズが小さくなるというメリットもあります。
(かなり小さくなります)

Q行列の並び替え(ピボットテーブル?)

教えていただきたいのですけども、エクセル・アクセスでピボットテーブルのレイアウトを、通常のシートやテーブルとして、利用できないものなんでしょうか?

氏名 日付 金額
AAAA 0801  200
AAAA 0821  300
AAAA 0825  120
・・・・
BBBB 0802  140
BBBB 0809  600
・・・・と続くデータを

    0801 0802 … 0809 |合計|回数|
AAAA  200          |2100| 12|
BBBB     140    600 |3520| 21|
のように編集したいのです。

ピボットテーブルを利用した所、イメージに近いレイアウトが出来たのですが、合計したりカウントしたりの加工が出来ないので、シートかテーブルで保存できたら・・・と思うのです。

いかがでしょうか?どなたかお力添えお願いいたします。

Aベストアンサー

ピボットテーブルの右下から欲しい範囲を選んでコピーし別のシートかブックに貼りつけすればExcelの表として自由に利用できます。この時のコツは右下から選択する事です。

左上からするとピボットテーブルのコピーになる事があります。

Qデータを書きだす→範囲を指定してピボットテーブル

「データを書きだす→範囲を指定してピボットテーブルを作成する」
と言う二つのプロシージャーをいっきにやってるのですが、
二つに区切って実行すると問題ないのですが、一気に実行すると実行時エラーが発生します。

-------------------------------------------------------------
Sub tset()
Call 全てのファイル名と作成日時を取得する
Call ピボテを作成する
End Sub
Sub ピボテを作成する()
ActiveWorkbook.Names.Add Name:="範囲の名前", RefersToR1C1:="=Sheet1!R1C1:INDEX(Sheet1!C2,COUNTA(Sheet1!C1))"

ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:="範囲の名前"). _
CreatePivotTable TableDestination:="", TableName:="ピボットテーブル", _
DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)

End Sub
Sub 全てのファイル名と作成日時を取得する()
Dim MyRow As Integer
Dim MyFileName As String
Dim MyFolderName As String

Workbooks.Add
Cells(1, 1) = "ファイル名"
Cells(1, 2) = "作成日時"
MyRow = 2

MyFolderName = "C:\Users\Documents"

MyFileName = Dir(MyFolderName & "\*.*")
Do While MyFileName <> ""
Cells(MyRow, 1) = MyFileName
Cells(MyRow, 2) = CreateObject("scripting.filesystemobject").GetFile(MyFolderName & "\" & MyFileName).DateCreated
MyFileName = Dir()
MyRow = MyRow + 1
Loop
End Sub
-------------------------------------------------------------

このコート度実行すると
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:="範囲の名前"). _
で、
実行時エラー 1004 "指定したシートには既に同じ名前のピボットテーブル レポートが存在します"
になります。

しかし、Workbooks.Addをやっているので、上記のエラーはありえないはずです。
そしてこの実行時エラーが出た後は、デバッグ→F5で、最後まで問題なく実行されます。

エクセルのバージョンは2003です。2007でも試しましたが同じ結果でした。
エラーを無視以外での対処方法をご教授ください。

「データを書きだす→範囲を指定してピボットテーブルを作成する」
と言う二つのプロシージャーをいっきにやってるのですが、
二つに区切って実行すると問題ないのですが、一気に実行すると実行時エラーが発生します。

-------------------------------------------------------------
Sub tset()
Call 全てのファイル名と作成日時を取得する
Call ピボテを作成する
End Sub
Sub ピボテを作成する()
ActiveWorkbook.Names.Add Name:="範囲の名前", RefersToR1C1:="=Sheet1!R1C1:INDEX(Sheet1!C2,COUNTA(Sheet1!C1)...続きを読む

Aベストアンサー

お示しのコードでは、

●名前を付ける範囲の参照が相対参照になっています。ブックの使い方にもよるのかもしれませんが、「$」がなくても大丈夫ですか。
●「Workbooks.Add」により作製されるブックがアクティブになり、SourceData も、このブックから取っているようです。
 また、「TableDestination:=""」と書いてある箇所があります。
 「Workbooks("ファイル名").Activate」とか、「Worksheets("シート名").Activate」みたいな記述は入れなくてもよいのでしょうか。

参考 URL の例は、1 ファイル内で完結している処理です。「Sheets.Add」を記述することでそのシートがアクティブになっています。

● CreatePivotTable メソッドと PivotTableWizard メソッドが併記されています。
 同じシート上に両者がピボットテーブルを作ることになるので、そのエラーメッセージが出ているのだと思います。
 片方の記述のみを残し、他方はプロシージャから削除します。
 両者はどちらもピボットテーブルを作りますが、どちらを選ぶかは概ね、好みの問題のようです。
 後者では OLE DB というアクセス方法によるデータが使えないとヘルプにあるくらいで、致命的な差はないようです。

参考URL:http://www.relief.jp/itnote/archives/018038.php

お示しのコードでは、

●名前を付ける範囲の参照が相対参照になっています。ブックの使い方にもよるのかもしれませんが、「$」がなくても大丈夫ですか。
●「Workbooks.Add」により作製されるブックがアクティブになり、SourceData も、このブックから取っているようです。
 また、「TableDestination:=""」と書いてある箇所があります。
 「Workbooks("ファイル名").Activate」とか、「Worksheets("シート名").Activate」みたいな記述は入れなくてもよいのでしょうか。

参考 URL の例は、1 ファイル内で完結し...続きを読む


人気Q&Aランキング