- ベストアンサー
差し込み印刷ができるようなエクセルデータについて
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
元データがSheet1にあり、例示されたようなシートのレイアウトで、目的が単純に数字を表示したいだけが目的なら、以下のような関数を別シートのB1セルに入力して右方向および下方向にオートフィルすればご希望の表示(数字は文字列数字になります)ができます。 =INDEX(INDEX(Sheet1!$B:$C,,1+MOD(COLUMN(A1)-1,2)),SMALL(INDEX((Sheet1!$A$1:$A$100<>$A1)*10000+ROW($1:$100),),(1+COLUMN(A1))/2))&"" データを文字列数字ではなく計算などに利用したい場合や、実際のシートのレイアウトが違う場合は数式を微妙に変更する必要がありますので、ひとまず例示されたデータで試してみてください。
その他の回答 (2)
- KURUMITO
- ベストアンサー率42% (1835/4283)
回答No1です。大変失礼いたしました。 シート1には作業列を作って対応します。 E1セルには次の式を入力して下方にドラッグコピーします。 =IF(A1="","",A1*100+COUNTIF(A$1:A1,A1)) その上でシート2の操作に移ります。回答No1と同じ操作となります。
お礼
ありがとうございました。参考になりました。
- KURUMITO
- ベストアンサー率42% (1835/4283)
マクロというよりも次のようにすれば関数で対応することができます。 シート1ではA列からE列までの1行目から下方にお示しのデータが入力されているとします。 シートのA1セルには次の式を入力して右横方向にドラッグコピーしたのちに下方にもドラッグコピーします。 =IFERROR(INDEX(Sheet1!$A:$C,MATCH(ROW(A1)*100+ROUNDUP(IF(COLUMN(A1)<=3,COLUMN(A1)/3,(COLUMN(A1)-1)/2),0),Sheet1!$E:$E,0),IF(COLUMN(A1)<=3,MOD(COLUMN(A1)-1,3)+1,MOD(COLUMN(A1),2)+2)),"") エクセル2007よりも前のバージョンでしたら次の式になりますね。 =IF(ISERROR(INDEX(Sheet1!$A:$C,MATCH(ROW(A1)*100+ROUNDUP(IF(COLUMN(A1)<=3,COLUMN(A1)/3,(COLUMN(A1)-1)/2),0),Sheet1!$E:$E,0),IF(COLUMN(A1)<=3,MOD(COLUMN(A1)-1,3)+1,MOD(COLUMN(A1),2)+2))),"",INDEX(Sheet1!$A:$C,MATCH(ROW(A1)*100+ROUNDUP(IF(COLUMN(A1)<=3,COLUMN(A1)/3,(COLUMN(A1)-1)/2),0),Sheet1!$E:$E,0),IF(COLUMN(A1)<=3,MOD(COLUMN(A1)-1,3)+1,MOD(COLUMN(A1),2)+2)))
お礼
ありがとうございました。参考になりました。もし分からないことがありましたらまた質問版を作成させていただきます。その時は勝手ながらアドバイスをいただけると幸いです。よろしくお願いします。
お礼
ありがとうございました。参考になりました。もし分からないことがありましたらまた質問版を作成させていただきます。その時は勝手ながらアドバイスをいただけると幸いです。よろしくお願いします。