- ベストアンサー
エクセルの関数
エクセルの関数についてですが。 1行目には見出しがあります 2行目から100行目までデータが入っています A列は店名B列は氏名 C列には、目標の数字 D列には成績 E列に関数を入れたいのです。D列の数字が5000を超えると☆、さらにC列よりD列が大きかったら ○ (目標を達成したら○が入るということです) さらに、C列よりD列が小さい場合は、D列の数字をそのまま入る)。。。目標を達成した場合は ○ 達成していない場合は そのままの数字を入れるということです どんな関数をいれたらいいか教えてください
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
E列を空欄にするか否かの条件を決めていなかったり、或いは、「IF(A2="","",」だけで決めてしまいますと、もしも、D列に「A」や「あ」、「10 0」等の何らかの文字列を誤って入力した場合には、必ず「☆」が表示されてしまいますし、C列が空欄の場合には、D列が例え「0」であった場合でも、必ず「○」が表示されてしまいます。 その様な事が無いようにするために、次の様な関数にされると良いと思います。 =IF(COUNT($C2,$D2)=2,IF($D2>5000,"☆",IF($C2>$D2,$D2,"○")),"") 上記の関数を、まずE2セルに入力してから、E2セルをコピーして、E3以下に貼り付けて下さい。
その他の回答 (3)
- tom04
- ベストアンサー率49% (2537/5117)
No.1です! たびたびごめんなさい。 前回の数式の不等号の向きが逆でした。 =IF(A2="","",IF(D2>5000,"☆",IF(C2<=D2,"○",D2))) に訂正してください。 ※ 数式内の等号は適宜追加・削除してください。 >5000を超えると とありますので、5000の前は不等号のみ >C列よりD列が小さい場合は に関しては >D列がC列以上の場合は と解釈しています。 何度も失礼しました。m(_ _)m
- 佐藤 志緒(@g4330)
- ベストアンサー率18% (840/4653)
=if(D1>5000,"☆",if(D1>C1,"○",if(D1<C1,D1)))
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 「☆」と「○」はどちらが優先か不明ですが・・・ とりあえず「☆」(D列が「5000」を超えた場合)を優先すると E2セルに =IF(A2="","",IF(D2>5000,"☆",IF(C2>=D2,"○",D2))) という数式を入れオートフィルでずぃ~~~!っと下へコピーではどうでしょうか? ※ IF関数内の最初のTRUE(真)が優先となります。 すなわち上記数式では、D列が目標達成・未達成に関係なく 5000を超えていれば「☆」になります。m(_ _)m