• ベストアンサー

IF 関数 範囲の中で数字のありなしを求める

みなさま、はじめまして。 エクセルIF関数について質問です。 どうしてもわかりませんでしたので お手数お掛け致しますが、どうぞよろしくお願いいたします。   A列 B列 C列 D列 E列   60 90 20 40 50     でE列にある数字の±10%がA~D列の数字の上下範囲内(30~90の間)にある場合、  ”OK”をという文字をF列に返したいのですが、どのような式にすればいいかわかりません。     申し訳ありませんが教えて頂けないでしょうか?      

質問者が選んだベストアンサー

  • ベストアンサー
  • dghjty145
  • ベストアンサー率46% (42/90)
回答No.2

お答えいたします。 ご質問は、E列の値の±10%がA列からD列に入力された値の範囲内であればよいのすよね。 1行名に変数名があるとして、2行目からデータがある場合、 F2に以下のように入れて、下にの計算式をコピーすればよいと思います。 =IF( SUM(A2:D2)=0 , "" , IF( AND( (1.1*E2)>=MIN(A2:D2), (0.9*E2)<=MAX(A2:D2) ), "OK" , "" ) ) A列からD列にデータがない場合、F列に何も出力しないようにしてあります。 参考にしてください。

unoesperan
質問者

お礼

dghjty145さま、  回答頂き、ありがとうございます^    教えていただいた式で出力することができました!  範囲はSUMで  %を表すには*1.1などを式にいれればよいのですね。     大変、感謝いたしております。  またどうぞ よろしくお願いいたします^^

その他の回答 (1)

  • OKbokuzyo
  • ベストアンサー率43% (130/296)
回答No.1

>> E列にある数字の±10%がA~D列の数字の上下範囲内(30~90の間)にある場合 何を言っているのかちょっとよくわかりませんが E列の値の+10%または-10%の値がA~D列の範囲に存在するかどうかということを、30~90行の各行で行いたいということでしょうか? そうであれば、下記のような関数をF30に記入し、あとはフィルでコピーすれば可能です。 =IF(OR(COUNTIF(A30:D30,E30*1.1)>0,COUNTIF(A30:D30,E30*0.9)>0),"OK","") ちなみにここはVBなのでスレ違いです。 エクセルに関する質問は「デジタルライフ>ソフトウェア>Office系ソフト」になります。

unoesperan
質問者

お礼

OKbokuzyoさま、  ご回答ありがとうございました。    スレがわからず、お邪魔しまして  申し訳ございませんでした。    また、教えて頂いた式も試しましたが、  なにも表示されない結果となりました。  質問の意図が、よく伝わらなくて失礼しました。。  以後気をつけます。

関連するQ&A