EXCELで複数のシートの日々の累計を計算する方法とは?

このQ&Aのポイント
  • エクセル2000で、1つのBOOKに一ヶ月分の日報のシートを作成しました。各シート名は、6月1日、6月2日、6月3日~6月30日となっています。要約文では、EXCELを使用して複数のシートの日々の売り上げの累計を計算する方法について説明しています。
  • 月によって営業日数が異なるため、別のシートを作成して営業日数を縦に並べることを提案しています。このシートの各セルには、そのセルの日付と対応するシートの売り上げを入力します。そして、日毎の売り上げの累計を計算するために、前日の売り上げと当日の売り上げを加算する関数を使います。
  • 質問者は、関数の使用に不慣れであるため、VLOOKUPやIFなどの簡単な関数の使い方についても解説して欲しいと述べています。
回答を見る
  • ベストアンサー

EXCELで複数のシートの日々の累計

初めて投稿いたします。 とても困っているので、どうぞ宜しく御願いします。 エクセル2000で、1つのBOOKに一ヶ月分の日報のシートを作成しました。 各シート名は、6月1日、6月2日、6月3日~6月30日となっています。 例えば、 この6月2日のシートのC1に6月2日の売り上げを手入力すると、このシートの E1に前日(6月1日)の売り上げ(6月1日シートのC1)+今日(6月2日)の売り上げ =累計が計算されるようにしたいのです。 月によって、営業日数が違うので、もう一枚シートを作成して、そのシートのA列に 営業日数分のシート名(6月1日、6月2日・・・)を縦に羅列し、それを読んでその名前のシートの売り上げ(C1)を読んで、当日の売り上げと累計していきたいのです。 初日は、当日の売り上げが累計値となり、 2日目は、1日目+2日目の値 3日目は、1日目+2日目+3日目の値となるようにしたいのです。 似たような質問をされているのを探して、いろいろと試してみましたが、 関数もVLOOKUPやIF等の簡単なものした使用したことがなく、うまくいかないのです。 どうか、詳しく教えていただけると、助かります。 宜しく御願いします。

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

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.3

要は前日のシートの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 と、入っている事が前提です。

ogasho
質問者

補足

mt2008さんへ やりたいことができました!! が、ひとつ問題がありまして、、、 30日分のシートを作成してありますが(複製するプログラムをネットで検索し使用して作成)、30日の中で営業しない日があった場合でも、この式でいけるものでしょうか? エラー処理の何かを入れなければいけませんか?? ちょっとお勉強してやってみますが、もし教えていただけると助かります。(安心できます!) どうぞ宜しく御願いします。

その他の回答 (3)

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.4

> 30日分のシートを作成してありますが(複製するプログラムをネットで検索し使用して作成)、30日の中で営業しない日があった場合でも、この式でいけるものでしょうか? > エラー処理の何かを入れなければいけませんか?? 営業していない日のシートのE1にも累計値(営業していませんから前日と同じ値)が表示されますので、それが許されるなら大丈夫です。

ogasho
質問者

お礼

mt2008さんへ 営業していない日のシートに前日の値が表示されているだけなら、問題ないので、これでやりたいことが全部できました!! とても助かりました!! ありがとうございました。 またお勉強しようと思います。

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

もう一枚のシートでは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セルが空の場合でも計算ができるようにしています。

ogasho
質問者

お礼

KURUMITOさんへ 詳しく書いていただき、ありがとうございます! 私の説明不足でしたが、累計は一枚のシートに書きたかったのではなく、 日々のシートに書いていきたかったのです(^^;) でも、こういう方法もあるのですね。 お勉強になりました。 ありがとうございます!

  • FEX2053
  • ベストアンサー率37% (7987/21354)
回答No.1

後のこと考えると、6月1日シートはA1とA2両方に本日の 売り上げを書いておき、6月2日シート以降は、A2が6月2日 の売り上げとして =6月1日!A1 + A2 という参照式を、6月2日シートのA1に置けばいいかと。 こうすれば、6月3日シートには =6月2日!A1 + A2 とおけば累計が次々計算できます。 もっともこの式はコピーができないので、手作業で30枚書く ことになりますが、こういうのは、複雑すぎる式を作ると、 後でメンテナンスの時に、何をやってるかわからなくなって メチャ苦労しますので・・・。

ogasho
質問者

お礼

FEX2053さんへありがとうございました! 手作業で行うのが大変なので、もうちょっとお勉強してみます。 ありがとうございます!

関連するQ&A

  • エクセルの営業日報で累計を残す方法

    エクセル初心者です。 エクセルで一か月分の営業日報をつくりました。 当日売上と当月累計等が横並びになっていてるものです。 シートを1枚作り、1日を31日までコピーし、1,2,3,4~31となっています。 完成した日報の累計は串刺し算でもとめています。   例:売上累計は=SUM(Start:End!A1) この計算だと、たとえば15日まで記入した場合、10日の売上累計を確認したくても 1~31すべての累計が同じ数字になっていて見返すことができません。 毎日の累計を残したい場合はどのような対策が有効でしょうか?? ※マクロも少し(シートを「1」作り、シート名「1」~「31」でコピー)だけですが挑戦しました(汗)

  • EXCELのシート間でのマクロ計算

    毎日の日報をEXCELのワークシートで作成しております。日報は、その「日」の売上とその「月」の売上(累計)を出すようにしております。月の売上(累計)は、前日の売上のシート(前日分)+本日の売上のシート(本日分)で表しております。日報は、項目がたくさんあるので、月売上を出す場合、シート間での毎日の計算作業が面倒です。ですから、この計算作業をマクロで出来ればと思っております。1つのシートでマクロを使用することは解るのですが、シート間でマクロを利用するやり方がわかりません。 なにとぞ、よろしくお願いいたします。

  • 【エクセル】データ用シートを作成し、すでにあるフォーマットへデータを反映させたい。

    お世話になります。 日報を簡単に作成できないか?と言われ、試行錯誤をしている最中です。 日報へは 当日の出荷数・今月の出荷累計・当日の入荷数・今月の入荷累計等 を入力しないといけません。 入力は、PCに触ることがあまりない人もいて、 「データ入力用のシートがあって、それを入力するだけで、 日報ができたら嬉しいんですが」とのリクエストが・・・。 日報にはすでにフォーマットがあります。 新しく「データ入力用」というシートを作成し、そこへ1日から31日までの 出入荷量等の表を作成し、累計も計算できるようにし、 それらのデータを例えば6月1日とフォーマットに日付を入力すると 6月1日のデータが日報のフォーマットへ自動で入力されるというような ことはできるのでしょうか? また、できるのであれば、どのようにしたらいいのか、アドバイスいただけると嬉しいです。 説明が上手にできずに申し訳ありませんが、よろしくお願いいたします。

  • エクセル(マクロ)で累計部分を更新しながらシートを

    日報作成をマクロで自動化する方法を探しています。 とりあえずできたのは、 1:「1日」シートを作り、セルA1には日付「2015年9月1日」を入力。 2:「1日」シートをコピーして「2日」シートを作成し、セルA1の日付を「2015年9月2日」に変更。 3:2の作業を「31日」シートまで繰り返す。 というところまでです。 (1つのワークブックに、「1日」~「31日」までのシートがある状態です。) これに加えて、たとえば、セルB1に当日売上を入力すると、 セルB2に月累計が出るようにしたいのです。 試してみたのは、「1日」シートのセルB2に「=B1」と入力し、 「2日」~「31日」シートのB2に =INDIRECT(TEXT(A1-1,"1日")&"!B2")+B1 と入力してみましたが、これだと月累計ではなく「1日」シートのみとの合計になってしまい、 「3日」~「31日」シートでは、数式内のシート名"1日"の部分を 手動で更新していかなければなりません。 数式内のシート名を翌日の日付に変更しながらシートをコピーする方法はありますか? または、 B2=前日シートのB2+当日シートのB1 となる数式は無いでしょうか?? ちなみに今マクロで使っているのは下記のコードです。 ——————————— Sub 日報作成() Dim firstDay As Date firstDay = InputBox("日報", "最初の日付を指定", Date) '最初のシートの日付を指定 Worksheets("1日").Range("A1") = firstDay Dim i As Integer For i = 1 To 30 Worksheets("1日").Copy after:=Worksheets(Worksheets.Count) '1日のコピーを末尾に作る Worksheets(Worksheets.Count).Name = i + 1 & "日" 'コピーしたシートの名前を変える Range("A1").Value = DateAdd("d", i, firstDay) '日付を一日ずつ足していく Next i End Sub ――――――――――― 似たようなデータを毎月大量に作るので、どうにか効率化できたらと思っています。 ちなみに、わたしはプログラミングCを少しかじったことがありますが、 マクロを使うのは初で、上記もネットで見つけたコードを少しいじった程度です、、 詳しい方がいらしたら教えてください。 よろしくお願いいたします。

  • エクセルで前シートを参照して累計金額をだしたい。

    エクセルで現場ごとに日報を作成しています。 (現場単位で、2~3ヶ月で1つの日報ファイルを作成しています) 1日1シートで作成し、シート名は日付(例:1月2日なら「0102」)でつけています。 毎日かかった経費と、その日までの合計(累計)の経費をだしたいと思っています。 その日の金額(A1)に、前日までの累計の金額(一つ前のシートのA2)を足して、その日までにかかった経費を(A2)に表示させたいと思い 色々と調べて以下の方法にたどり着きました。 名前の定義に「前シート」として、参照範囲に 「=MID(INDEX(GET.WORKBOOK(1)&T(NOW()),GET.DOCUMENT(87)-1),FIND("]",INDEX(GET.WORKBOOK(1)&T(NOW()),GET.DOCUMENT(87)-1))+1,31)」を入力し 累計を求めたいセル(A2)には 「=INDIRECT("'"&前シート&"'!A2")+A1」と関数を入れました。 これで一応でるようにはなったのですが、エクセルを閉じて、再び開くと A2には「#NAME?」と表示されてしまい また名前の定義を設定し直さなければなりません。 私一人が使うわけではなく年配の上司も見るので、できれば開くたび、数字が表示されるようにしたいのですがどうすればよいでしょうか? ちなみに、他の名前の定義を使用している関数については、再び開いても数字が表じされています。 あともうひとつ・・・名前の定義以外で同じように累計を計算する関数はありますか? よろしくお願いします。

  • エクセル マクロを使って日々の実績を累計したい

    エクセルで各社員の日々の販売実績を入力しています。 縦の列に各社員の氏名、横の列は商品名(9種類程度)の表になっています。 この表(シート名:営業実績表)に各自の実績を入力し、1営業日分を印刷、さらに別のシートに累計(シート名:実績累計表)しているのですが、 その際にわざわざ電卓をたたいて累計を入力している有様です。 そこで、この作業をマクロを使って簡単にできないものかと思いこちらに質問させていただきました。 ポイントは (1)1営業日分に関しては紙面での報告だけを求められているので、印刷、累計後はクリアしている。次の日、同じ表を使って日付を一日進めた上で実績を入力している。 (2)累計は一週間、一ヶ月単位ではなく、商品のラインナップが変わるまで行っているため、定まった期間が無い。累計の表に関しては印刷とデータ化を求められている。 (3)エクセルのバージョンは2002です。 以上です。 わかりやすくマクロの式を例示していただければ幸いです。ご回答お待ちしています。

  • 日計累計の仕方

    過去回答に有りますが  コマンド打ち込み等初心者で無理でした、1つのシート内を31枚に分割(1~ 31日) 1日1シート似て記入してます 勤務時間等作成しています  当日分(A列)累計(B列)A列に当日分B列に当日までの累計  上記のように当日分を打ち込めば  B列に当日分までの累計が自動で計算されるには  どのようにすればいいですか?  1枚目  1日 累計     2枚目  2日 累計   ~31日   Aさん  8  8      Aさん  7  15(ここ)   Bさん  9  9      Bさん  8  17(ここ)

  • エクセル作表 日ごとの累計

    エクセル2003で、1ヶ月の売上を日にち毎にシートを作成し、その日までの累計を表示させたいのですが、簡単に31日分のシート作成する方法はないのでしょうか?

  • エクセルで日報を自動で累計させる方法は?

    1枚のシートにまったく同じ2枚の表を上下に並べて 上は当日の日報を手入力、下は日報の当月累計を 自動で表示したいのですがどうすればよいでしょうか。 (例) 【日報】5月24日  A    B    C    D    E    F 1   品名1  品名2  品名3  品名4  総計 2ア社  10   0    5   0   15 3イ社 20   10   0   15   45 4ウ社 15   0   0   0   15 ------------------------------------------------- 5総計 45 10 5 15 75 6 7【累計】5月1日~24日 8  品名1  品名2  品名3  品名4  総計 9 ア社  190 50  45 10 310 10イ社 300 100 0 50 495 11ウ社 150 0 20 15 200 ------------------------------------------------- 12総計 640 150 65 75 1005 こんな感じの表です。

  • Excelで毎日の売上を入力すると同時に別のSheetに累計が…

    初心者です。Excel2000を使っています。 Sheet1に毎日の商品別・社員別の売上金を入力しています。 表の列に商品別項目(80品目くらいあります)を、行に社員名(15人ほど)なので結構大きな表です。 どの社員がどの商品をどのくらい売ったか…を社長が毎日チェックします。 1週間の累計が欲しいのでSheetを7枚コピーし、日々Sheet毎に入力し、Sheet8で串刺し集計をして、累計をとっていました。 表が大きいので毎日の入力Sheetは1枚にして、累計のSheetに 昨日の売上+今日の売上=今日現在の累計 といったように、入力Sheetの数値が累計のSheetに反映されるような数式設定は簡単にできますか? 日々の売上表と累計の売上表を同時に素早く、社長に提示できるようお達しがありました。 そして月末には当然1ヵ月分を出します。お願いします。