• ベストアンサー

excelのand関数、IF関数について

エクセルのand関数、IF関数について質問です。 非常に簡単なことで申し訳ないのですが、仮にセルA2が5でかつセルB2が0の時にtrueとしたいときの関数は=and(A2=5,B2=0)であっているでしょうか。また、これをIFの関数で表す場合、=IF(A2=5,IF(B2=0,1,0),0)で同じ意味になるでしょうか?(IFの方は条件を満たす場合を1、満たしていない場合を0としたつもりです) ANDの方の関数は、多分合っていると思うのですが…。エクセルに入力しても、正しい結果が得られなかったので、質問させていただきました。初心者です。つまらない質問で申し訳ないのですが、よろしくお願いします。 

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

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

提示された2つの数式は、基本的に同じことを意味する式ですので、問題ないと思います。 もしおかしな答えが返るなら、具体的にどのような数式を入力したときに発生したのかを、数式が参照するセルに入力した値とともに提示してください。

saidaa
質問者

お礼

おへんじありがとうございます。原因が分かりました。セルA2も、B2もIF関数の結果を入れていました。ただ、そのIF関数はおぼえたての頃だったため、=IF(06>=4,"1","0")というように、必要のない””を入れていました。よって、今回入れたandの関数が数字とは認識しなかったために、正しい結果を返さなかったようです。””をとったら正しい結果を返すようになりました。…ということが、分かったのは、MackyNo1さんの指摘があったからこそです。ありがとうございました!

その他の回答 (2)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

式そのものは間違ってはいませんね。ところで、正しい答えが得られなかったとのことですね。 エクセル2007でしたらOfficeボタンをクリックして、「Excelのオプション」を選択し、「数式」の項目から「計算方法の決定」で「自動」にチェックがあるかどうか確かめてください。「手動」になっていたら「自動」にチェックをします。

saidaa
質問者

お礼

ありがとうございます。回答番号1番の方へのお礼で記したように、原因が分かりました。実は今回はandの関数に関して、式には自信があるのに、正しい答えを返さないエクセルが壊れているのか? andの計算以外のifの計算はできるのか、という疑問から、二つの関数を試してみたという次第です。ですから、皆さんに、両方の式が正しいと保証されたことで、間違いがあるとしたら、その他の部分だと考えることができました。 KURUMITOさんの指摘も一つの視点として、私の頭にインストールされました。親切な対応にとても感謝です。ありがとうございました!

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! すでにNo.1さんも仰っていらっしゃるように 基本的には数式は正しい値を返すと思います。 ただ、せっかくANDを理解されているのであれば =IF(AND(A2=5,B2=0),1,0) という数式も同じ結果になると思います。 通常、このような数式にする人の方が多いと感じます。 以上、余計なお世話かもしれませんが、 お邪魔してしまいました。m(__)m

saidaa
質問者

お礼

ありがとうございます。今回の質問には、直接関係がないことでしたが、今、関わっているデータ処理に関して、tom04さんのお答えが一番役に立ちました。教えていただいた数式をかなり使うことになりました。また、機会があればいろいろ教えて下さい。ありがとうございました!

関連する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の場合"空白" で表示できる方法をご存じの方、ご教示お願いいたします。 簡単なことなのかもしれませんが、エクセル関数初心者のため、大変困っております。 うまく、不明な点を説明できていませんでしたら、申し訳ございません。何卒 よろしくお願いいたします。

  • 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関数とAND関数の使い方

    エクセルのif関数とANDをつかって複数条件を設定したいのですが、上手く行かずに困っています。 D13のセルの値が以下の場合 29以下なら”1” 30以上34以下なら”2” 35以上39以下なら”3" 40以上44以下なら"4" 45以上なら"5" そこで、次のように式を作ってみたのですが、 「この関数に対して多すぎる引用が入力されています。」とエラーがでてしまいます。 どなたか、お詳しい方、教えていただけたら幸いです。 お願い致します。 =IF(IF(D13<=45,"5"),AND(D13>=40,D13<=44),"4",IF(AND(D13>=35,D13<39),"3",IF(AND(D13>=30,D13<34),"2",IF(D13>=29,"1")))))

  • エクセルの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を組み合わせればいいというところまではわかるのですが、どのように条件設定をすればいいのかがわかりません。 エクセル初心者で恐縮ですが、どなたか詳しい方いらっしゃいましたらご回答よろしくお願いいたします。

  • エクセルのIF関数について

    エクセルの数式でIFを使って、下記のような複数の条件の時に、それぞれの計算結果を算出する式を作りましたが、単純に条件を並べただけで(IFとAND使用)、式が長くなってしまいます。これを短く出来る式の方法はありますでしょうか?(他の関数を使用する方法など)また、エクセルの関数の数式を応用編まで詳しく調べられるサイトをご存知でしたら教えてください。 (条件の例)R1への式入力 (1)A1がに"A"か"B"かを入力 (2)A1がAで、B2の値がC3以下の時、R1には8、C3より大きい場合は、B2-C3の値を表示 (3)A1がBで、B2の値がC3以下の時、R1には5、C3より大きい場合は、(B2-C3)/2の値を表示 といった条件を満たすものが作成したいです。 ちなみに私が作成した式は、 =IF(AND(A1=A,B2<=C3),8),IF(AND(A1=A,B2>C3),B2-C3,・・・・)って感じです。こんな方法しか無いでしょうか?

  • エクセルの関数について(IF,AND関数)

    エクセルでIF,ANDを用いた関数計算の数式を作っているのですが、うまく出来ません。 どなたか詳しい方、教えて下さい。 たとえばこんな感じです。 ※条件は2個 ●第1条件~東京、大阪、北海道(3パターン) ●第2条件~数値の大小(3パターン) この2個の条件を満たす値、全部で9種類の計算パターンを実行できる数式を作ろうと思っています。 あともう1条件(IF文)入れたいのですが、これ以上入れると計算しません。 =IF(AND(B22>5000,B5="東京"),111,IF(AND(B22>=2000,B5="東京"),ROUND(300*B22^2/1000,4),IF(AND(B22<2000,B5="東京"),222,IF(AND(B22>5000,B5="大阪"),333,IF(AND(B22>=2000,B5="大阪"),ROUND(300*B22^2/1000,4),IF(AND(B22<2000,B5="大阪"),444,IF(AND(B22>5000,B5="北海道"),555,666)))))))

  • IF関数とAND関数の組み合わせについて

    IF関数を使用し下記の条件にしたいのですが、 どうにも行き詰っています。。どうすればいいのか、またもっといい方法があればご教授ください。 (1)A1には品番プラスアルファベットを入力(末尾に数量が1~9個なら「a」10~49個なら「b」50個~99個を「c」100個以上を「d」と入力する) (2)A2には数量を入力 A1とA2が合っているかを確かめA3セルにGOODかNGかを表示できるようにしたい。 A3セルに =IF(AND(RIGHT(A1,1)="a",A2<10),"GOOD",IF(AND(RIGHT(A1,1)="b",A2<50),"GOOD",IF(AND(RIGHT(A1,1)="c",A2<100),"GOOD",IF(AND(RIGHT(A1,1)="d",A2<=100),"GOOD","NG")))) A1セルの右から1文字目がaでかつ10より下ならGOODというふうに式を作ってみましたが。。。うまくいきません。 よろしくお願いします。

  • エクセル関数について(IF関数)

    エクセルの関数について教えて下さい。 セルに1と入力した場合Aと出てきて、2と入力した場合B、3と入力した場合Cとなるような計算式を入れたいのですが、どのような式を入れればよろしいのでしょうか? 別のシートから呼び出す(?)というような方法でもいいのですが、どんな式を入れればよいのか、全く分かりません。 自分で調べてみた結果、IF関数を用いるということは解りました。 『IF(A1="1","A",IF(A1="2","B",IF(A1="3","C")))』 上記のような式を入れてみて、実際に実践してみたところ、結果としては入力した数字が表示されるだけで、計算式は消えてしまいました。 どうしたらいいのか解りません。 素人故に恥ずかしい質問ですが、お知恵を貸して下さい。 よろしくお願いします。

  • エクセル IF関数について

    エクセルのIF関数で困っています。 A1のセルは、他のセル(B1)から飛ぶような設定をしている(=B1) B1に入力しない事があるで、A1の「0」に表示しないようにユーザー設定で「#,##0;"△ "#,##0; 」としている。 A2のセルには、A1に文字が表示されたときのみ「日」と表示するようにIF関数を入れた。「=IF(A1="","","日")」 しかし、A1に何も表示されていないのに、「日」が表示されてしまう。 試しに「=IF(A1="0","","日")」としたが、これでも「日」が表示されてしまう。 このような場合、IF関数はどうすればいいのでしょうか。 説明が下手ですいません。 どうか教えてください。

  • ExcelのIF関数を使って

    エクセルのことについて教えて下さい。 エクセル2003のIF関数を使って、次のようなことがしたいのですが、どのようにしたらいいでしょうか? 例えば、A1のセルに1と入力したら、B1のセルにミカンと自動的入力され、2と入力したらバナナ、3と入力したらモモ・・・・となるようにです。(A1セルには1から5までの数字が入ります。) よろしくお願いします。

専門家に質問してみよう