プロが教える店舗&オフィスのセキュリティ対策術

シートαに
  A     B  C   D
1 たまねぎ |4|豚肉肩|300 
2 にんじん |3|ひき肉|400
3 ジャガイモ|7|いわし|250

のように以下ずらずらっと材料を記入しています。

実は今回、任意の材料名を書くとその隣の値から減算される、というふうにしたいと思っています。

たとえばシートβの好きな場所に

     いわし|150

と書くと、シートαが

  A     B  C   D
1 たまねぎ |4|豚肉肩|300 
2 にんじん |3|ひき肉|400
3 ジャガイモ|7|いわし|100

というふうにしたいのですが、どういった関数を利用していけばいいんでしょうか・・・

A 回答 (2件)

シートBに


材料名と引き算する値のリストを作成します。
引き算しない場合は、未入力か0を入れます。
シートAで
材料の数を入れる時に
=250-VLOOKUP(C3,B!$A$1:$B$6,2,FALSE)
の様に入力します。
説明:
シートBから該当値を探してきます
VLOOKUP(C3,B!$A$1:$B$6,2,FALSE)

VLOOKUP(いわしを検索,シートB!対応表の範囲,2列目から値を持ってくる,一致した場合だけ)
    • good
    • 1
この回答へのお礼

なるほど、VLOOKUP関数を使えばいいんですか。
ありがとうございます。

ただ対応表の範囲を複数の列を選択する方法がわからないので、もう少し勉強してみます。

お礼日時:2005/02/10 00:23

> どういった関数を利用していけばいいんでしょうか・・・



関数では不可能です。
やるとしても、VBAを使用する事になります。


> 特定の値を入力すると

Excelは「特定の値が入力された」という事を判断しません。
たとえば、家計簿ならばどこかの値が変更された、ファイルが開かれた際に全部の計算をやりなおします。
計算結果が常に同じなので、変わっていない→前の値を覚えているように見えるだけです。

--
VBAを使うにしても、

> 任意の材料名を書くとその隣の値から減算される、

が新しく書かれたのか、前から書かれていたのかの判断が出来ないので、ひたすら値を減らし続けるような事になりかねません。
また、材料名や値を訂正したときは?削除したときは?などの検討も必要です。


「特定の値を入力するとその隣のセルの値を減算するようにしたい。」という処理を使って「何をやりたいのか?」という目的を補足してもらえれば、代替案や制限つきの案を提示できるかも?
    • good
    • 0
この回答へのお礼

確かにできないようですね。言葉足らずでごめんなさい。もっとExcelを勉強してどうしたいのか考え直して出直してみます。

お礼日時:2005/02/10 13:31

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