
初めて投稿いたします。
とても困っているので、どうぞ宜しく御願いします。
エクセル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等の簡単なものした使用したことがなく、うまくいかないのです。
どうか、詳しく教えていただけると、助かります。
宜しく御願いします。
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 と、入っている事が前提です。
この回答への補足
mt2008さんへ
やりたいことができました!!
が、ひとつ問題がありまして、、、
30日分のシートを作成してありますが(複製するプログラムをネットで検索し使用して作成)、30日の中で営業しない日があった場合でも、この式でいけるものでしょうか?
エラー処理の何かを入れなければいけませんか??
ちょっとお勉強してやってみますが、もし教えていただけると助かります。(安心できます!)
どうぞ宜しく御願いします。
No.4
- 回答日時:
> 30日分のシートを作成してありますが(複製するプログラムをネットで検索し使用して作成)、30日の中で営業しない日があった場合でも、この式でいけるものでしょうか?
> エラー処理の何かを入れなければいけませんか??
営業していない日のシートのE1にも累計値(営業していませんから前日と同じ値)が表示されますので、それが許されるなら大丈夫です。
mt2008さんへ
営業していない日のシートに前日の値が表示されているだけなら、問題ないので、これでやりたいことが全部できました!!
とても助かりました!!
ありがとうございました。
またお勉強しようと思います。
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セルが空の場合でも計算ができるようにしています。
KURUMITOさんへ
詳しく書いていただき、ありがとうございます!
私の説明不足でしたが、累計は一枚のシートに書きたかったのではなく、
日々のシートに書いていきたかったのです(^^;)
でも、こういう方法もあるのですね。
お勉強になりました。
ありがとうございます!
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枚書く
ことになりますが、こういうのは、複雑すぎる式を作ると、
後でメンテナンスの時に、何をやってるかわからなくなって
メチャ苦労しますので・・・。
FEX2053さんへありがとうございました!
手作業で行うのが大変なので、もうちょっとお勉強してみます。
ありがとうございます!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Core 2 Duo の古いパソコンに最...
-
linuxのインストール
-
ubuntu(linux)のシャットダウン...
-
インストールできないですどう...
-
VirtualBox 6.1 → 7.1 でUbuntu...
-
「/var/log」内のログの削除の...
-
Linux のシェルスクリプトの強...
-
ubuntu が起動しない。
-
LinuxでWine使うとどのくらいWi...
-
bashでシングルクォート内の変...
-
ssl_error_logのエラー内容(AH...
-
ubuntuのシャットダウンが進ま...
-
ubuntuで デイスク/deb/loopと...
-
Ububtuでファイル共有できない...
-
Ubuntu でinvalid filenameとな...
-
Rasberry pi のオンボードNICの...
-
linuxサーバーのキャッシュをク...
-
Linuxでブートディスクの交換後...
-
他のLinuxでも動くa.outの作り方
-
ssl_request_logの必要性について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
インストールできないですどう...
-
Core 2 Duo の古いパソコンに最...
-
LinuxでWine使うとどのくらいWi...
-
ubuntu(linux)のシャットダウン...
-
Linux のシェルスクリプトの強...
-
bashでシングルクォート内の変...
-
VirtualBox 6.1 → 7.1 でUbuntu...
-
ubuntuで デイスク/deb/loopと...
-
「トゥ]の出し方
-
Ubuntu on Xorgのログインについて
-
ログにserver reached MaxReque...
-
ubuntuのシャットダウンが進ま...
-
LinuxのPCは基本不要PC中古を使...
-
ubuntu 24 へのCanon 複合機ス...
-
Windowsのローカルディレクトリ...
-
WinSCPでLinux(CentOS6.10)に...
-
ubuntu が起動しない。
-
Lubuntuでとにかく軽量のバージ...
-
ssh接続しようとしたらエラーメ...
-
Ububtuでファイル共有できない...
おすすめ情報