ここから本文です

エクセルの表データを変換したいです 4月 5月 6月 7月 消耗品費 10 12 13 15 ...

kab********さん

2015/6/2612:07:27

エクセルの表データを変換したいです

4月 5月 6月 7月
消耗品費 10 12 13 15
保安委託費 11 50 20 30

営繕費 15 15 15 20
原料費 30 20 20 15
販売費 10 20 30 30

というデータを
消耗品費 4月 10
消耗品費 5月 12


保安委託費 4月 11
保安委託費 5月 50


販売費 6月 30
販売費 7月 30

というデータに変更する方法を知りたいです。
実際は●●費の費目はもっと多く、月も4月から3月まであります

閲覧数:
86
回答数:
3
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

mit********さん

2015/6/2613:41:09

元の表がシート1にあってA2セルから下方に消耗品費などが、B1セルから右横にM1セルまでには4月から3月までが入力されているとします。
そこで作業列を使って対応します。
例えばP1セルには0と入力してからP2セルには次の式を入力して下方にドラッグコピーします。

=IF(A2="","",MAX(P$1:P1)+IF(COUNT(B2:M2)=0,1,COUNT(B2:M2)))

その後にお求めの表をシート2に表示させるとしてA2セルには次の式を入力してC2セルまで横にドラッグコピーしたのちに下方にもドラッグコピーします。

=IF(ROW(A1)>MAX(Sheet1!$P:$P),"",IF(COLUMN(A1)=1,INDEX(Sheet1!$A:$A,MATCH(ROW(A1)-0.1,Sheet1!$P:$P,1)+1),IF(COLUMN(A1)=2,INDEX(Sheet1!$B$1:$M$1,ROW(A1)-INDEX(Sheet1!$P:$P,MATCH(ROW(A1)-0.1,Sheet1!$P:$P,1))),IF(COLUMN(A1)=3,INDEX(Sheet1!$B$2:$M$1000,MATCH(ROW(A1)-0.1,Sheet1!$P:$P,1),ROW(A1)-INDEX(Sheet1!$P:$P,MATCH(ROW(A1)-0.1,Sheet1!$P:$P,1))),""))))

なお、シート1の作業列が目障りでしたらその列を選択して右クリックし「非表示」を選択すればよいでしょう。

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

sir********さん

2015/6/2615:13:14

元データの『消耗品費』の上のセル(『4月』の左隣)に『科目』とでも入力して、
ピボットテーブルで処理してもいいかもしれません。

行ラベルに『科目』を入れその下に『Σ 値』を入れるのがツボです。

ピボットテーブルでの出来上がりが意に沿わないなら、コピーして別の空白セルで値貼付けし、科目名を編集して下さい。

画像がちゃんと見えるといいけど・・・

元データの『消耗品費』の上のセル(『4月』の左隣)に『科目』とでも入力して、...

mar********さん

2015/6/2613:48:31

1)Sheet2の
A2=INDEX(Sheet1!A:A,INT((ROW(A1)-1)/COUNT(Sheet1!$B$2:$L$2))+2)&""
2)B2=IF(A2="","",INDEX(Sheet1!$B$1:$L$1,COUNTIF(Sheet2!$A$2:A2,Sheet2!A2)))
3)C2=IF(A2="","",VLOOKUP(A2,Sheet1!$A:$L,COUNTIF(Sheet2!$A$2:A2,Sheet2!A2)+1,0))
4)A2:C2を下にコピー

1)Sheet2の...

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる