• ベストアンサー

#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!」を解決するにはどのような方法があるのでしょうか? 長くなった上にややこしくなって申し訳ありません。ぜひともご意見よろしくお願いします。

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

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

> =if(「a」="",(if(「a'」=""," ",「a'」),「a」) aとa'が両方空欄の場合、bにスペース1個が返ってきてますよ。 > =if(「b」=""," ",「b」) c1も、bが空欄のときにスペースが返るようになってますね。 これではc1が空欄になれないので、スペースをdatedif関数の引数として使おうとし、 エラーになります。きちんと空欄を返しましょう。

noname#105027
質問者

お礼

grumpy_the_dwarfさん、ありがとうございました。質問を細かい所まで見ていただいて、本当に感謝です! 「" "」を「""」にしたらうまくいきました! 実はず~っと前、「空欄だったら空欄にする」条件で初めてIF関数を使った時に、何かのミスでうまく出てこなかったのです。その時にこの「空欄だったらスペースにする」で解決してきました(なぜかこれだとうまくいった)。それ以降、わざとスペースにしてきたのです。しかし今回試してみたら、スペースじゃなくて空欄にしてもきちんと出てきました。 これで、いろいろなことが解決しそうです。 どうもありがとうございました。

その他の回答 (2)

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

個人的に、近頃よく使っている方法です。 算式は変更せず、セルの書式設定でエラー表示を見せなくするだけの方法です。ごまかし技です。ご参考?に。 エクセルでエラーを表示したくない http://www.okweb.ne.jp/kotaeru.php3?q=436392

参考URL:
http://www.okweb.ne.jp/kotaeru.php3?q=436392
noname#105027
質問者

お礼

nishi6さん、ありがとうございます。 エラーを消すのって、いろいろな方法があるんですね。どうしても消えないとき、この方法を使ってみようと思います。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 つまり、DATEDIF関数に渡す引数が不正な値の場合があるわけですね。 その場合はISERROR関数でエラーかどうかを判別してやればいいと思います。 DATEDIF(省略) の部分を、 IF(ISERROR(DATEDIF(省略)),"",DATEDIF(省略)) とします。 詳細はヘルプを参照して下さい。

noname#105027
質問者

お礼

maruru01さん、お返事ありがとうございます! ISERROR関数は、質問を検索したらたくさん出てきたのですが、その時はよくわかりませんでした。でもmaruru01さんのアドバイスのおかげで、少し分かってきたので、これからつかってみようと思います。エクセル関数ってすごいんですね。ちょっとばかり感動です。

関連するQ&A