• ベストアンサー

EXCELで、0の値を表示させないためのIF(AND~

http://www.x-media.co.jp/tyoufaq/faq4_1.shtml に書いてあるのですが、 数式の元セルが空の時に、表示先セルに0を表示させず空欄にしておくために =IF(AND数式,"",数式) で、0表示が回避できますね。それは試してみてそうだったのですが、 この場合のANDってどういう役割を果たしているのでしょうか。 ANDがなくても、表示はされてるんですが・・・? ANDというのは、ある条件とある条件がそろったら、という意味で使うものだと思っていました。 この場合、何と何が条件になるのでしょうか。 説明してくださる方いらしたら、お願いします。

noname#101292
noname#101292

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

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

中途半端な引用はしないでください。 示されたURLに書かれた式は、 =IF(AND(B2="",C2="",D2=""),"",数式) という内容です。 ANDは「すべてが真の場合に真、一個でも偽なら偽」になります。 つまり、B2=""かつC2=""かつD2=""の場合だけが、真になります。 この場合は、B2がnullかつC2がnullかつD2がnullの場合に、nullを入れるという式になっています。

noname#101292
質問者

補足

ありがとうございました。 あー・・・なるほど・・・。 私は、他の事とのかねあいで、自分が書いたとおりに曲解していたのです。 なぞがとけました。 かん違いしておりました!

その他の回答 (2)

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.3

> ANDがなくても、表示はされてるんですが・・・? 参考URLの式、 =IF(AND(B2="",C2="",D2=""),"",SUM(B2:D2)) はANDを取って、 =IF(B2="",C2="",D2="","",SUM(B2:D2)) とすると、例外なくエラーになるハズですが…? サンプルの式からの応用を行う際に、式の意味を考えず、式のみコピーしたってのが原因とかでは? -- 参考URLの式は、 「“英が空白かつ、数が空白かつ、国が空白なら”空白、それ以外は合計」 って式ですので、“~かつ”の条件にANDを使用しています。 「英が空白なら、空白、それ以外は英の数値」の条件なら、 =IF(B2="","",B2) です。

noname#101292
質問者

補足

ありがとうございます。 下にも書きましたが私は曲解していたので、一番下に書いていただいたような用途で使っておりました。 訳のわからない質問して本当にすみません・・・。

  • hirumin
  • ベストアンサー率29% (705/2376)
回答No.2

0を表示させない方法の関数ですね。 =IF(AND(B2="",C2="",D2=""),"",SUM(B2:D2)) この関数のことでしょうか。 これは、 IFの条件が  (1) [B2]に何も入っていない  (2) [C2]に何も入っていない  (3) [D2]に何も入っていない この3つの条件を同時に満たしているかどうか と言うことになります。 満たしていれば""を表示(何も表示しない)となり、 満たしていなければ、SUMで[B2]~[D2]を足します。 [B2]~[D2]の内、1つでも何かが入っていればIF条件が満たされず、SUMが実行されます。 なお、[B2]~[D2]に「0」と入力してあれば、SUMが実行され「0」が表示されてしまいます。 「0」を入力していても、合計で「0」を表示させたくないなら、こういう式でもいいでしょう。 =IF(SUM(C2:D2)=0,"",SUM(C2:D2)

noname#101292
質問者

補足

ていねいなご回答ありがとうございます。 大変わかりやすかったです。 下にも書きましたが私は曲解していたので、一番下に書いていただいたような用途で使っておりました。 訳のわからない質問して本当にすみません・・・。

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

  • エクセルでIFとANDを使った関数について教えて下さい

    A B C D E F G 1 1 2 3 結果 2/3 2/4 2/5 2 2/3 2/4 2/5 合格 0 0 1 3 上記のような表を作成しようとしています。条件が、 D1が「合格」で、 C2の日付がE1(該当セル、E1なら2/3、F1なら2/4)と同じなら「1」、 違うなら「0」、 B2の日付がE1(該当セル、E1なら2/3、F1なら2/4)と同じで尚且つ、 C2が「空欄」なら「1」、違うなら「0」、 A2の日付がE1(該当セル、E1なら2/3、F1なら2/4)と同じで尚且つ、 C2が「空欄」で、B2が「空欄」なら「1」、違うなら「0」 を返しなさい。 という関数を作りたいのですが、上手くいきません。 IFとANDを使えばいいと思うのですが、どのように組み合わせれば 良いでしょうか。 真を返す、優先順位は、C2、B2、A2、のセルです。 C2に日付が入ってるときはB2とA2に日付が入っていても カウントされないように(偽が入るように)したいのです。 ちなみに、最初は、 =IF($D2="合格",IF($C2=E$1,1,IF($B2=E$1,1,IF($A2=E$1,1,0))),0) と、入れてましたが、これだと、C2に日付が入った時にC2だけカウント したいのに、B2もA2もカウントされてしまいます。 どうか、良きアドバイスをお願いします!!

  • エクセルの関数について(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)))))))

  • エクセルでエラーの値を表示させないためには?

    エクセルで月曜日の日付を入力すると火曜日以降の日付が 自動的に計算される数式を入れたのですが、 日付を入力することが分かりやすいように 月曜日の日付のセルをX/Yとすると、 当然ですが数式を入れたセルは エラー(#VALUE!)が表示されてしまいます。 X/Yと入力してもこの#VALUE!を表示されずに 空欄のままになるようにしたいのですが、 何か方法があれば教えてください。

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

    IF関数について、皆様に質問です。 セルに入力された数値xがある数値yと同じか大きい場合は"NG"と表示し、数値aがある数値bと同じか小さい場合は"NG"と表示させたいと考えております。 IFを使って式を作成したのですが、『数式が多すぎる』というエラーになってしまいます。 具体的には、 セルB25に入力している数値が8.980の場合、 8.991と同じまたは大きい場合は"NG"と表示させたい。 同じセルB25で、8.969と同じまたは小さい場合は"NG"と表示させたい。 これをこのような式にしてみました。 =IF(B25<=9.991,"NG","",IF(B25>=9.969,"","NG")) これで『数式が多すぎる』というエラーになっています。 教えてgooで調べたのですが、解決には至っていません。 どなたかご教示いただけますでしょうか。

  • 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の方の関数は、多分合っていると思うのですが…。エクセルに入力しても、正しい結果が得られなかったので、質問させていただきました。初心者です。つまらない質問で申し訳ないのですが、よろしくお願いします。 

  • エクセルのIF式教えて下さい。

    何度やっても上手く思うように行きません。 IF式の組み立て方が悪いのか? AND、ORの使い方が悪いのか? お手上げの状態です。 質問は、2つのパターンです。 助けて下さい。 質問1 セルA1にデータ10と入力 セルA5にデータ5と入力 セルA9に大きい値の10を表示させ、セルA1が空欄の時は、空欄にしたい。 セルA10に小さい値の5を表示させ、セルA5が空欄の時は、空欄にしたい。 質問2 セルB2に1を入力 セルC2に1を入力 セルD2に両方が1以上ならOK、それ以外ならNGと表示させたい。 以上の2つの質問のIF式を教えて下さい。

  • エクセルで数式を入れても値が空欄になります

    タイトルの通りなのですが、 エクセルに数式を入れてもセルが空欄になって値が表示されません。 全く同じ数式を他のセルに入れると値が表示されるので 数式が間違っていることはないと思われます。 また、空欄になって値が表示されないセルにマウスをあてると 数式自体は入ってます。 時々、このような事象が起きるのですが どうやって改善すれば良いでしょうか?

  • EXCELで値ではなく表示されている文字を参照

    値ではなく、表示されている文字を参照することは出来ますか? 具体的にはスケジュール表を作りたいのですが、基準となるセルに日付を入力し書式を「ユーザー定義」でmmにしています。それを横のセルに+1で翌日、下のセルに=で書式ddとして日付を連続して入力しています。 その場合、1行目に月が並んでしまうので、月が変わらなければ空欄にしたいのですが、値自体は変わってしまうので条件式が書けません。 実際の値を無視して書式として表示されているものが一致していれば空欄という数式は可能でしょうか?

  • エクセルのIF関数で同じ値なのに答えが違う

    質問させていただきます。 エクセルのIF関数とAND関数を使って数式を作ったのですが どうしてもうまくいかないので質問します。 ±0.005以内であれば良、それ以外は不良としたいので =IF(AND(-0.005<=A,A<=0.005),"良","不良") Aにはべつのセルで計算した値が入り A=(1000.0-999.9)/2000*100 この場合だとA=0.005なのに不良となります。 A=0.1/2000*100 これだと良となります。 同じ0.005なのになにが違うのでしょうか? よろしくお願いします。