高校三年生の合唱祭で何を歌いましたか?

エクセル if関数についてご教授お願いします。

d5は13年5ヶ月が計算結果として表示してあります。

=if(left(d5.find(”年”.d5)-1)>10, ”60", if(left(d5.find(”年”.d5)-1)>15, ”70", if(left(d5.find(”年”.d5)-1)>20, ”80", if(left(d5.find(”年”.d5)-1)>25, ”90", if(left(d5.find(”年”.d5)-1)<25,”100")))))

計算結果に70なるはずが、60になってしまうのです。

よろしくお願いします。

A 回答 (3件)

一応、ざっと見たところ



>if(left(d5.find(”年”.d5)-1)>10, ”60"

この段階で条件を満たしているので60が返ってます。(13は10より大きい)
IFは前の条件から判定していくので条件を満たした時点で後の条件は適用されません。
    • good
    • 0

こんにちは



そもそもですが
>left(d5.find(”年”.d5)-1)>10
って式が違います。(カンマとピリオドの間違え)
それは置いておいて、同じ計算を何度も書くと式が長くなるし、且つ、IFのネストが深いと()の対応が面倒です。(=間違えやすい)

>計算結果に70なるはずが、60になってしまうのです。
数値に規則性があるようだけれど、いまいちはっきりとしませんが・・・
 12年~16年 → 70
 17年~21年 → 75
 22年~26年 → 80
 ・・・・・
という計算をなさりたいものと、勝手に推測しました。

 =MROUND(LEFT(D5,FIND("年",D5)-1)+56,5)
とかでは、いかがでしょうか?

※ 結果の値(=段階)や「切替えの年」は式中の「56」の部分で調整可能です。
    • good
    • 0

すみませんが、明らかに有効な式じゃないし見ながら手入力で転記は面倒なのでセルの式をそのままコピペしてください。


質問に転記するときにも間違ってる可能性がありますし。
    • good
    • 0

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


おすすめ情報