• ベストアンサー

IF関数で複数の答えを用意するには??

nishi6の回答

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.4

Aの条件、Bの条件がどのような内容かで解決方法も色々ありそうです。 (1)連続数値が条件の場合   =Choose(・・・)や 対応テーブルを作って =Index(・・・)を利用 (2)ある範囲に含まれる時に対応する値を返す場合   対応テーブルを作って =VLookUp(・・・) を利用 (3)各条件が複雑な場合や複数の値を条件にする場合   これを1つのセルで行うにはユーザー定義関数が考えられます。  (3-1)場合分けが規則的に分岐していく場合     If (条件A) Then      If (条件A-1) Then  としたほうが分かりやすい場合もあります。  (3-2)場合分けが値や連続的な場合     Select Case 値       Case 値1: 処理1       Case 値2: 処理2        :    のように書けます。(1)のVBA版ですね  (3-3)場合分けが複雑な場合     当然、If ・・・ Then ・・・ Else ・・・ で書けます。(2)のVBA版。他に、     Select Case True       Case 条件1: 処理1       Case 条件2: 処理2        :   のように書けます。Ifよりも分かりやすくなることが多いと思います。 (4)判定をする目的が区分分けして集計したりする目的の場合は、ピボットテーブルや集計機能、フィルタ機能を使えば簡単になる場合があります。 ご参考に。では。

Sheep17
質問者

補足

すみません。条件が不足していました。 条件は2つあってこれをAとBで表すと、Aには8通り、Bには16通りあるのです。 だからAかつBでその答えが8×16=128通りの答えを用意しなくてはなりません。 (その答えには数値も計算式もあります) 皆さんの言うようにIFのネストだと数が限られてくるので ユーザー定義の関数を作るのが一番いいのでしょうが これまで挑戦したことがないので不安があります。 日にちもあまりないのでうまく解決できるものか…。 知恵を貸してください。

関連するQ&A

  • IF関数についておしえてください。

    お世話になります。 作成している表の中で、利用しようとおもっている関数について教えてください。 A1セルに下記のようなIF関数を作成しました。 =IF(AND(B2>=1,C2<=0),"○",IF(AND(C2>=1,B2<=0),"○",IF(AND(B2>=1,C2>=1),"○",IF(AND(B2<=1,C2<=1),"")))) B2セルは別シートからVLOOKUPを利用して検索してきて、数字を表示させているセルのため、 該当しない場合”#N/A”と 表示されるところがありました。それで、”=IF(ISERROR”を利用して、#N/Aと表示される場合、空白で表示される数式にしたところ、今度はA1セルが条件にあっていないのに”○”と表示されるようになりました。≪”B2=空白(”#N/A”),C2<=1の場合にあたるのだと思います。≫ *B2セルを”空白”ではなく”0”で表示させるようにしても同様に”○”となりました。 A1セルに、  B2>=1,C2<=0の場合”○”  C2>=1,B2<=0の場合”○”  B2>=1,C2>=1の場合”○”  B2<=1,C2<=1の場合"空白" で表示できる方法をご存じの方、ご教示お願いいたします。 簡単なことなのかもしれませんが、エクセル関数初心者のため、大変困っております。 うまく、不明な点を説明できていませんでしたら、申し訳ございません。何卒 よろしくお願いいたします。

  • わからないIF関数について教えて下さい

    IF関数で下のような表を作成したいのでどなたか相談に乗って下さい。 「C」のセルに、「1:晴れ 」の場合は、「1」を表示、 それ以外は「0」を表示させるIF関数を作成したいのですが、 うまくいきません。ちなみに、 =IF($A1="1:晴れ",1,0) と入力しましたが、「1:晴れ 」とAのセルに入力されてるのに 「1」と表示されませんでした。ちなみに「A」のセルは入力規則でリストが 入っています。   A     B     C    1 1:晴れ 1/20    1 2 2:雨   1/21   0  3 3:曇り  1/22   0 4 4:雪   1/23   0 5 1:晴れ  1/24   1 全然わからなくて困っています。 どなたか助けて下さい。 宜しくお願いします。

  • EXCELのIF関数の結果の表示

    IF関数で、セルに「=IF(A1>=0.8,"合格",IF(A1>=0.6,"A",IF(A1>=0.3,"B","C")))」と入力してあります。 Windows2000上のExcel2000ではきちんと結果が表示されるのですが、 Windows98上のExcel2000ではきちんと結果が表示されず、セルに「ll」と表示されてしまいます。これをきちんと表示させるには、どうしたらいいでしょうか?

  • IF関数でしょうか?

    IF関数だと思うのですが、セルA1に仮に数値30と入っています。で条件としてセルB1が0.2の場合にはA1(値30)に1.1を掛けます。ただB1が0.3の場合はA1(値30)に0.9を掛けます。B1が0.4の場合にはA1(値30)に0.7を掛けます。同じ様にB1が0.5の場合にはA1に0.6を掛けます。その値をC1に表示したいと言う場合、C1の数式はどのように描けばよいのでしょうか?

  • Excelの関数『IF』にて・・・

    EXCELにて、関数IFを使って一覧表から 自動入力をしたいと考えています。 例えば、以下のようにしてセル『C1』の数字に 応じて、自動を試みたい時 =IF($C$1>80,"=A1",IF($C$1>70,"=B1","=C1")) =A1,=B1,=C1 の場所を文字列としてしか読み取ってくれません =A1,=B1,=C1では無く=A1,=B1,=C1のセルに入力されてる 数式(他のセルの値)を、表示したいんですが どのようにすれば可能でしょうか? 何度やっても「=A1」と、そのまま文字列として出て来ちゃいます。

  • IF関数で・・ただし・・・

    教えてください。 表があります。セルA1に数値があります。セルA2に他の場所での合計が入ります。A3にA1とA2の小さい方の値が入ります。A3の関数は、MIN(A1,A2)。隣のB3に別の合計数があり、C3にA3+B3の値がきます。 B4に関数で、IF(A3<A1,B3,IF(A3>A1,0))と入れてます。そこで少し問題の場合が出てきたんです。B4に「但しC3がA1より大きくなる場合はA1-A3の値にするという条件」を付け加えたいのです。どうすればいいのでしょうか? 説明もややこしくてすみませんが、よろしくお願いします。

  • IF関数を一定のセル範囲を参照し、答えを表示するには?

     IF関数初心者ですが、最近、少しづっではありますが、理解できるレベルになって来ました。  そこで疑問なのですが、下記のような表があり、    A    B    C    D 1  80          答え 2   60 3  120 4   90 5   60  A1からA5といった特定のセル範囲でD1セルに式入力、答えを返し表示するにはどうすればよいのでしょうか?  A1からA5各セルの数値が80以上は合格、以下なら不合格とD1セルに表示したいのです。  単一のセルに対してはIF(A1>=80,"合格","不合格")ですが、検索範囲を一括(A1:A5)になる場合の式表記の仕方が分かりません。  簡単なことが分からず、レベルが低いですが、どなたか教えていただけませんか?

  • 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とかで作った方がいいのか?(できれば使いたくないのですが。)

  • IF関数について

    ご教示ください。 エクセルである何名かの点数表があって、それぞれの点数が500点以上なら”A”と表示、450~499点なら”B”と表示、400~449点なら”C”と表示、399点以下は”D”とそれぞれに表示したいのです。IF関数で作っているのですが、例えばセルA2の点数が540点のとき、その評価をA3に表示させたいとき、単純にA3のセルに、  =IF(A2>=500,”A”) と作ればちゃんと”A”と、表示されます。そのあとの式のつなぎが作れません。どなたかご教示ください。

  • エクセルのIF関数とVLOOKUP関数について教えてください。

      A B C 1 A1 B1 C1 2 A2 B2 C2 ・ ・ ・ 上記のような表があり、セルX、Yに入力した値が2つの条件に合致した場合、セルZにC列の値を返すような数式を作っています。 たとえば、セルXの値がA1より小さく、かつ、セルYの値がB1より小さい場合にはセルZにC1の値を表示する、という数式を作りたいのです。 (ちなみにAn、Bn、Cnにはそれぞれ数字が入ります) =IF(AND(X<=A1,Y<=B1),C1,IF(AND(X<=A2,Y<=B2),C2,・・・ AND関数を利用してこのように数式を入れると、途中まではうまくいくのですが、引数が多いため途中からエラーが出てしまいます。 (引数の数は10個以上あります) IF関数とVLOOKUPを組み合わせればいいというところまではわかるのですが、どのように条件設定をすればいいのかがわかりません。 エクセル初心者で恐縮ですが、どなたか詳しい方いらっしゃいましたらご回答よろしくお願いいたします。