• ベストアンサー

複数シートのデータを一シートの一列に記録する方法

エクセル2007です。 日報データから月報を作りたいのです、日報データはシート1〜30あり、シート1の A2の値を月報となるシートXのB2に順次 シート2のA2をシートXのB3 シート3のA2をシートXのB4 シートnのA2をシートXのBn と記録したいのですが シートXのB2にどのような式を入れたらよいのか、教えて下さい。

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

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

シートの名前がよくわかりませんがシートXのB2セルには次のような式を入力し、下方にオートフィルドラッグすればよいでしょう。 =IF(ISERROR(INDIRECT("'シート" & ROW(A1) & "'!A2")),"",INDIRECT("'シート" & ROW(A1) & "'!A2")) シートは日報となるのでしょうか?適当に変えてください。

me-kunn
質問者

補足

ご回答有難う御座います。ご指示の式でもうまく行きません。 私も色々試しましたが今やっているのは B2セルに=日報1!$A$2 B3 =日報2!$A$2  てな具合で項目が多いの困り果てています。 日報は幾つものセルを組み合わせて出来ているので単純なマトリクス形状ではない事が原因でしょうか。

その他の回答 (4)

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

返事が遅くなりましたが、次の式をB2セルに入力して下方にオートフィルドラッグしてみてください。 =IF(ISERROR(INDIRECT("'日報" & ROW(A1) & "'!A2")),"",INDIRECT("'日報" & ROW(A1) & "'!A2")) これでもうまくいかないとしたら日報1のシート名が日報1となっているのではなく日報 1のように日報と1の間にスペースが入っていることも考えられますね。スペースを取った形にシート名を変更してみてください。

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

=IF(ISERROR(INDIRECT("'シート" & ROW(A1) & "'!A2")),"",INDIRECT("'シート" & ROW(A1) & "'!A2")) 上の式で"'シート、さらに& "'!と'を入れて試験しているのでしょうか?

me-kunn
質問者

補足

言葉足らずでごめんなさい。いまやっている手順は 1.シート名「月報」(シートX)のB2に=を入力する。 2.シート名「日報1」のセルA1をクリックする。 3.Enterを押すとシートXのB2セルに「日報1」のA1セルの値が入力されている。 4.B2には=日報1!A2の式が入っています。 5.式を=日報1!$A$2としてオートフィルする。 6.B3以降の式を一つごとに日報1の数字を変えて行く作業をしています。

回答No.2

=INDIRECT("日報"&ROW(A1)&"!A2") 下へオートフィル =日報1!A2 で求める値が返りますか?

回答No.1

>日報データはシート1〜30あり、 文字化け? そのまま考えて、 =INDIRECT("シート"&ROW(A2)&"!a2") シート名が「Sheet1」、「Sheet2」だったら =INDIRECT("Sheet"&ROW(A2)&"!a2")

me-kunn
質問者

補足

CoalTarさん、文字化けのようです、「シート1からシートnまであります」が 正解です。ご教示のごとくB3に入力しましたが#REF!となりました。 シート名は実際には「日報1」ですがSheetを読み替えて入れたのですが。

関連するQ&A

専門家に質問してみよう