[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ピボットテーブルの関数です』(miyama)
以下のコードは工事PTテーブルのデータをシートに貼り付けるコードです
工事PT!$D$6:O$10000はデータの範囲です
$F$1,工事PT!$D$5:$O$5は、F1は月表示です。
d5からO5は12ヶ月の月が表示されています
$A4,工事PT!$B$6:$B$1000は、大分類で、A4には工事NOが表示、
$B$6:$B$1000は工事NOが表示
F$3,工事PT!$C$6:$C$10000は、F3は原価コードで、
$C$6:$C$10000は原価コードが表示
大分類と小分類の一致した、テーブルの行を取得、月が重なる
金額を表示したいのですが
正しく表示されるのもあるのですが、エラー表示となるセルもあります
ご指導お願いします
説明下手ですいません
F4に下記関数を貼付けた場合です。
=IF(ISNA(INDEX(工事PT!$D$6:O$10000,MATCH($F$1,工事PT!$D$5:$O$5,0),MATCH($A4,工事PT!$B$6:$B$1000,0)*MATCH(F$3,工事PT!$C$6:$C$10000,0))),0,INDEX(工事PT!$D$6:$O$10000,MATCH($F$1,工事PT!$D$5:$O$5,0),MATCH($A4,工事PT!$B$6:$B$1000,0)*MATCH(F$3,工事PT!$C$6:$C$10000,0)))
ピボットテーブルは以下の形です。合計:借方金額 B4(データ) 年月表示 D4(列)
工事NO B5(行) 大分類 原価コード C5(行) 小分類
合計 : 借方金額 年月表示
工事NO 原価コード 6月 7月 8月
2111 5412 1205509 2280
5435 165850 78740 5467 16462 2019 5412 2300 2009 5412 15854372
結局、元データはどの様に成っていて どの様に集計(参照?)したいのですか?
そして、ピボットテーブルはどのシートに在って 今回のご質問とどの様に関係しているのでしょう?
元データの方も [A] [B] [C] [1] [2] [3] の形でどうなっているのか 説明が在ると良いと思います。
それから、最終的にどの様に成れば良いのかも 書いておかれるのが良いと思います。
文頭に半角スペースを入れると 改行がそのまま表示されるようになります。 _←ここに半角スペース。 プレビュー画面でご確認下さい。
(HANA)
HANA様ありがとうございます 質問下手で申し訳ありません。 回答がつかなかったため、別のところで質問しました。 取消しようと思ったら、回答がありました。申し訳ありません 改めてお願いします
ピボットテーブルの形は以下です。 行は工事NO(b6) 列は年月表示(C4)、原価コード(D4) データは、合計:借方金額(D4)です B7に工事NOを表示 年月表示はC5右行に表示、列は飛びます 工事NOは、B7行の右に表示 合計:借方金額は、C7からBB列より下に金額を表示。 合計 : 借方金額 年月表示 原価コード ________6月_____________ 7月 工事NO___ 5412__ 5431__ 5441__ 5412__ 5431 2002_____134071 2003______15854__88000 2019______2300 2111______12055 1________27373__17615 3________8020 4_______346178__41104__32000__43055
シート集計のF1に、年月表示。E6行右に原価コード、A7列以降に工事NOを表示 F1に6月を表示したら、テーブルの金額を取得したいのですが テーブルの例からしますと ________6月 _______ 5412__ 5431__ 5441 2002_____134071 2003______15854__88000 2019______2300 2111______12055 1________27373__17615 3________8020 4_______346178__41104__32000
上記の形でシートに貼り付けるです。
貼り付ける関数を作りました =IF(ISNA(INDEX(工事PT!$C$7:$BB$60000,MATCH($A7,工事PT$B$7:$B$60000,0),MATCH ($F$1,工事PT!$C$5:$BB$5,0)*MATCH(E$6,工事PT!$C$6:$BB$6,0))),0,INDEX(工事PT!$C$7:$BB60000,MATCH($A7,工事PT!$B$7:$B$60000,0),MATCH($F$1,工事PT! $C$5:$BB$5,0)*MATCH(E$6,工事PT!$C$6:$BB$6,0))) このコードですと、6月はうまくいくのですが 7月の場合、エラー表示となります 年月表示をクリックして、6月のチエックをはずして7月のみチエックして表示したらうまくいきます 上記処理して、表示するしかないのでしょうか よろしくお願いします
元データはどの様に成っていますか? 上で書いて居られるピボットテーブルが出来るような 【元データ】を載せて下さい。
また、6月の希望表示結果は書いていただいているので分かりますが 7月はどの様に成れば良いのですか?
>F1に6月を表示したら、テーブルの金額を取得したいのですが と言うのは >E6行右に原価コード、A7列以降に工事NOを表示 この部分も、ピボットテーブルを参照する と言う事ですか?
>貼り付ける関数を作りました これはどこへ入れる関数ですか?
上の表も、どこがどのセルに対応するのか、よく分かりません。
集計 [A] ・・・・ [E] [F] [G] [1] 6月 : [5] 原価コード [6] 工事NO 5412 5431 5441 [7] 2002 134,071 [8] 2003 15,854 88,000 [9] 2019 2,300 [10] 2111 12,055 [11] 1 27,373 17,615 [12] 3 8,020 [13] 4 346,178 41,104 32,000 [14] こんな感じで、どうなっているのか書いてもらえませんか?
(HANA)
(miyama) HANA様 ありがとうございます 元データは AからAC列までで、仕訳形式で、テーブルに使う金額等は下記の形です ・・ [F]・・・・ [L]・・・[AB] [AC] [2] 工事NO 借方金額 年月表示 原価コード [3] 2002 2,500 6月 5441 [4] 1 134,071 6月 5431 [5] 2003 15,854 6月 5441 [6] 2019 2,300 6月 5412 [7] 2111 12,055 6月 5467 [8] 1 27,373 6月 5461 [9] 3 8,020 7月 5431 [10] 4 346,178 7月 5412 [11] 以降続く >また、6月の希望表示結果は書いていただいているので分かりますが >7月はどの様に成れば良いのですか? シート集計のF1に各月を表示して、表示するセルは同じ場所です。
>E6行右に原価コード、A7列以降に工事NOを表示 この部分も、ピボットテーブルを参照する と言う事ですか? はい
貼り付ける関数を作りました >これはどこへ入れる関数ですか? シート集計のE7からQ7の列までで 行はA列の工事NOの最終行までです
シート集計の形ですが [A] ・・・・ [E] [F] [G] [1] 6月 : [5] [6] 5412 5431 5441 工事原価コードがQ列までです [7] 2002 134,071 [8] 2003 15,854 88,000 [9] 2019 2,300 [10] 2111 12,055 [11] 1 27,373 17,615 [12] 3 8,020 [13] 4 346,178 41,104 32,000 [14]
以降続く よろしくお願いします
載せておられるデータでピボットテーブルを作成 フィールドの設定で「データのないアイテムを表示する(S)」にチェックを入れると [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [1] [2] [3] [4] 合計 / 借方金額 年月表示 原価コード [5] 6月 6月 合計 7月 7月 合計 [6] 工事NO 5412 5431 5441 5461 5467 5412 5431 5441 5461 5467 [7] 2002 2,500 2,500 [8] 2003 15,854 15,854 [9] 2019 2,300 2,300 [10] 2111 12,055 12,055 [11] 1 134,071 27,373 161,444 [12] 3 8,020 8,020 [13] 4 346,178 346,178
この様なピボットテーブルが出来ます。
集計シートで F1に「6月」を入れた場合 [A] ・・・・ [E] [F] [G] [H] [I] [1] 6月 : [5] [6] 工事NO 5412 5431 5441 5461 5467 ←原価コード [7] 2002 2,500 [8] 2003 15,854 [9] 2019 2,300 [10] 2111 12,055 [11] 1 134,071 27,373 [12] 3 [13] 4
F1に「7月」を入れた場合 [A] ・・・・ [E] [F] [G] [H] [I] [1] 7月 : [5] [6] 工事NO 5412 5431 5441 5461 5467 ←原価コード [7] 2002 [8] 2003 [9] 2019 [10] 2111 [11] 1 [12] 3 8,020 [13] 4 346,178
と成れば良いのですか? データが無くても項目名(工事NO,原価コード)は表示されていれば良い。 上のピボットテーブルの月の範囲を写し取った感じ。
それとも
F1に「6月」を入れた場合 [A] ・・・・ [E] [F] [G] [H] [I] [1] 6月 : [5] [6] 工事NO 5412 5431 5441 5461 5467 ←原価コード [7] 2002 2,500 [8] 2003 15,854 [9] 2019 2,300 [10] 2111 12,055 [11] 1 134,071 27,373 [12] [13]
F1に「7月」を入れた場合 [A] ・・・・ [E] [F] [G] [H] [I] [1] 7月 : [5] [6] 工事NO 5412 5431 ←原価コード [7] 3 8,020 [8] 4 346,178 [9] [10] [11] [12] [13]
としたいのですか? データが無い項目は表示しない。
(HANA)
(miyama) HANA様 ありがとうございます
>データが無くても項目名(工事NO,原価コード)は表示されていれば良い。 >上のピボットテーブルの月の範囲を写し取った感じ。 はい そのようにしたいです
では、ピボットテーブルの方で >フィールドの設定で「データのないアイテムを表示する(S)」にチェックを入れると の設定をして下さい。 原価コードの入っているセルを選択して(例えば、C6セル) 右クリック→フィールドの設定(N) を開くと 下の方に「データのないアイテムを表示する(S)」がありますので チェックを入れる。
それぞれの項目名は、最初の月のデータを参照すれば良いので A7に(工事NO) =IF(工事PT!B7="","",工事PT!B7) として、必要行フィルドラッグ
E6に(原価コード) =IF(工事PT!C6="","",工事PT!C6) として、Q列までフィルドラッグ
E7に(集計結果を表示する部分) =OFFSET(工事PT!$C$7,ROW(A1)-1,COLUMN(A1)+MATCH($F$1,工事PT!$5:$5,0)-4) 表示形式を「#,##0;-#,##0;」にして 必要範囲にフィルドラッグ
して下さい。
(HANA)
E7に入れる式は、INDEX関数を使って =INDEX(工事PT!7:7,COLUMN(A1)+MATCH($F$1,工事PT!$5:$5,0)-1) の様にしても良いかもしれません。
OFFSET関数を使用した場合でも =OFFSET(工事PT!$B$6,ROW(A1),COLUMN(A1)+MATCH($F$1,工事PT!$5:$5,0)-3) こちらの方が分かりやすい?
(HANA)
(miyama) HANA 様 ありがとうございました 完成しました 丁寧な御指導、感謝します
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.