• ベストアンサー

日付の条件をifの条件式を使って作成する場合

if の条件式で a1        b1      c1 2006/8/6  2006/8/8 c1 の数式が =if(a1<>,a1,b1)   の場合 =if(a1>0,a1,b1)  の数式でも同じ答えがでますが、 a1<>0 と  a1>0 の違いは、どのような場合に違って表示されるのでしょうか? 日付の条件式を作成する場合は、<>の数式を利用した方がよいのでしょうか? お教えくださいますようお願いします。

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

  • ベストアンサー
  • S-Fuji
  • ベストアンサー率36% (592/1624)
回答No.1

日付の場合、マイナスと言う事は有り得ません。 セルの書式を「日付」にしておき、マイナスの数値を入れると「#####」表示に成ってしまいます。 基本的に、「1900/1/1」を、「1」として日付を計算しています。 無理矢理、「0」を日付表示させると「M33.1.0」とか「1900/1/0」とかのあり得ない日にちになります。 と言う事は、A1のセルに何の日付が入っても、どちらの条件式も、成り立ってしまいますよ。 場合によっては、日付以外のデータでも成り立ってしまいます。

ste-lla
質問者

お礼

S-Fuji さま、ご回答いただきありがとうございます。 A1にマイナスで入力してしまった場合ということを考慮して・・・ A1 に -1/3 と間違って入力した場合、  最初の式<>   #####  別の式 >    b1が正しく表示される そこまで考えてもみませんでした。 お教えいただきありがとうございました

関連するQ&A

  • エクセルの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関数で複数の条件の式

    エクセルのIF関数を教えてください。 A1=B1の時、C1に1と表示 A1=B2の時、C1に2と表示 A1=B3の時、C1に3と表示 上記3つの条件以外の場合は何も表示しない 以上の条件の時にC1に入れる式を教えてください。 宜しくお願いします。

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

  • FilemakerのIF関数の関数式

    FilemakerのIF関数の正しい関数式の作り方について教えてください。 Aが、「BまたはC」の条件を満たす場合は45を、満たさない場合は60を表示させるIF関数として、以下の関数式を作成・入力しましたが、うまく結果が出ません。どこが間違っているのか教えてください。困ってます(T-T) ちなみにB、Cは全角文字という想定で“”をつけています。 If ( A=”B” or “C”; 45; 60 )

  • if [ 条件式 ]とif[[ 条件式 ]]

    シェルスクリプトでのif [ 条件式 ] と if [[ 条件式 ]] の違いについて教えてください。 以下のシェルスクリプトを実行すると、 意図したとおり、111 と出力されます。 =========▼▼(ここから)▼▼========= #!/bin/sh AAA=yes if [[ "$AAA" = [yY]* ]] then echo 111 else echo 222 fi =========▲▲(ここまで)▲▲========= 上記、スクリプト3行目の if [[ "$AAA" = [yY]* ]] の部分を if [ "$AAA" = [yY]* ] というように、角カッコ 1重にすると、 エラーは発生しませんが、 222と表示されます。 if [ 条件式 ] と if [[ 条件式 ]] の違いについて教えていただけないでしょうか。

  • ifの条件式 Andを使用するものについて

    phpで、 $a="あいうえお"; $b="かきくけこ"; $c="かきくけこ"; と変数を三つ宣言しました。 上の変数三つを利用して、以下条件のif文を作りたいと思いました。  条件:$a変数 と $b変数が異なり、かつ $b変数 と $c変数の内容が同じとき「処理A」を実行させる。 ○作成したif文 if(($a <> $b) && ($b == $c)){  処理A } と記述したのですが、 ifブロック処理Aが実行されません。 なぜなのでしょうか…。 ご教授お願いします。

    • ベストアンサー
    • PHP
  • エクセルのIF式

    エクセルのIF式について教えてください。 =IF(A1=B1=C1,"OK","ERROR") という式で、A1、B1、C1に同じ値が入っていても「ERROR」が表示されます。 IF式の条件の部分には「=」を3つ以上入れていけないという法則か何かあるのでしょうか。 できれば参考URLと共に教えていただけると助かります。

  • Excel 条件付きの条件先が式の場合

    Excelでたとえば A1に入力された数値、B1にはA1を引数とした計算結果があるとします。B1の計算結果が0.09だった場合だけC1に1を、そのほかの場合は2を表示させようとしました。 C1に =if(B1=0.09,1,2) の式を入れましたが、B1の計算結果が0.09でもC1には2が表示されます。そこで、C1に =if(int(B1*100)=9,1,2) の式を入れても結果は同じで、D1に=text(int(B1*100),0) の式をいれてからC1に=if(D1="9",1,2) でやっと1が表示されました。 これは当たり前のことなんでしょうか。このような方法をとらないと、数字の認識は難しいのでしょうか? 教えてください。

  • 条件分岐(if)について

    条件分岐(if)についてお聞きしたことがあります。 例えば if($a == 'A' || $a == 'B'){ 処理 }else if($a == 'C' || $a == 'D' || $a == 'E'){ 処理 }............... といった条件分岐があったとて、お聞きしたいことが2点あります。 ・条件分岐この後も数十個続いたとします。その場合もelse ifで一つ一つ 条件を書かなければならないのでしょうか? ・条件式if($a == 'A' || $a == 'B'....)が長くなる場合プログラムが見にくくなるので 別途に条件式を書いておいてif文の所では($a == ◯)といったように簡潔に書くことは できないのでしょうか? 宜しくお願いします。

    • ベストアンサー
    • PHP
  • 条件式の書き方について

    $aがaかbかcだった場合という条件式を if($a eq a || $a eq b || $a eq c) とせずに if($a eq aまたはbまたはc) というようにまとめて書くことは無理なんでしょうか?

    • ベストアンサー
    • Perl