• ベストアンサー

エクセルの計算式記述方法

A1セルの数値(Zero以上の整数)を計算値とする計算式(B1セルに記述)を教えて下さい。 条件1: A1セルが0の時は0とする。 条件2: A1セルが1の時は1000とする。 条件3: A1セルが2以上の時は1000+(("A1"-1)*700)とする。 例:A1セルが3の時は 1000+((3-1)*700) = 2400 以上。宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

(1)#1のお答えが正しいのですが、If分のネストの問題を学習するとなると B1に=IF(A1=0,0,IF(A1=1,1000,1000+((A1-1)*700))) と書くことになります。たまたま、A1の値が1の時も1000+(A1-1)*700が使えるので#1のように簡略化できます。 もっと分岐が多くなれば、鬱陶しいですね。 (2)その時は下記を修正して考えてください。 VBE画面のModule1に下記を貼りつけ、修正します。 Function keisan(a) Select Case a Case 0 keisan = 0 Case 1 keisan = 1000 Case Is > 2 keisan = 1000 + (a - 1) * 700 End Select End Function 「Case」はXXの場合ということで、その下に計算式を どんどん増やしていけます。 keisan=計算式(A1の値をaと表して) (3)使い方は、B1に=keisan(A1)と書くだけで良い。 keisanは勝手に付けた名前で、henkan1とかでも良い。

taka1014
質問者

お礼

どうもありがとう御座います。しばらく使っていなかったら忘れてました。 今回はVBEを使わずにIF文だけで行きます。

その他の回答 (2)

  • NIWAKA_0
  • ベストアンサー率28% (508/1790)
回答No.3

#1・#2の方、A1セルにマイナスの値が入ると間違うのでは・・・ という訳で、 =IF(A1=0,0,・・・ を =IF(A1<=0,0,・・・ に修正・・・蛇足ですかね?

  • tbobi
  • ベストアンサー率45% (544/1189)
回答No.1

B1セルに =IF(A1=0,0,1000+((A1-1)*700)) と入れればOKだと思います。 これは、条件1~3を満たしています。

taka1014
質問者

お礼

どうもありがとう御座います。しばらく使っていなかったら忘れてました。

関連するQ&A