• ベストアンサー

エクセルで複数シートを1つのシートに自動整理したい

エクセルでシート1とシート2に入力した内容を、そっくりそのまま 1つのシートに自動で整理してまとめたものを作りたいです。 そして、それをA4横向きで印刷したいです。 具体的な質問の内容は、↓こちらの参考ページを見て頂きたいです http://blog-imgs-50.fc2.com/s/k/s/sksfiosjdijf34/siritai.html よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

回答No1です。 試験の結果をありがとうございます。 操作方法自体は正しく行われていますね。 問題は次のような点にあります。 シート1でV2セルに入力する式は次のようになっていますね。 =IF(ROW(A1)=1,1,IF(R2<>0,MAX(V$1:V1)+1,IF(OR(OFFSET(B2,-1,0)="合計",B2="データ2"),MAX(V$1:V1)+1,""))) これで良いのですが上の式ではB2="データ2"となっていますが実際のシートではデータ2と半角ではない数値になっていますね。式のデータ2とシート上のシート2とが完全に一致したものでなければなりません。どちらかの数値に統一することが必要です。 シート2のV1セルやV2セルへの入力の式ではSheet1となっていますが実際のシートではSheet1と1の数値がひらがなの全角で1となっているのでしょう。式の上では半角の1が使われていますのでエラーが表示されているのです。 式の1を全角にするか、それともシート名で半角の1とするかどちらかに数値を統一することが必要です。 以上の点を直すことで正常に表示されることでしょう。 なお、式の上で全角の数値に直す場合には一旦式をすべて半角で入力したうえでデータ2やSheet1 の数値を全角で入力して訂正するようにしてください。

tekkenman7
質問者

お礼

ありがとうございました。

tekkenman7
質問者

補足

ありがとうございました。 データのコピーはエラーにならずにできましたが、 レイアウトが反映されませんでした。 http://blog-imgs-50.fc2.com/s/k/s/sksfiosjdijf34/detagacopysaremasita_demo_reiautoga.html シート1やシート2にデータを追加するたびに 1行ずつずれてしまいます。 レイアウトの反映はできないのでしょうか?

その他の回答 (1)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

罫線やリストの機能をコピーして貼り付けるなどは関数を使っての操作ではできませんが、データだけを全体シートに表示させるのでしたら次のようにします。 シート1では作業列としてV列を使用しV2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(ROW(A1)=1,1,IF(R2<>0,MAX(V$1:V1)+1,IF(OR(OFFSET(B2,-1,0)="合計",B2="データ2"),MAX(V$1:V1)+1,""))) 同じくシート2ではV1セルには次の式を入力します。 =MAX(Sheet1!V:V) V2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(R2<>0,MAX(V$1:V1)+1,IF(OR(AND(ROW(A1)>3,OFFSET(B2,-1,0)="合計"),AND(ROW(A1)>3,OFFSET(B2,-2,0)="合計")),MAX(V$1:V1)+1,IF(OR(OFFSET(C2,1,0)="合計",C2="合計",OFFSET(C2,-1,0)="合計",OFFSET(C2,-2,0)="合計"),MAX(V$1:V1)+1,""))) そこでまとめのシートではB2セルに次の式を入力したのちにU2セルまでオートフィルドラッグし、その後に下方にもオートフィルドラッグします。 =IF(ROW(A1)<=MAX(Sheet1!$V:$V),IF(INDEX(Sheet1!$B:$U,MATCH(ROW(A1),Sheet1!$V:$V,0),COLUMN(A1))=0,"",INDEX(Sheet1!$B:$U,MATCH(ROW(A1),Sheet1!$V:$V,0),COLUMN(A1))),IF(ROW(A1)<=MAX(Sheet2!$V:$V),IF(INDEX(Sheet2!$B:$U,MATCH(ROW(A1),Sheet2!$V:$V,0),COLUMN(A1))=0,"",INDEX(Sheet2!$B:$U,MATCH(ROW(A1),Sheet2!$V:$V,0),COLUMN(A1))),""))

tekkenman7
質問者

お礼

ありがとうございました。

tekkenman7
質問者

補足

教えて頂いたとおりにやったのですが、 全データにコードを入力すると、『値の更新』というものが開いて、 何かのファイルを選択して開く必要があるようですが… ↓のような感じになってしまいました。 http://blog-imgs-50.fc2.com/s/k/s/sksfiosjdijf34/tamesimasitaga_damedesita.html 何が悪いのでしょうか?