- 締切済み
Excelの集計表で1ヶ月分別表に抜き出したいです
Excel2010を使用しています。 A B C D E F G 1 1月 2月 2 売上 請求 残高 売上 請求 残高 3 本社 1000 800 200 4 支店 800 650 150 5 営業 600 300 300 上記のような集計表に一年分の数値を月ごとに打ち込んでいます。 これを下記のような1か月分の別表に抜き出して印刷をかけたいのですが。 A B C D 1 1月 売上 請求 残高 2 本社 1000 800 200 3 支店 800 650 150 4 営業 600 300 300 A1のところに月を入力すれば、B2:D4のところに集計表の数字が出るような。 VLOOKUPやHLOOKUP、INDEX等ネットで探して関数と格闘して何日かやってみましたが 上手くできませんでした・・・。 別表は同じシートでも別シートでも可能です。 関数を利用して作りたいので、よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- basic_gg
- ベストアンサー率50% (14/28)
>1か月の表でB2とC2の間に別のデータが入るので >実際は支店の売上はD2となるのですが >関数のどこを変更すれば参照が上手にいくか 勘弁して下さい。 "B2とC2の間に別のデータが入る"なら "売上はD2と"なりません。売上はB2ですから。 "B2とC2の間に別のデータが入るので"なら 本社,支店,営業すべてで、 B列~がC列~になると解釈します。 "支店の売上はD2となるのですが"のように 支店だけが変わるわけではないでしょう。 あなたの希望通りに、 B2~D2をコピーして、D2に貼り付けてください。 (タテ方向にオートフィルできるように作りましたが) (ヨコ方向にオートフィルはききません。 質問時にダミーデータを入れておきましょう。
[No.2お礼]へのコメント、 》 こちらも参照セルの位置や実際の欄がすぐ下になかったりするので… 貴方が最初からそのことを明記しておけば、私は無駄な回答をせずに済んだことをご承知おきください!
- basic_gg
- ベストアンサー率50% (14/28)
1.初期設定 集計表をSheet1,1ヵ月の表をSheet0とします。 1ヵ月の表のA1セルを、書式設定をユーザー定義の #"月" にし、半角で1~12を入力します。 (1を入力すると1月と表示すると同時に、入力した数値を他セルで利用します) 1ヵ月の表で、B1=売上、C1=請求、D1=残高 を入力しておきます。 2.式(コピーして1ヵ月の表に貼り付けてください) A2=IF(($A$1<0)+($A$1>12)+(OFFSET(Sheet1!$A$1,ROW(A2),0)=""),"",OFFSET(Sheet1!$A$1,ROW(A2),0)) B2=IF(($A$1<1)+($A$1>12)+(OFFSET(Sheet1!$A$1,ROW(A2),0)=""),"",OFFSET(Sheet1!$A$1,ROW(A2),$A$1*3-2)) C2=IF(($A$1<1)+($A$1>12)+(OFFSET(Sheet1!$A$1,ROW(A2),0)=""),"",OFFSET(Sheet1!$A$1,ROW(B2),$A$1*3-1)) D2=IF(($A$1<1)+($A$1>12)+(OFFSET(Sheet1!$A$1,ROW(A2),0)=""),"",OFFSET(Sheet1!$A$1,ROW(C2),$A$1*3)) A2~D2を選択して、下にオートフィルする。
- MackyNo1
- ベストアンサー率53% (1521/2850)
たとえばSheet1のB1,E1・・・セルに「1月」「2月」・・・と入力されているなら、以下の式を表示シートのB2セルに入力して右方向および下方向に3つづつオートフィルコピーしてください。 =INDEX(Sheet1!$A$3:$AK$5,ROW(A1),MATCH($A$1,Sheet1!$A$1:$AK$1,0)+COLUMN(A1)-1)
お礼
早々にありがとうございます。 例として作った1ヶ月の表は簡単にしたのですが実際の表は承認印の場所や表題があったりともう少し複雑なので参照セルの位置や実際の欄がすぐ下になかったりするので教えていただいた数式ではエラーになってしまいました・・・。 改造してできないか試してみます。
お礼
ありがとうございます。 こちらの関数ではエラーが出ずに近いところのデータを返してくれています。 1か月の表でB2とC2の間に別のデータが入るので実際は支店の売上はD2となるのですが 関数のどこを変更すれば参照が上手にいくか教えていただけないでしょうか。 よろしくお願いします。