- ベストアンサー
EXCELで複数のシートの日々の累計を計算する方法とは?
- エクセル2000で、1つのBOOKに一ヶ月分の日報のシートを作成しました。各シート名は、6月1日、6月2日、6月3日~6月30日となっています。要約文では、EXCELを使用して複数のシートの日々の売り上げの累計を計算する方法について説明しています。
- 月によって営業日数が異なるため、別のシートを作成して営業日数を縦に並べることを提案しています。このシートの各セルには、そのセルの日付と対応するシートの売り上げを入力します。そして、日毎の売り上げの累計を計算するために、前日の売り上げと当日の売り上げを加算する関数を使います。
- 質問者は、関数の使用に不慣れであるため、VLOOKUPやIFなどの簡単な関数の使い方についても解説して欲しいと述べています。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
要は前日のシートのE1セルの値+当日シートのC1の値を出せばいいんですよね? 各シートにシート名以外に日付入っていますか? 入っていれば、1日以外のシートのE1セルに↓の式をいれます(例としてA1に日付が入っているとしました)。 =INDIRECT(TEXT(A1-1,"m月d日")&"!E1")+C1 どこにも日付が入っていないとシート名から日付を取るので以下の様に長ったらしくなります。 =INDIRECT(TEXT(DATEVALUE(RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1))))-1,"m月d日")&"!E1")+C1 #6月1日シートのE1セルには、=C1 と、入っている事が前提です。
その他の回答 (3)
- mt2008
- ベストアンサー率52% (885/1701)
> 30日分のシートを作成してありますが(複製するプログラムをネットで検索し使用して作成)、30日の中で営業しない日があった場合でも、この式でいけるものでしょうか? > エラー処理の何かを入れなければいけませんか?? 営業していない日のシートのE1にも累計値(営業していませんから前日と同じ値)が表示されますので、それが許されるなら大丈夫です。
お礼
mt2008さんへ 営業していない日のシートに前日の値が表示されているだけなら、問題ないので、これでやりたいことが全部できました!! とても助かりました!! ありがとうございました。 またお勉強しようと思います。
- KURUMITO
- ベストアンサー率42% (1835/4283)
もう一枚のシートではA2セルから下方に例えば6月1日、6月2日…と入力するとして、B2セルには次の式を入力して下方にドラッグコピーします。 =IF(ISERROR(INDIRECT(TEXT(A2,"m月d日")&"!C1")), "",IF( INDIRECT(TEXT(A2,"m月d日")&"!C1")="","",INDIRECT(TEXT(A2,"m月d日")&"!C1")+MAX(B$1:B1))) この式ではA列での日付は6月1日と入力すれば数式バー上では2013/6/1のように表示され、日付の数値として認識されているでしょう。そこでその日付をTEXT関数を使って文字列の6月1日に変換しています。その変換した形のものでシート名を検索しています。というのはシート名そのものは数値ではなく文字列となっているからです。 検索するシート名が無い場合にはエラーとなりますので空白に、また検索したシートのC1セルに入力が無ければ空白になるようにしています。 MAX関数では累計値を求めるために使っています。途中の日付のシートのC1セルが空の場合でも計算ができるようにしています。
お礼
KURUMITOさんへ 詳しく書いていただき、ありがとうございます! 私の説明不足でしたが、累計は一枚のシートに書きたかったのではなく、 日々のシートに書いていきたかったのです(^^;) でも、こういう方法もあるのですね。 お勉強になりました。 ありがとうございます!
- FEX2053
- ベストアンサー率37% (7995/21381)
後のこと考えると、6月1日シートはA1とA2両方に本日の 売り上げを書いておき、6月2日シート以降は、A2が6月2日 の売り上げとして =6月1日!A1 + A2 という参照式を、6月2日シートのA1に置けばいいかと。 こうすれば、6月3日シートには =6月2日!A1 + A2 とおけば累計が次々計算できます。 もっともこの式はコピーができないので、手作業で30枚書く ことになりますが、こういうのは、複雑すぎる式を作ると、 後でメンテナンスの時に、何をやってるかわからなくなって メチャ苦労しますので・・・。
お礼
FEX2053さんへありがとうございました! 手作業で行うのが大変なので、もうちょっとお勉強してみます。 ありがとうございます!
補足
mt2008さんへ やりたいことができました!! が、ひとつ問題がありまして、、、 30日分のシートを作成してありますが(複製するプログラムをネットで検索し使用して作成)、30日の中で営業しない日があった場合でも、この式でいけるものでしょうか? エラー処理の何かを入れなければいけませんか?? ちょっとお勉強してやってみますが、もし教えていただけると助かります。(安心できます!) どうぞ宜しく御願いします。