• 締切済み

ピボットテーブル内のフィールド値を求める計算式

セル位置(行や列)を引数に、別の表にあるセルの値をINDIRECT関数で 参照するような感じと同様に、ピボットテーブル中のフィールド値の種別 を参照する計算式の書き方が分かれば教えてください。 図のように、ピボットテーブル内のフィールド値の中に、 複数の重複した要素がある場合に、 ピボットテーブルの行番号を指定して、その行にある値は INDIRECTで求められますが、フィルターの見出しにあたる (この図の例では「型式」のフィールド区分)を求める 計算式(あるいは計算式の組み合わせ)が分かりませんでした。 ピボットテーブルが固定されていれば、行列番号が変わらない 前提で方法はありそうですが、 ピボットテーブルのフィールドの順番を入れ替えても (この図の例では区分と型式を入れ替えても) 大丈夫なように、汎用的な式が書ければと思っています。 よろしくお願いします。 (1)重複した要素のある元データ表 (2)行フィルターに複数のテーブル条件を指定 (3)できがったピボットテーブル (4)行番後を指定して、INDIRECTで値を求めるのと同様、行フィルターの元のフィールドを計算式で求められるか。

  • goku3
  • お礼率78% (97/123)

みんなの回答

  • HohoPapa
  • ベストアンサー率65% (454/690)
回答No.2

既成の関数で取得する方法はわかりません。m(_ _)m もし仮に、 型式別、区分別の数値合計のリストがあればOK、 あるいは、 型式別、区分別の数値合計のリストがあれば、 そこから期待の資料を作ることができる。 かつ、 VBAを持ち込んでよい。 ということであれば、 ピボットテーブルを使う代わりに 以下のコードで集計する対応はいかがでしょうか? なお、 Sheet1が集計元、Sheet3が集計先のシートの場合、 かつ、集計元テーブルがB1から始まっている場合のコードです。 Option Explicit Sub SampleSQL()  Dim cn As Object  Dim rs As Object  Dim wkSQL As String  Set cn = CreateObject("ADODB.Connection")  Set rs = CreateObject("ADODB.Recordset")  cn.Provider = "Microsoft.ACE.OLEDB.12.0"  cn.Properties("Extended Properties") = "Excel 12.0;HDR=YES;IMEX=1"  cn.Open ThisWorkbook.FullName  With ThisWorkbook.Sheets("Sheet3")      .Rows("2:65000").ClearContents '出力先クリアー      wkSQL = ""      '以下SQL文組み立て   wkSQL = wkSQL & "SELECT [型式],[区分],sum([数値])"   wkSQL = wkSQL & "FROM [Sheet1$B2:Z65000]" & vbCrLf   wkSQL = wkSQL & "GROUP BY [区分],[型式]" & vbCrLf   wkSQL = wkSQL & "order BY [区分],[型式]" & vbCrLf      rs.Open wkSQL, cn   'SQL文実行      .Cells(2, 2).CopyFromRecordset rs   '結果セットを格納  End With    rs.Close           '以下、後処理  Set rs = Nothing  cn.Close  Set cn = Nothing   End Sub

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

GETPIVOTTABLE関数のことかな。 このことなら、Googleで照会のこと。たくさん記事があります。 例えば下記の記事など。 http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/getpivotdata.htm

関連するQ&A

  • Excelのピボットテーブルのフィールドが消える

    WindowsXP、Excel2003を使っている者です。 ピボットテーブルをウィザードで作成したあと、ピボットテーブルのフィールドの一部が消えてしまう(ホワイトアウトしてしまう)ので困っています。 ピボットテーブルのセルを再度選択したり、フィールドの非表示→再表示をしても同じ現象が起きます。 これはバグでしょうか? なにかよい対策がありましたら教えてください。

  • ピボットテーブルのフィールド間の階層について

    Excel2010を使っている者ですが、ピボットテーブルの作り方について伺います。 「挿入」のリボンから「ピボットテーブル」をクリックして、フィールドセクションから行ラベルにフィールドをもってくるときですが、例えばAというフィールド、Bというフィールドという順番にもってくると、その順番に階層ができてしまって、違う行ではあるけれどAフィールドの下にBフィールドがあるような形でテーブルができてしまいます。 (Aフィールドの行に-のマークがついてそこをクリックするとBフィールドの表示を閉じたり開いたりできるようになってしまいます) AフィールドもBフィールドも対等な扱いにして違う列に配置されるようにするにはどうすれば良いでしょうか? よろしくお願いいたします。

  • 未だにピボットテーブルがよくわからない・・・

    Excelはもう10年以上も仕事で使ってきて、VBAでマクロを組んで業務を効率化するという仕事もしてきましたが、未だにピボットテーブルだけは理解できません。 ピボットテーブルの使い方を解説したサイトを読んだりもしましたが、どういうことができるのかはだいたい理解できるものの、ピボットテーブルを挿入したあとどうすれば自分の思う集計ができるのかがわからない。 右側にある「ピボットテーブルのフィールド」で、どういうときに「フィールド」「列」「行」「値」それぞれのところへどんな順番で移動すれば良いのかわからない。 同じフィールド内でも順番が入れ替わるだけでピボットテーブルの見栄えがガラッと変わりますよね。 ピボットテーブルを使えば5分で終わるような集計を、僕は1時間とかかけてVBAを使って力技で集計してるのがバカバカしくて悲しくなります。 「VBA使えるなんてすごい!」なんてよく言ってもらえますが、ExcelでできることをわざわざVBAを書いてやるなんて、まるで車輪の再発明じゃないですか。 ピボットテーブルを使いたいというか、理解したいです。 何か良いサイトか本を教えていただけないでしょうか? 特にフィールドのところを詳しく説明してるような・・・。 よろしくお願いいたします。

  • ピボットテーブル 集計フィールドの使い方を教えてください!

    ピボットテーブルの数式→集計フィールドの使い方を教えてください! 新しいフィールドを作成し、データアイテムに計算式を適用することができるようなのですが、既存の列フィールドごとに計算式を変えることはできますか?(例:4月は10%掛け。5月は5%掛けなど)

  • ピボットテーブルのフィールドリストについて

    現在、ピボットテーブルでデータを集計していますが、月ごとの集計の仕方で悩んでいます。 ピボットテーブル作成はど素人です。 そこで、教えていただきたいのですが、 使っている経理のソフト(エクセル)があります(ネットでダウンロードしました)。 そのソフトでは、仕訳帳シートがピボットテーブルの元のシートになっていて、 別シートにピボットテーブルのシートがあります。 なぜか、仕訳帳シートにはない項目(フィールド)がピボットテーブルリストにはあり、 その方法を知りたいのです。 仕訳帳シートでは、日付の項目しかないのに、ピボットテーブルのフィールドリストには、「日付」のほかに「集計月」という名前のフィールドがあるんです。 この「集計月」のリストはどうやれば作れますか? ちなみに、グループ化という方法も試してみましたが、 まだ未定の行には日付が入力されていないため、 グループ化ができないみたいです。 エクセル2010です。 用語などよくわかっていないので、お手数ですが、わかりやすく教えていただけると助かります。 カテゴリがあっているのかわかりませんが、どうぞよろしくお願いいたします。

  • ピボットテーブルの検索

    ピボットテーブルを作成し行と列のフィールド項目を検索しそれを他のシートから参照させたいのですが、行の列にはコードで区分し、列のフィールドは月で区分させています。日付はグループとアウトラインの設定で月単位にまとめています。 INDEX(A6:J16,MATCH(A1,A6:A16),MATCH(B1,A6:J6))でそれぞれの交点を参照させたいのですがA1をコード入力、B1を月入力にした場合、コードは1月~9月まではMATCH関数の値がかえってくるのですが10月~12月にした場合#N/Aが帰ってきてしまいます。原因は何になるのでしょうか? 教えてください。       A       B      C      D 1  コード項目   月項目 2 3 4 5  合計:金額   日付 6    CODE      1月     2月    3月 7   1010    100,000   150,000    200,000 ピボットテーブルはこんな感じになっています。 宜しくお願いいたします。

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

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

  • ピボットテーブルの項目間の計算

    ピボットテーブルの項目間の計算 ピボットテーブルを勉強しています。ピボットテーブルで各項目間同士の計算をしたいと思っています。 例えば下記のURLの「支出のピボットテーブル」のB列(4月)とC列(5月)を 掛け算して、別のフィールドに出したいと思います。 http://www.eurus.dti.ne.jp/~yoneyama/Excel/jituyou/kake-pib.htm 集計フィールドの追加でできると思って探したのですが、各項が表示されません。 もしできるようでありましたらお教えください。 Excelのバージョンはどのバージョンも会社にあるので、やり方があるようでしたらお教えください。

  • ピボットテーブル内での計算について困ってます

    ピボットテーブルを組みましたが、レポート内セルのデータを足し算するために、=または+でセルを指定したところGETPIVOTDATA(・・・・と出ます。なんとか、この表示を消したいのですが、どなたか方法をご存じないでしょうか?

  • ピボットテーブル

    ピボットテーブルのフィールドを使った計算の方法を教えてください。比率を出したいのですお願いします。

専門家に質問してみよう