- ベストアンサー
IF関数で出た値の計算
エクセル2003を使っています。いろいろ過去ログをみたのですがわからなかったので質問させてください。 エクセルでIF関数を使って、70以上は”5”、45以上は”4”、30以上は”3”、それ以外は2と設定したのですが、この出た値、”5”、”4”、”3”の値をアベレージ関数なので計算したいのですが、なかなかできません。 どのようにしたらいいのでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>エクセルでIF関数を使って、70以上は”5”、45以上は”4”、30以上は”3”、それ以外は2と設定したのですが、 数値の区切り範囲によって、コードを振るとき、IF関数をネストするやり方は、VLOOKUP関数のTRUE型がお勧めです。 IFを使うということは、多分エクセルの良く使われる関数を勉強してない証拠で鼻以下と思う。 >この出た値、”5”、”4”、”3”の値をアベレージ関数なので計・・ ここでも初心者が良く気にしている時候ではないかと思うのですが、 (1)関数はセルの「値」を使って計算したり・処理したりするする。(セルには「値」以外の情報も持っている。認識したことありますか) (2)セルの「値」は、(A)人間が入力した値でも(B)関数で、計算された結果の数値や文字列でも、(C)コピーして来た値でも(D)VBAでセットした値でも、変わりありません。次ぎのステップでその「値」を使うときは、(A)と同じと考えてよい。値がセルにセットされた、その来歴・由来は問いません。このことは非常に都合の良いことです。 >IF文の中の何々だったら、何何をセットの何々をセットの部分か ””で囲まれているようです。これでは文字列をセットすることになってしまいます。計算できません(するにはさらに工夫が要ります) ””をはずしてみてください。 エクセルはセルの値として、数値と文字列は峻別しているので、関数を使うときは、しっかり認識して、勉強してください。
その他の回答 (3)
ANo.3の方の回答でお分かりかと思いますが、 =IF(C8>$K$9,5,IF(C8>$K$10,4,IF(C8>$K$11,3,2))) とすればいいだけです。 ANo.3の方の回答へのレスポンスが無いため、念のため書き込んでみました。
今気付きましたが、「”5”、”4”、”3”の値」というのは文字列では? 文字でなく数値としての5、4、3とすれば計算できるのはないですか? 私の書いていることがわからなければ、具体的にどのような式を記述したのか補足記載してください。
>この出た値、”5”、”4”、”3”の値をアベレージ関数なので計算したいのですが、 意味不明です。具体的な計算の仕方、事例を補足してください。
お礼
ありがとうございます。 たぶん文字列になっていると思うのですが、数値でIF関数で出すにはどのようにしたらいいのでしょうか?=IF(C8>$K$9,5,IF(C8>$K$10,"4",IF(C8>$K$11,"3","2")))という式です。 4、3、2の値の計算ができないです。