プロが教えるわが家の防犯対策術!

MS Excel2007を使っています。
とある用途で計算表を作成しました。
関数を使ってそれぞれのカテゴリごとに色々と計算させて、最後にカテゴリごとの計算結果を、あるセルで足し算をして集計するというよくある様な単純なものです。もう少し具体的に言えば、製品の見積り(原価を算出して利益率を掛け合わせて売価と粗利を表示する)を計算するといった表です。ですが、いざ使い始めてみたところ、その計算要素を不規則にコロコロと変更して結果の値を比較検討してみなければならない事が多く、変更した事で幾ら変わったのか、その変更が最終的にどのくらいの変化をもたらしたのかが一見して分かりにくいと感じてきました。
そこで、この様な事が出来ないものかということで、どなたかにアドバイスを頂きたく質問です。

◎計算要素を変更する前の集計結果の値と、変更後の値(今現在の集計結果)、それぞれを別のセルに表示したりしたいのですが、どの様な方法がありますか?

◎出来れば、変更されたごとに、2回前、3回前・・・と複数の変更を記録しておける様なセルを作りたいです。

現状ではどの様な方向性で考えれば良いのか、全くもって思いつきません。
ちなみに私のスキルは、関数がある程度使えるという程度です。また、マクロとはどの様な物で何の為に使うかはざっくり理解していますが使った事がありません。VBAはプログラムを組む事で何かを実行する為のものだと言う事しか分かりません。出来れば簡単な方法がいいですが、ただ必要ならばこれを機会に勉強しようと考えています。

以上、どなたかご教授頂きたく思います。
宜しくお願い致します。

A 回答 (2件)

マクロの自動記録で


1. D4セルをコピー
2. 隣のE4セルに値を貼り付け
(3. B2:C3セルを選択してDelete)
記録終了
ボタンにマクロを登録

ひとつだけでなく、過去の入力を記録したいなら
[Ctrl]+[↓]やマクロの記録時の[相対参照]ボタンが役に立つと思います。

Excel2007でもデータタブにシナリオの登録と管理がありますね
少し変わっていましたけどね。

あとは、「データ追跡機能つきテンプレートウィザード」のアドインが使えるかもしれません(ダウンロードの必要がある)

# ここの掲示板での回答暦は浅いですが、5年以上Excelの回答していてシナリオの回答したの初めてかも

参考URL:http://support.microsoft.com/kb/873209/ja
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
教えて頂いた様にマクロで実現できそうに思います。
完全に自動化するには、実用性の面も含めてもう少し色々考えてみようと思いますが、マクロ自体を今まで使った事がなかったので、まずは勉強がてらトライしてみます。ありがとうございました。
シナリオの機能は、恥ずかしながら私は全く気にも留めていなかったのですが、もしやみなさん質問するまでも無く普通に使っている物だったのでしょうか。Excel自体はものすごく便利な物だとつくづく感じていますが、もし使いこなせば本当に色々な事が出来る様なので、逆に必要に迫られないとまだまだ知らない機能だらけです。
ありがとうございました。

お礼日時:2009/10/31 22:38

勉強不足でExcel2003での回答です m(_ _)m



添付図のような計算があります。
結果としてD4セルに合計を出しています。
変更したいセルをB2:B3セルとします

1. ツール - シナリオ [追加]
2. シナリオ名 10月5日検討 (仮です)
 変化させるセル B2:B3
3. [OK]
4. シナリオの値
 $B$2:100
 $B$3:200
5. [OK] または [追加]で、上記2.~4.繰り返す
6. [情報] 結果を出力するセル D4
  ●シナリオの情報 または ●シナリオピボットテーブルレポート
7. [OK]

※[表示]でB2:B3セルの値が反映されます

サンプルがないため質問が完全に把握できないのとExcel2007の回答ではないので参考まで
「MS Excel2007 集計要素の変更」の回答画像1
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
シナリオやピボットテーブルといった機能は使った事がありませんでした。とても参考になりました。もう少し勉強してみます。
本当は、例えばCoalTar様のサンプルを例とすると、手動入力によって単価や個数を変更すると、D4の値が関数によって自動的に書き換わる訳ですが、その書き換わる度に、書き換わる直前の値がどこか別のセル(例えばD4の隣など)に自動的に表示される、という様な事が出来たら大変便利になると考えていました。
何となくですが、VBAを使えばあるいは出来るのかもしれないとは思うのですが、VBAは少々敷居が高い様に感じていましてどうしたものかと・・・。
ともあれ、ご指導頂きありがとうございました。

お礼日時:2009/10/29 21:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!