- ベストアンサー
エクセルの計算式で教えてください。
エクセルの計算式で教えてください。 下の表で2列目を「1列目が1~9の場合は10、10~19の場合は20、20~29の場合は30、 30~39の場合は40、40以上はNG」と表現する関数をおしえていただけないでしょうか。 よろしくお願いします。 1列目 2列目 8 10 11 20 21 30 31 40 41 NG 28 30 33 40
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
年齢データでしょうかね。 質問者さんは、式中に使う数字を39にするのか40にするのか、確認しておいてください。39.5歳みたいに小数にもなるデータなら、「a1>39」の代わりに「a1>=40」と書けば、範囲に漏れがないですね。「>=」は、「≧」の意味です。なお整数のみのデータであっても、40とか39+1を使っておいて、特に不都合は生じないと思います。 あと、ゼロにもなり得るデータだとすれば、ゼロに対応する計算結果をどうするのか、検討してください。質問文に「1~9の場合は10」とあるのを「0~9の場合は10」と読み替えるんだとすると、ゼロでは10になるということなのかもしれませんが、それでいいですか? また、「1列目」が未入力の場合はどうするのかも、検討してください。未入力では計算結果が10になってほしくないんだとすると、「1列目」のゼロと未入力を式の上で区別することになるのかもしれません。あるいは、未入力であるうちはその行に式を入力しないという考えもあるかもしれませんが。 No.1さんの式は、roundupする前に「1」を足すほうがよいかも?「20」などをこの式で処理すると…?
その他の回答 (2)
- keithin
- ベストアンサー率66% (5278/7941)
=IF(A1="","",IF(A1>39,"NG",CEILING(A1+1,10))) あるいはご相談で想定されてない範囲までで =IF(MEDIAN(1,A1,39)=A1,CEILING(A1+1,10),"NG")
お礼
ありがとうございました。
- Hypnomatic
- ベストアンサー率53% (56/104)
40未満の場合は1桁目を切り上げ、40以上はNGと表示するようにすればよいです。 以下の式はB1に貼り、オートフィルで引っ張っていく。 =IF(A1<40,ROUNDUP(A1,-1),"NG")
お礼
ありがとうございました。
お礼
ありがとうございました。