- ベストアンサー
エクセル シート 関数
エクセル2003にて、シート番号の関数についてです。 現在sheet1(0)をコピーして必要分だけsheet1(1)、sheet1(2)としています、 日によってsheet1(50)ぐらいまで作成することがあります、これを利用して=IF(ISERROR(INDIRECT("'Sheet1 (1)'!c3")),"-----",INDIRECT("'Sheet1 (1)'!c3"))このような関数を管理シートで使用しています。 問題として関数内のsheet1(1)が連番なので表作成時(1)の部分の1を連番として2、3・・51、52と関数内でsheet1(51)自動で入力するための関数を教えください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
解答No4です。 お示しの式はおそらくはたくさんのシートでC3セルのデータを取得し、最終的には合計したいのでしょう。そのようなことでしたら次のようにしてはどうでしょう。 A2セルから下方にはシート名を表示するとして例えばA2セルにはSheet1(0)と入力し、A3セルにはSheet1(1)と入力します。その後にA2セルとA3セルを同時に選択し下方にオートフィルドラッグを行います。このような操作でSheet1(55)までも表示させることができるでしょう。 次にB1セルには例えばC3と入力します。他にも取り出したいセル番地があるのでしたらC1セルにその番地を入力します。 その後にB2セルには次の式を入力し、右横方向にオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(ISERROR(INDIRECT("'"&$A2&"'!"&B$1)),"",INDIRECT("'"&$A2&"'!"&B$1)) すべてのシートの集計はB60セルに=SUM(B2:B59)と入力すればよいでしょう。
その他の回答 (4)
- KURUMITO
- ベストアンサー率42% (1835/4283)
データの統合のテクニックを使われてはどうでしょう。 エクセルの「ヘルプ」で「データの統合」で検索すればよいでしょう。
- kmetu
- ベストアンサー率41% (562/1346)
行番号を利用できるようでしたら =IF(ISERROR(INDIRECT("'Sheet1(" & ROW() & ")'!c3")),"-----",INDIRECT("'Sheet1(" & ROW() & ")'!c3")) としてみてはいかがでしょう。
- KURUMITO
- ベストアンサー率42% (1835/4283)
No1です。無視してください。失礼しました。
- KURUMITO
- ベストアンサー率42% (1835/4283)
Sheet1(1):Sheet1(51)!C3といった使い方ではどうでしょう。
お礼
大変参項になりました。