- ベストアンサー
複数シートを串刺しで計算したい
質問1.30個の同じシート(シート1~シート30)の中にある、同じ項目(列の縦計部分)を別シート上で、簡単に合計したいのですが、どうすれば良いでしょうか? 質問2.30個の同じシート(シート1~シート30)の中にある日付について、シート1に入れた日付(2005.11.1)を基準として、残り29のシートの日付を1づつカウントアップしたいのですが、どうすれば良いでしょうか? 以上、宜しくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
質問1 ・仮に各シートのA1~A10の合計の合計を出すのであれば「=SUM(シート1:シート30!A1:A10)」で出来ませんでしょうか。 質問2 ・個別に数式(=前のシートの日付のセル+1)を入れていく以外のうまい方法が思い浮かびませんでしたm(__)m。
その他の回答 (3)
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 質問2について、以下の方法で。 各シートで日付を入力・表示するセルを仮にA1とします。 まず、以下の名前定義を設定します。 メニューの[挿入]→[名前]→[定義]で、 (1つ目) [名前]:適当な名前(仮に「シート名」とする) [参照範囲]:「=GET.WORTBOOK(1)」 と設定して、[追加] (2つ目) [名前]:適当な名前(仮に「シート位置」とする) [参照範囲]:「=GET.DOCUMENT(87)」 と設定して、[OK] そうしたら、シート2~シート30をまとめて選択します。 ([Shift]を押しながら下部のシートタブクリックします。) そして、A1に、 =INDIRECT("'" & INDEX(シート名,シート位置-1) & "'!A1")+1 と入力します。 (つまり、シート2~シート30のA1に上記の数式を入れるということです。) また、必要に応じてA1セルの表示形式を「日付」にします。 これで、シート1に適当な日付を入力すると、シートの位置の順にカウントアップした日付が表示されます。 なお、この設定方法では、2番目のシート以降で直前のシートのA1を参照します。 従って、シート名が連番である必要はありません。 その代わり、シートを正しい順に並べておく必要があります。
お礼
色々な方法があるのですね。 ありがとうございました。
- aiho
- ベストアンサー率42% (3/7)
質問2について ファイルが保存されているならば、 Shiftキーを押しながらシート2~30を選択し、カウントアップされた日付が記入したい セルを選択して、以下を入力します。 =シート1!A2+MID(CELL("filename"),SEARCH("]シート",CELL("filename"),1)+4,2) ("シート1"のA2に日付が入力されているとしています。) 数式を入力したセルの書式を日付形式に直せば、お望みの状態になるかと思うのですが 如何でしょうか? 数式が多少ややこしいので、以下式の解説です。 シートが保存されている場合、 =CELL("filename") とすると、保存パス+シート名を取り出すことが出来ます。 ですから、シート名の最後の1~30の数字を取り出してやるには シート区切りの際文字列 "]シート" が必ず入ることを利用して 以下のようになります。 =MID(CELL("filename"),SEARCH("]シート",CELL("filename"),1)+4,2) シート1のA2への参照に上を加えたのが最初の式です。
お礼
詳しく解説いただきありがとうございました。
- makoto0925
- ベストアンサー率50% (2/4)
Shiftを使って全てのシートを選択し dac203さんの言ってる数式を入れればできます。 蛇足でしょうが、同じセル番号に同じ内容を書くので 日付の位置がずれてるシートなら上手くいきません。 ただ恥ずかしながら、私には前のシートを効率良く選択する方法がちょっと思いつきません。
お礼
ありがとうございました。
お礼
確かに出来ました。ありがとうございました。