• 締切済み

エクセルで売り上げ表を作成したいのですが…

エクセル98を使用しています。 月毎の売り上げ表を作成したいと思っています。 あるシート(以降、Aシート)にその月の売り上げ表を作成して、別のシート(以降、Bシート)に月毎の売り上げの履歴を残す事ができたら良いと思っています。 あらかじめ締め日を決めておき、その締め日が過ぎるとAシートの売り上げ表に記載されていた数字はクリアされると同時に、Bシートに売り上げの履歴を残すようにしたいです。 毎月設定しておいた日付けが過ぎると、シートに入力されていた数字を自動にクリアさせる方法はあるのでしょうか? また同じく、毎月設定しておいた日付けが過ぎると、その月毎の売り上げを別のシートに残すような作業はできますのでしょうか? 時間に合わせて、処理を行うといった感じになります。 時間に合わせて、入力されたデータをクリアにする。また別のシートに記録を残す良い方法がありましたら、アドバイスをお願い致します。

みんなの回答

回答No.3

毎月締め日にデータクリアーしなくてはならない理由があるのでしょうか? 1ヶ月を1シートとし、それを12シートあわせて1年分のブックを作成して、それぞれのシートから必要なデータを串刺し集計するシートを別に作成すればいかがでしょうか? あえて入力する為のシートと保存するためのシートを分ける目的があるのなら話は別ですが・・。

s5429
質問者

お礼

御回答ありがとうございます。 仰る通り、1シート1ヶ月で作成していけば良いのですが、入力項目が膨大にあり、そのシートを複製すると容量が大きくなってしまうので、できればデータをクリアできたら良いと思っています。 また使用するファイルは、1年間のみの使用ではなく数年に渡り使用するので、できるだけ容量を落として作成しようと思います。 質問の内の1つの、あらかじめ設定していた時間がくると、あろセルのデータを別のシートに履歴として残す方法を自己解決することができました。 以下方法。 A1セルに現在の時刻をNOW関数で表示。 B1セルに期限の日時をDATEとTIME関数(テストなので時間まで表示)で表示。 C1セルには残しておきたい数値を入力。 D1セルには「if(a1-b1>0,c1,"")」と計算式を設定。 こうすると、設定していた時刻が来ると、D1セルには残しておきたい数値が残るようになりました。 あと、今思い付いたんですが、売り上げ表のシートは自動にクリアさせなくても、手動で行えばできそうな気がしてきました(^^; 数値を入力やクリアするセル以外を保護しておいて、締め日が過ぎたら、数値が入力されている保護されていないセルの値のみを消去するようにすればできそうですよね。 何かこの方法で解決しそうなのですが、もっと良い方法がありましたら、アドバイスして頂けると助かります。

  • dejiji-
  • ベストアンサー率38% (327/858)
回答No.2

この作業はマクロによらないとできそうもありませんが、疑問点が。 >シートのデータをクリアしたい これは、テンプレートの使用をすれば、毎回クリアするような作業は不要になるが、この方法では駄目なのか。 >入力は手入力でしょうか 手入力なら、データ入力毎にセーブが必要ですね。このファイル毎(月別にブック単位で)に管理するのでは駄目なのでしょうか。 一つのファイル(ブック)で何か月分も管理したいのでしょうか。 内容によっては、マクロなど組まない状態でも、通常のエクセル機能で対応が可能のように思うのですが。

s5429
質問者

お礼

御回答ありがとうございます。 テンプレートは頭にありませんでした(^^; ですが、売り上げ表以外にもいろいろとこの方法が利用できたら利用したいので、関数でできそうであれば今後カスタマイズする時に簡単に改造することができるので、できれば関数で実現できたらと思っています。 >手入力なら、データ入力毎にセーブが必要ですね。このファイル毎(月別にブック単位で)に管理するのでは駄目なのでしょうか。 データは手入力で行うつもりです。 できれば1つのブックで管理したいのですが、エクセルファイルの場合は、容量はどれくらいまで大丈夫なのでしょうか? 1ファイル40MBくらいでも大丈夫なのかな。。。 パソコンの環境にもよると思いますが、メモリは700MB以上積んでありますので、メモリは十分にあると思います。 まだ、おおまかな概要しか構想していないので、関数を使用した方法がみつかれば、それをアレンジして作成したいと思います。 また何かアドバイスして頂けることがありましたら、よろしくお願い致します。

  • list
  • ベストアンサー率30% (61/203)
回答No.1

マクロを使用すれば、理論的には可能であると思います。(ただ、エクセル98でマクロを作った事が無いので対応出来るかは不明ですが・・・)

s5429
質問者

お礼

御回答ありがとうございます。 マクロを使用すればできそうなんですね。 でも、私はVBAには詳しくないので、今後のカスタマイズするかもしれない事を考えると、何とか関数のみで行えたらと思っています。 もっといろんな方法を考えてみますので、また何かありましたら、アドバイスをお願い致します。

関連するQ&A