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

マイクロソフトエクセルで、以下のようなことをする場合の数式の組み方を教えてください。

合計得点を参照して、合格点以上であれば、「合格です」と横に表示し、合計得点以下ならば、「合格まであと○○点です」と横に表示するという具合に得点に応じて表示コメントを変えたい。

マクロの使い方はまだ分からないのですが、これはマクロを使わないとできないでしょうか。

A 回答 (3件)

マクロなど不要です。

関数で普通に出来ますよ。

A1セルに判定する点が入っているとします。
300点以上が合格だとします。
B1にそのコメントを表示するとして、B1セルに以下です。


=IF(A1>=300,"合格です","合格まで"& 300-A1 & "点です")


上記式の概略
※IF関数で条件によって処理
※不合格の時は、足りない点数を計算し(「300-A1」の部分)、& で連結です。
    • good
    • 1
この回答へのお礼

早速のアドバイスありがとうございました。
かなり行き詰まっていたので、とても助かりました。
エクセルって覚えると楽しいですね。
これからも勉強していきます。
また何かあったときは、アドバイスお願いします。

お礼日時:2008/05/25 05:53

もう、答えは出ていますが、今後のこととして...


ちょっと解法がわからないと、何でもVBAに走る癖をつけないことをお勧します。
できるだけ、ワークシート関数でできないか考えてみることです。
VBAを使うにしても、できるだけユーザー定義関数の形にして、これを拡張タイプのワークシート関数として使うべきです。

老婆心ながら...

ちなみに、トリッキーですがこんなこともできます。
B1に
=IF(A1>0,A1-300,"")
と入力しておきます。
B1の表示書式に、
「"合格です。";"合格まで、あと"#"点です。";"合格です。";」
と設定しても同じ効果が得られます。
この方法の利点は、B1の中身が合格点との差になっているので、
別のセルで、合格者や不合格者の人数をカウントできたりする点です。

ご参考まで。。。
    • good
    • 1

#2です。


> この方法の利点は、B1の中身が合格点との差になっているので、
> 別のセルで、合格者や不合格者の人数をカウントできたりする点です。
上記はA1の点数をチェックしてもできるので、意味なかったですね。
    • good
    • 0
この回答へのお礼

ありがとうございます。
読みながら、「へぇ~!」と目からうろこの思いでした。
奥が深いですね。
アドバイスをいただいたように関数を勉強して関数でいろいろなことを考えていきたいと思います。

お礼日時:2008/05/27 06:13

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