• ベストアンサー

空白セル参照時に0を表示しない

年齢計算を行うにあたって、A1セルに生年月日、B1セルに年齢を求めたい年月日、C1セルに年齢を表示する場合はC1セルに「=DATEDIF(A1,B1,"Y") 」と入力してやれば年齢が出たのですが、これを設定してやるとA,B未入力の場合Cセルが0表示になってしまいます。 この0を表示させない為にはどのような関数を利用すればよいのか教えていただけないでしょうか? IF関数で出来るようなことが書かれているのですが、組み合わせ方がわかりません。 質問がわかりにくくて申し訳ございませんが、どなたかご教授お願いします。

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

  • ベストアンサー
  • FEX2053
  • ベストアンサー率37% (7987/21354)
回答No.1

=IF(OR(A1=0,B1=0),"",DATEDIF(A1,B1,"Y")) かな? 他にもいくつも式は考えられると思いますが。 要はA1やB1がブランクやゼロだった場合に表示しない、他の場合は演算する、と考えればいいんです。

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

その他の回答 (4)

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.5

一例です。 C1に  =IF(COUNT(A1:B1)<2,"",DATEDIF(A1,B1,"Y")) A1とB1の何れかが未入力の時は、空白、両方のセル入力されたら 年齢を計算する。

hatoking
質問者

お礼

お礼が遅くなり申し訳ありませんでした。 そして、ご回答いただいた全ての方まとめてのお礼とさせていただきます。 方法は一つではないことが良くわかりました。(言わんとされてることはわかっているつもりですが、その構成をする能力が無いもので大変助かりました。)

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

=IF(ISBLANK(A1),"",IF(ISBLANK(B1),"",DATEDIF(A1,B1,"Y")))

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

一例です。 =IF(COUNT(A1:B1)=2,DATEDIF(A1,B1,"Y"),"")

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

過去に類似の質問が既出でした。 参考URLを参照ください。

参考URL:
http://okwave.jp/qa/q3954410.html
全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 前のセルが空白の場合は次のセルに表示しない方法

    A1 1975/09/18(生年月日を入力) B1 =DATEDIF(A1,DATE(YEAR(TODAY()),3,31),"Y") と自動計算で年令が出ます ただしA1が未入力の場合にはB1は何も表示しないようにしたいのですがどのようにすれば良いでしょうか

  • EXCEL エクセル 年齢 DATEDIF関数 空白の場合

    EXCEL2007 年齢を計算するのに A1セルに 生年月日を入力、 B1セルに年齢  =DATEDIF(A1,TODAY(),"y")で  満年齢がでると思うのですが A1セルが空白の場合 109となります。 A1セルが空白の場合 B1セルも空白になる関数を教えてください。 本を見ながらの初心者です。よろしくお願いします。

  • #value!を非表示にしたい

    エクセルの関数に関する質問です。 Book「A」または「A'」のセルを参照にして、いくつかの関数をBook「B」、Book「C」およびBook「D」に書き込みました。 まずは、Book「A」のセル「a」またはBook「A'」のセル「a'」のどちらか入力されている方のセルを表示させる関数をBook「B」のセル「b」に作りました。 これです。↓ =if(「a」="",(if(「a'」=""," ",「a'」),「a」) 次に、セル「b」を参照にして、 =if(「b」=""," ",「b」) という関数をBook「C」のセル「c1」に作りました。 「a」または「a'」に入力されていなければ、「c1」は空欄になるはず・・・だけど、実際には参照セルに関数が入力されているからどうかな・・・と思いましたが、これは見事に、成功しました。 これが成功したので、さらに、「c2」に、 =if(「c1」=""," ",datedif(「b」,「c1」,"Y")) を作りました。 しかし、空欄か年齢のどちらかになるはずのセルが、「#value!」がでてきてしまい、空欄が出てきません。「a」または「a'」に入力されていれば問題なく年齢を計算して返してくれるのですが、「#value!」は目障りなので、表示させたくありません。参照を「a」または「a'」までさかのぼって関数を作ればもちろん問題ないのですが、いろいろ並べ替えなどをしておりそれは最高に面倒くさいのです。参照を「b」や「c1」にするとオートフィルを使って楽にできるので、こっちの方法を採用したいと思っています。 上の関数を使った結果出てきてしまった「#value!」を解決するにはどのような方法があるのでしょうか? 長くなった上にややこしくなって申し訳ありません。ぜひともご意見よろしくお願いします。

  • EXCELで年令計算するDATEDIF関数

    EXCELで年令計算する関数DATEDIFを使って、生年月日の記入をすると年令を表示しますが、 記入がないと 111才 になってしまいます。生年月日の記入がないときには 0才 にしたいのですが、わかりません。   たとえば、生年月日のセルを         B12         基準日(関数TODAY()を使用 )を E3         年令表示セルを           B11 にして、セルB11に次の関数を入力します。     =DATEDIF(B12,E3,"Y") & "才" すると、生年月日がセルB12に入っていれば、年令を表示しますが、生年月日の記入がない(空欄)と111才と表示されてしまいます。空欄では0才などにしたいのですが、ご教示をお願いします。 セルの西暦・和暦やTODAY関数が影響するのかわかりません。

  • エクセルの関数についての質問です。

    DATEDIF関数を使って生年月日から年齢を求める式を作り、それにIF関数を組み合わせたいと思って試したのですが、うまくいきませんでした。何か良い方法があったら教えて下さい。 A1に生年月日を入力し、B1に、 =DATEDIF(A1,TODAY(),"Y") で年齢を求め、オートフィルで複写すると、A列に生年月日を入力していない場合、B列にある数値が 出てしまうので、A列が空白の時は、B列も空白にしたいのです。そこで =IF(A1="",B1="",DATEDIF(A1,TODAY(),"Y")) としてみたところ 循環参照 している。と言うエラーメッセージがでてしまいます。 よろしくお願いします。

  • DATEIF関数で空白で表示する方法について

    エクセルで業務の経験年月を表示させたいと思っています。 下記の関数を用いて「開始年月日」と「終了年月日もしくは今日」で 「〇年〇ヶ月」と表示させることまでは成功したのですが 「開始年月日」と「終了年月日もしくは今日」のセルが未入力の(業務経験がない)場合、 経験年月のセルに「122年2ヶ月」と表示されてしまいます。 業務経験がないセルは空白で表示したいのですが、 空白に表示する方法について教えていただけるとありがたいです。 よろしくお願いします。 =DATEDIF(開始年月日,IF(終了年月日="",TODAY(),終了年月日),"Y")&"年" &DATEDIF(開始年月日,IF(終了年月日="",TODAY(),終了年月日),"YM")&"ヶ月"

  • エクセル DATEDIF関数

    色々調べたのですがよくわかりません。 DATEDIF関数で年齢計算させたいと思います。 適当なセルに本日の年月日を表示させ、 A列に生年月日、B列に年齢を出そうと思います。 そのため、B1にDATEDIF関数を入れ、B2から下の行に、この関数をコピーしました。 この結果、A列に生年月日を入れれば隣のB列に年齢は出るのですが、A列に生年月日を入れなくても、B列には生年月日を1900年とした年齢が表示されます。 (今年なら118歳が表示されます。) 生年月日を入れていない行には年齢を表示させたくないのです。 入力した人だけの平均年齢を出したいのですが、この118歳が邪魔になります。 どうすればいいのでしょうか。

  • #NUMが返るセルを-で表示する方法

    次のような作業をしています。(Excel2000)     A      B       C 1 1991/4/1 1993/4/1 1996/4/1 2 1989/3/1 1990/5/1 3 1995/4/1 A、B、Cは役職で、その役職になった年月日です。 役職の在任期間を計算するのですが、datedifで計算するとBやCになっていない人の計算結果は空欄のセルから計算させることになりますから当然#NUMで表示されますよね。 こういう場合、#NUMで表示せずに、"-"で表示する方法はあるのでしょうか。 ご存知の方、教えて下さい。 よろしくお願いします。

  • 空白セルのとき0表示を消す方法(エクセル2003)

    例えば、      A     B     C     D・・・・・・ 1    10    20    0     30 2                   0 ・ ・ D1に、=A1+B1+C1 D2に、=A2+B2+C2の計算式が入っている時 A2,B2、C2が空白セルのとき、D2に0を表示したくない(空白セルにしたい)です。 過去の質問より、IF関数を使えばよいとわかったのですが、いまいちよくわからないため質問させて頂きました。 よろしくお願いします。

  • EXCEL 数式が入った空白セルを数える

    毎度お世話になっています。 質問の内容ですが、例えば下記のようなシートがあるとします。 セルB1、セルC1、セルD1:手入力セル セルA1:数式「=IF(B1="","",B1+C1)」 セルA2:文字列 セルA3:数式「=IF(D1="","",D1*0.1)」 セルA4:文字列 セルA5:A1+A3の計算結果を表示 (※なお、セルA2、A4は数値が入らない) というような場合において、 ●セルB1、C1、D1になにも入力されていない場合、セルA5が空白となる。 ●セルB1、C1にのみ数値が入力されている場合、セルA5の計算結果がセルA1の値のみ。 ●セルD1にのみ数値が入力されている場合も上記と同様に計算結果が表示される。 以上の条件を満たす数式をセルA5に入力したいのですが、 COUNTBLANKは数式が入っている場合には使えず、COUNTAの場合だとセルA1、A3のどちらにも数値が入った場合に表示される、といった数式になります。 IFをいくつも使えば可能とは思いますが、もう少し単純に数式を作れたらと思い質問をさせて頂きました。 よろしければ御回答宜しくお願い致します。 (内容を訂正したため、いったん質問を削除しました。もし御回答中の方が居ましたら申し訳ありませんでした。)

Brother HL-L3230CDW印刷トラブル
このQ&Aのポイント
  • Brother HL-L3230CDWのカートリッジ8番を変えた後、印刷すると画面全体が薄汚れる問題が発生しています。カートリッジには3センチ間隔で横線が入ります。また、ドラムユニットを掃除しても汚れがひどくなります。
  • お使いの環境はWindows10で有線LANを使用し、オフィス系の作業をしています。ひかり回線を利用しています。
  • Brother HL-L3230CDWの印刷トラブルについてお困りの方へ。カートリッジ交換後に画面が薄汚れし、横線が入る問題が発生しています。また、ドラムユニットの掃除でも汚れがひどくなります。Windows10と有線LANを使用し、オフィス作業をしている方におすすめです。
回答を見る

専門家に質問してみよう