- ベストアンサー
Excel;特定の値を入力するとその隣のセルの値を減算するようにしたい。
シートαに 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 というふうにしたいのですが、どういった関数を利用していけばいいんでしょうか・・・
- みんなの回答 (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列目から値を持ってくる,一致した場合だけ)
その他の回答 (1)
- neKo_deux
- ベストアンサー率44% (5541/12319)
> どういった関数を利用していけばいいんでしょうか・・・ 関数では不可能です。 やるとしても、VBAを使用する事になります。 > 特定の値を入力すると Excelは「特定の値が入力された」という事を判断しません。 たとえば、家計簿ならばどこかの値が変更された、ファイルが開かれた際に全部の計算をやりなおします。 計算結果が常に同じなので、変わっていない→前の値を覚えているように見えるだけです。 -- VBAを使うにしても、 > 任意の材料名を書くとその隣の値から減算される、 が新しく書かれたのか、前から書かれていたのかの判断が出来ないので、ひたすら値を減らし続けるような事になりかねません。 また、材料名や値を訂正したときは?削除したときは?などの検討も必要です。 「特定の値を入力するとその隣のセルの値を減算するようにしたい。」という処理を使って「何をやりたいのか?」という目的を補足してもらえれば、代替案や制限つきの案を提示できるかも?
お礼
確かにできないようですね。言葉足らずでごめんなさい。もっとExcelを勉強してどうしたいのか考え直して出直してみます。
お礼
なるほど、VLOOKUP関数を使えばいいんですか。 ありがとうございます。 ただ対応表の範囲を複数の列を選択する方法がわからないので、もう少し勉強してみます。