• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:IF関数の応用?自動表示される数式を教えてください。)

IF関数の応用?自動表示される数式を教えてください。

このQ&Aのポイント
  • 質問内容は、IF関数を使用して自動的に表示される数式を求める方法についてです。
  • 条件に応じて、黄色のセルにレベルが自動的に表示される方法を知りたいです。
  • IF関数とAND関数を組み合わせて試みましたが、うまくいきませんでした。

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

  • ベストアンサー
回答No.9

=MIN(4,IF(B2=0,0,IF(B2=1,99,1)),IF(B3<0.7,1,IF(B3=1,99,2)),IF(B4<0.7,2,IF(B4=1,99,3)),IF(B5<0.7,3,IF(B5=1,99,4))) これだと、5レベルが追加されても式の一部を変更するだけですみます。 ・最高でも4レベル =MIN(4, ・レベル1の%が入力されていない場合はレベル0、レベル1が100%なら上位レベル、でなければレベル1。IF(B2=0,0,IF(B2=1,99,1)), ・レベル2の%が70%未満の場合はレベル1、レベル2が100%なら上位レベル、でなければレベル2。IF(B3<0.7,1,IF(B3=1,99,2)), (以下同様)

17504113
質問者

お礼

回答いただき、ありがとうございます。 ほんとだ!! できました!! MINでもできるんですね! 思いつかなかったです。 説明も簡潔でわかりやすかったです。 助かりました。 ありがとうございます!!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (8)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.8

複雑な入れ子のIF関数が作成しにくい場合は、すべてのレベルに対して、それぞれの結果を表示する式を直列でつなげるのが簡単かもしれません。 レベル1(B2が空白でなく、B2が1未満またはB3が0.7未満) =IF(AND(B2<>"",OR(B2<1,B3<0.7)),1,"") レベル2 =IF(AND(B2=1,B3>=0.7,B3<1),2,"") レベル3 =IF(AND(B2=1,B3=1,B4>=0.7,B4<1),3,"") レベル4 =IF(AND(B2=1,B3=1,B4=1,B5>=0.7),4,"") まとめると =IF(IF(AND(B2<>"",OR(B2<1,B3<0.7)),1,"")&IF(AND(B2=1,B3>=0.7,B3<1),2,"")&IF(AND(B2=1,B3=1,B4>=0.7,B4<1),3,"")&IF(AND(B2=1,B3=1,B4=1,B5>=0.7),4,"")

17504113
質問者

お礼

回答ありがとうございました。 しかし数式をコピペすると「数式中に対応するかっこがありません」 と表示されてしまいました(T△T) 自分でも試行錯誤で下記の数式に落ち着きました。 =IF(AND(B2=100%,B3=100%,B4=100%,B5>=70%),"レベル4",IF(AND(B2=100%,B3=100%,B4>=70%),"レベル3",IF(AND(B2=100%,B3>=70%),"レベル2","レベル1"))) 考え方、勉強になりました!どうもありがとうございます! また困ったときは助けてくださいm( _ _ )m

全文を見る
すると、全ての回答が全文表示されます。
回答No.7

#6です。訂正です。人の訂正してないで、自分のをよく見ろって言われそう(>o<") C3セルの =IF(AND(B2=1,B3>=0.7,C2<>""),"合格","不合格") は良いのですが C4セルは =IF(AND(B3=1,B4>=0.7,C3<>"不合格"),"合格","不合格") 下へオートフィルでした あと=IF(C2="","","レベル"&COUNTIF(C2:C5,"合格")) はC8セルへの入力ですね

17504113
質問者

お礼

私の質問の説明がわかりづらかったと思います。 ごめんなさい。 試行錯誤で下記の数式に落ち着きました。 =IF(AND(B2=100%,B3=100%,B4=100%,B5>=70%),"レベル4",IF(AND(B2=100%,B3=100%,B4>=70%),"レベル3",IF(AND(B2=100%,B3>=70%),"レベル2","レベル1"))) どうもありがとうございました。 また何かあったら是非よろしくお願いしますm( _ _ )m

全文を見る
すると、全ての回答が全文表示されます。
回答No.6

#2のmshr1962さんの方法で少々訂正と独自解釈をいれて =IF(AND(SUM(B2:B4)=300%,B5>=70%),4, IF(AND(SUM(B2:B3)=200%,B4>=70%),3, IF(AND(B2=100%,B3>=70%),2,IF(B2>0,1,"")))) 早い話、ANDの終わりのカッコを忘れてるということです。 良い案だと思うので参考にさせていただきました で当方は作業列案 C2セル =IF(B2>0,"合格","") C3セル =IF(AND(B2=1,B3>=0.7,C2<>""),"合格","不合格") 下へオートフィル B8セル =IF(C2="","","レベル"&COUNTIF(C2:C5,"合格")) ちなみに 標準の表示形式で計算可能(数値と判断される)な値は右揃えになります。 日付や「$80」、「100%」など

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

質問の内容が複雑で判りにくい。 下記横列(下記で第1行)もレベル1,2,3,4判定後(下記でA列)も質問ではレベル1,2,3,4となっているが、紛らわしいと思い、判定後はランク1,2,3,4としてみた。 ーー 質問をそのまま表にすると ー レベル1 レベル2 レベル3 レベル4 ランク1 あり * * * ランク2 100 70以上 * * ランク1 80 70以上 * * ランク3 100 100 70以上 * ランク4 100 100 100 70以上 ーー 補足要求。 質問の言わんとする意味の疑問点。 (1)*の部分は入力されることはないのか。入力されても無いものとする? (2)100の個所は100%に限ると言うことですね。 100%未満ではどのランクに行くのか? (上例でランク3、4などの場合は?) (3)80は80%以上の意味か(質問では以上が抜けたのか?) レベル1の数値は100%か80%のどちらかしか入れないのか? (4)「あり」のところは100%以外もありえるのですね? (5)>ランク2 100 70以上 * * の例の場合70%未満ではランクはどうなるのですか? (6)各レベルでの100%は、該当が良くあるケースなのか。他の場合では、100%は普通のイメージでは、パーフェクトで、そんなに該当がないケースを想像するが。 >数字を手入力します。(0%~100%) ならレベル1も100%以外も入力される、80%未満もある、70%もそれ未満も在るようだな。 具体的なイメージがわかない。 レベル1-4 ーーー 一見したところ、VBAでも使わないと(場合分けが自由に出来ないと。ユーザー定義関数)関数では複雑になりすぎるように思うが。

17504113
質問者

補足

=IF(AND(B2=100%,B3=100%,B4=100%,B5>=70%),"レベル4",IF(AND(B2=100%,B3=100%,B4>=70%),"レベル3",IF(AND(B2=100%,B3>=70%),"レベル2","レベル1"))) が私のやりたい事の答えでした。 どうもありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.4

おっと…添付された図を見るのを忘れてた 手で入力するのは数値ですよね。 文字列として入力した場合 単位の%はそのまま文字になるので 演算子(=,>=など)は使えません。 %を表示させたいのでしたら、セルの書式設定で「パーセテージ」を選択しましょう。 100%を1とする小数を入力するだけで%記号が表示されます。 あるいはセルの書式設定の「ユーザー定義」で%を付加する書式を書くかですね。  例:0"%"

全文を見る
すると、全ての回答が全文表示されます。
  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.3

上手くできなかったと言う関数を示してもらえると、どう直せば良いのか、どう考えれば良いのかを示す事ができるんですけど…まあいいか。 まず成立する条件を書き出す  条件1:下記以外すべて  条件2:すべて AND 、Level1=100、Level2>=70  条件3:すべて AND 、Level1=100、Level2=100、Level3>=70  条件4:すべて AND 、Level1=100、Level2=100、Level3=100、Level4>=70 それぞれを数式にしてみる  条件2:AND(Level1=100,Level2>=70)  条件3:AND(Level1=100,Level2=100,Level3>=70)  条件4:AND(Level1=100,Level2=100,Level3=100,Level4>=70) Level○は該当するセルに書き直すこと (この AND関数を複数使ったときの組み合わせができなか 演算子 >= が分からないのだろうと推測する) あとは IF関数で組み合わせればOK 試行錯誤してがんばれ  「IF関数を使った組み合わせが分からない(´;ω;`)」 なんて泣きごと言うんじゃないよ  =IF(条件3,結果3,IF(条件2,結果2,結果1)) などとするだけだ これはあくまでも一例です。 他にもやり方は多数ありますが、やはりどのようなアプローチをするかを示してくれないと方法を絞り込むことができません。

17504113
質問者

お礼

=IF(AND(B2=100%,B3=100%,B4=100%,B5>=70%),"レベル4",IF(AND(B2=100%,B3=100%,B4>=70%),"レベル3",IF(AND(B2=100%,B3>=70%),"レベル2","レベル1"))) として、やりたい事ができました。 Cupperさんのおっしゃってる事で、私が質問している内容は間違いありません。 すごく参考になりました。 が、数式もこれに限っているわけではないですし、 この数式を見て、これよりもっと簡単にできるのに、 と思われる方もいらっしゃると思うので、 色々なやり方を知りたかった、というところもあります。 どうもありがとうございます。 また何かあればよろしくお願いします(泣き言も聞いてください。笑)

全文を見る
すると、全ての回答が全文表示されます。
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.2

説明の通りなら =IF(AND(SUM(B2:B4)=300%,B5>=70%,4,IF(AND(SUM(B2:B3)=200%,B4>=70%,3,IF(AND(B2=100%,B3>=70%,2,IF(B2>=70%,1,"")))) または =(B2>=70%)+(B2=100%)*(B3>=70%)+(SUM(B2:B3)=200%)*(B4>=70%)+(SUM(B2:B4)=300%)*(B5>=70%)

17504113
質問者

お礼

ありがとうございます!! 質問の意味をちゃんと捉えていただき、ありがたいです!! (わかりづらい説明なのに感動です) 教えていただいた1つ目の式はエラーが出てしまいましたが、 2つ目はバッチリです!! 回答も簡潔でわかりやすいです!ありがとうございます!!

全文を見る
すると、全ての回答が全文表示されます。
  • lesskey
  • ベストアンサー率33% (66/200)
回答No.1

>IF関数とAND関数を混ぜて色々やってみましたが、 その色々やった途中の数式はありませんか? それを元に考えた方が分かりやすいと思うので、あれば提示してください。

17504113
質問者

お礼

試行錯誤で =IF(AND(B2=100%,B3=100%,B4=100%,B5>=70%),"レベル4",IF(AND(B2=100%,B3=100%,B4>=70%),"レベル3",IF(AND(B2=100%,B3>=70%),"レベル2","レベル1"))) に落ち着きました。 お騒がせしました、ありがとうございました。 また困った時は助けてくださいm( _ _ )m

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルIF関数で

    IF関数で真の場合はあるデーターを自動入力しまして、そして偽の場合の件で質問なのですが、 そのセルに偽の場合は手入力したいというばあい、 いったいどう関数を入力したらよいでしょうか? ちなみに手入力したいのはアルファベットの文字群です。 =IF(E3="","",○○○) E3が空欄ならば空欄にせよ!そうでなければ・・・○○ この○○の部分にどのように入力したらそのセルが手入力可能になるのでしょうか? 仕事で早急に使うのでもしおわかりの方いらっしゃればどうか教えてくださいませ。 それともこういう関数は無理でしょうか?

  • エクセルIF関数(「#DIV/0!」表示)について

    エクセルを使っていて、「#DIV/0! 」 と表示される部分があり解決方法を調べてみたところ、 「DIV」は「divisor:除数(割る数)」の略であり、数字は「ゼロ(0)」では割れないために出たエラーだと知りました。 (参考URL:http://www.724685.com/weekly/qa090819.htm) 上のサイトには、「除数がゼロ、つまり計算結果が「#DIV/0!」のときは、別の表示に(たとえば空欄に)する条件式(IF文)を使えばいい」とあったのでIF関数式をあてはめたところ、一部分は「#DIV/0! 」表示でなく「0」表示にすることができました。 ただ、その IF関数を入力したセル(セルC1と仮定)を参照して新たな関数式を作ったとき、値を出すセルがまた「#DIV/0! 」となってしまいます。 最初に入力した式→ =IF(A1=0,"0",B1/A1) 次に入力した式→ =IF(C1=0,"0",100/C1/100*1000/10000) C1のセルを手入力で「0」と入力すると「#DIV/0! 」 表示にはなりませんでした。 これは、式を入力したセルを新たな計算式には反映できないということなのでしょうか? 「0」と手入力すると最初の式も消えてしまい、なおかつ手間なので何か解決方法はありませんでしょうか。 つたない説明ですが、どなたかアドバイス頂ければ嬉しいです。

  • Excel IF関数

    前日在庫数、本日在庫数で差異があるものを表示しています。 現在の関数は =IF(B2<>C2,"修正","") で、画像の様になっています。 黄色の部分で表記した場所は表示不要の物です。 2→3 や 10→1など、1以上の自然数で変化があった場合は、真っ白のままで表示されるようにしたいです。 0→1以上 もしくは 1以上→0 の場合のみ「修正」と書かれる状態にしたいです。 どのような関数を入力すればよいでしょうか、ご教授お願いします。

  • IF?COUNTIF?何をどう組み合わせたらできるのかわかりません(汗

    IF?COUNTIF?何をどう組み合わせたらできるのかわかりません(汗) 画像のような入力がされていたとします。 ・データの出力条件 A列が1の場合、B列の良い・悪い・普通のそれぞれの個数をカウントしたい。 ※画像の黄色の部分を出すイメージです ※A列が2の場合もそれぞれカウントしたいです ?A列B列は随時入力をしていくので増えます、増えたデータも自動的に黄色セルに反映したいです ?別シートは使わず、黄色セルに関数の数式を入れ、解決させたいです お知恵を貸してください!

  • Excel2003 IF関数

    シート1のA列に値を入力して行き、終了したら同じようにシート2のA列に値を入力して行きます。 この時、シート1に入力した値とシート2に入力した値は同じでなければなりません。 シート2は再チェック用なので、シート1と値が異なる入力をした場合、 値を入力するセル(A列)の隣のセル(B列)に、 IF関数、真の場合『OK』・偽の場合『入力エラー』と反映されるようにしております。 =IF(B1=seat!B1,"OK","入力エラー") 『OK』の場合は表示させる必要は無いので、条件書式を使用し、 フォント色を白くして、表示させないようにしております。 ただ、シート1を入力してからシート2に入力を始めるため、 シート2のB列には既にに『入力エラー』の表示がでてしまっています。 ※値を入力しないセルもあるのでその場合は『OK』が表示されますが、 条件書式によりフォント色を白くしておりますので、表示されません。 シート2には何も入力をしていないので、『入力エラー』と表示されるのは当然なのですが、 シート2に値を入力してから、シート1,2で異なる値の場合だけ『入力エラー』と表示されるのが理想です。 IF関数はこのような場合適していないのでしょうか? 何か良い方法がございましたらご教示頂けますと幸いです。 宜しくお願い致します。

  • Excel関数 選択条件によって表示内容を変えたい

    Excel関数 選択条件によって表示内容を変えたい 添付の画像のように、緑色のセルと黄色のセル、 それぞれの中から選択・入力をすると条件に合った文字が出るようにしたいです。 赤文字の部分に関数を入れて、入力された内容によって表示が変わるようにしたいです。 わかりづらくて申し訳ございませんが、よろしくお願いいたします。

  • IF関数 応用(わたしにとって…)

    下記条件でIF関数を作成しておりますがうまくいきません。 皆様のお力をお貸し頂ければ幸いです。 (1)I列が10以上の時 (2)(1)の条件に対応する行かつK列のセルを合計 =1200 ------------------------    I列   |   K列 ------------------------ 20       |100 18       |100 16       |200 14       |200 12       |300 10       |300 8         |400 6         |400 4         |500 2         |500 1         |600 ------------------------ =IF(I:I,">=10","SUM(K:K)","")?????????????????????????? 何卒よろしくお願いいたします。

  • IF関数について

    IF関数について A列のセルに住所が入力されていて、「中野区」という文字列が含まれているときに「○」そうでない場合は「-」をB列セルに表示させる方法で B列セルに、 =IF(COUNTIF(A1,"*中野区*"),"○","-") を入力すれば良いことがわかりました。 この条件に加えて、A列のセルが空白の場合上の行を参照するという条件を加えたいと思います。 例A3のセルが空白の場合A2を参照しB3に表示させる。 因みに、A2も空白の場合A1を参照する。 って感じにしたいです。 宜しく御願いします。

  • 条件付書式 if関数 を利用する

    条件付書式 if関数 を利用する おはよう御座います。 条件付書式でIF関数を利用したいです。 =if(and(e4>=10,L4>=50),"1","") e4が10以上で L4が50以上ならば そのセルに色をつける場合の公式を教えて頂きたいのですが? ,"1","") この部分が間違っていると思うのですが???

  • Excel 長すぎるif関数

    こんにちは。Excelを使って、条件によって表す表示を変える場合、 例えばa1のセルには0~100までの任意の数字を入れるとして、b1のセルにa1の数字に応じていろいろな表示をしたい場合(具体的には100ならAを表示、90~99ならB、70~89ならC、55~69ならD・・・といったように)、if関数を使うと思いますが、 =if(a1=100,"A"1,if(a1>=90,"B",if(a1>=70,"C",if・・・・)))というように長々と続きますね。条件が少ないうちはいいのですが、条件が多くなると、大変複雑な式になり、入力もしづらいし、頭も使うし、閉じる括弧の数もわからなくなるし、作成に時間もかかりますよね。2つ以上の条件が重なる(例えばA1が90~99の範囲でかつa2がAならb1にB1と表示するなど)など複雑になってくるともうお手上げです。 これらを短時間で要領よく作成する方法はないでしょうか?次の観点で教えてください。 1 if以外の良い関数はあるか?または良い機能はあるか?それとも複雑であってもif関数が妥当なのか? 2 (if関数が妥当であるとして)複雑なif文の作成を簡単にできる方法があるか?あるいはそんなソフトがあるか? 3 やっぱりそういうのはVBAとかで作った方がいいのか?(できれば使いたくないのですが。)

専門家に質問してみよう