エクセル関数でfalseの文字が消えない

このQ&Aのポイント
  • エクセル関数で日付によってセルの値を制御する方法を教えてください
  • 特定の条件に基づいてセルの値を非表示にする関数を使っているが、falseの文字が表示されてしまう
  • エクセルのバージョンは2007
回答を見る
  • ベストアンサー

エクセル関数でfalseの文字が消えない

エクセルで例えば 例えば セル A1        B1      C1       D1    E1        F1 状態      購入日    有効期限   超過   回収日     ステータス 発送      2013/01/28 2014/02/01  3日   2014/02/03   完了 B1に日付が入るとC1には1年後の日付が自動的にはる計算式が入っており、 C1の日付がTODAYを過ぎるとD1に何日日付が過ぎているのか日数が出る式が入っています。 先日、OKWaveで、「質問:No.7916177」で質問をさせていただいていた内容と同じになりますが、 E1の日付が入ればD1の日付が消えるように設定する方法を教えていただきました。 教えていただいた内容を元にE1へ計算式「D1=IF(E1<>"","",(今のD1の計算式))」を入れてうまく、言っていたのですが、なぜかE1に日付を入れるとD1は空白になるようにしているはずなのに、「false」の文字が出てきます。 どうすれば解消できるでしょうか。ご回答宜しくお願いいたします。 ※エクセルのverは2007になります。

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

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

No.1です。 補足の数式をこちらでコピー&ペーストして試してみましたが、 別段問題ないように思われます。 「FALSE」となる場合はどのような場合なのでしょうか? 怪しいのは >MAX(C2-TODAY(),0) でC2の日付次第でFALSEになるような気がします。 ただ、こちらで色々な日付にして試してみましたが、FALSEは一切表示されませんでした。 ちょっと原因が判らないですねぇ~! 可能性としては0に近いのですがExcelのバグってことはないでしょうか? 今後他の方々からの回答があると思いますが、それでも改善されなければ 一度Officeを修復してみてはどうでしょう! お使いのOSが判らないのですが、VISTAだとすると コントロールパネル → プログラムと機能 → MS Office2007 上で右クリック → 変更 → 修復 後はじっと待つだけです。(再起動が必要になると思います) この程度でごめんなさいね。m(_ _)m

kerottimarry
質問者

お礼

回答ありがとうございます。 エクセル2003で試してみたところ問題はないのですが、2007になるとなぜか1部falseがでているんです。 ただ、バグの可能性も確かになるのでofficeの修復試してみようと思います。

その他の回答 (2)

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

>「false」の文字が出てきます。 教わったのと違う数式を、間違って記入したからです。 「実際にいまFALSEが出ているその数式」をあなたのエクセルから直接コピーして掲示してみると、一体どこを間違っているかすぐに皆さんから指摘が寄せられます。 教わった回答の式をコピーしてみたり、今回のご相談のように(こうだと思いこんで書いた)「説明のための式」では、適切なアドバイスは寄せられないのでよく注意してください。 >どうすれば解消できるでしょうか。 回答の式をコピーして貼り付けるだけしかできないご相談者さんがとても多い中で、ご自分で実際に数式を書いてみるのはもちろんとても良いことです。 ただあまり数式が理解できていない中で、たとえば「TODAY()-C2」と「C2-TODAY()」のように、勘違いして教わったのと違う数式を書いてしまう間違いも、もちろんよく起こります。 繰り返しますが、「実際にいまFALSEになっている式」をあなたのエクセルからコピーしてしっかり事実を掲示してみてください。 そうすれば、あなたが編集中にどこをミスったのかといった事も、直ちに判ります。

kerottimarry
質問者

お礼

回答ありがとうございます。教わったのと反対に書いているのは超過日に-表記をさせたかったからですが、教わったとおりでも当然試しております。 それでもなぜかfalseがでているところもあったのです。

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

こんばんは! 「今のD1の計算式」がどのような計算式か判らないので、何とも言えないのですが・・・ 「FALSE」はお示しのIF関数の「儀の場合」が表示されているように思われます。 すなわち「今のD1の計算式」が「FALSE」になっているような感じです。 現段階ではこの程度しかお答えできませんが、 具体的な数式を書かれると簡単に問題解決すると思いますよ。 他の原因ならごめんなさいね。m(_ _)m

kerottimarry
質問者

補足

早速の回答ありがとうございます。 D1の計算式は「=IF(B1="","",MAX(C1-TODAY(),0))」を入力しています。 E1へ日付を入れたらD1は空白になるように式を書いたら「=IF(E2<>"","",(IF(B2="","",MAX(C2-TODAY(),0))))」とした場合、うまくいくときもあるのですが「false」が出るときもあるのです。

関連するQ&A

  • エクセルの関数で。

    エクセルで例えば 例えば セル A1        B1      C1       D1    E1        F1 状態      購入日    有効期限   超過   回収日     ステータス 発送      2013/01/28 2014/02/01  3日   2014/02/03   完了 上記のような項目が入っているエクセルブックがあり、 (1)D1にはB1の日付を入力するとC1に自動的に1年後の日付が入るように関数を設定 (2)またC1がTODAYを過ぎた場合、D1に何日超過しているかわかるように関数を入れています。 知りたいのはE1に日付が入った場合D1は自動的に日付が消えるようにする、そういった設定が出来るものでしょうか?手で消せばいいというのはごもっともなご意見ですが、数が多いと消しこみ忘れを防ぎたいので、可能ならそういった設定をしたいのです。 また、F1にステータスが完了という文字が入った場合、その行をグレーアウトさせる書式設定の方法もご存知であれば是非教えていただけないでしょうか。宜しくお願いします。

  • エクセルの関数でどうしても解らないことがあります。

    エクセルの関数でどうしても解らないことがあります。 例えば   A   B   C  D  E 1 2 3 4 5 このセルでA列に文字を入力した時、E列にその入力した日を表示させる関数で困っています。今は=+IF(A1="","",TODAY())をE1に入力しているのですが、翌日になると1日プラスされた日付に変更されています。 ツールの計算方法を自動にしているのですが、同じシート内に他の計算式を入力しているので手動に変更できません。翌日になっても日付が変更されない方法は無いでしょうか?詳しい方宜しく願います。

  • エクセル2003の条件付き書式設定について

    あるセルに入っている日付がTODAYの日付を越した場合に、 文字を赤くする設定を行いたいのですが、うまくいかずに困っております。 例えば セル A1        B1     C1       D1 状態      購入日   有効期限   超過 とある場合。 Bに日付を入力すると自動的に購入日から365日後が入るように設定しております。 条件書式設定が間違っているのだと思いますが、私には思いつかず、困っております。 やりたいのは、Cの有効期限がTODAYの日付を超えた場合赤文字にしたいのです。 日付が固定だとうまくいくのですが流動的なためうまくかけません。 フォント設定は問題ないのですが式が間違っているのでしょうか。 私が書いたのは、 条件書式設定のところで、 =C1>TODAY()+1 まずはこれが間違っていたのでしょうか。 後、D1の日付のところでCの日付が何日超過しているのか 計算する関数などあれば教えていただけないでしょうか。 宜しくお願いいたします。

  • エクセルの簡単な関数ですが。

    私はエクセルで旅日記を書いています。 A列には「今日で何日目か」 B列には「日付」 C列には「曜日」 D列には「行動時刻」です E列には「内容」です。 質問です。 A3に =IF(B3="","",DATEDIF($B$2,B3,"D")) としB3に日付が入ったら、「一日目、2日目」と増える(つもり)で書いたのですが、2日目で【1】と入ります。2日目だから【2】としたいのです。 仕方なく、B2にダミーの日付を入れて誤魔化していますが、この場合どんな関数を使ったらいいんでしょうか。

  • Excelの関数がうまく使えません。

    Excelで関数がうまく使えません。 「=IF(E2>=2000,200,IF(E2>=1000,100,IF(E2>=500,50," ")))」というのをH列のセルに入力しています。 計算はうまく?いくのですが、偽の場合に空白にしているのに、E列が空白でも200と反映されてしまいます。 ちなみにE列には「=IF(ISNUMBER(D2),(C2*D2)," ")」このような関数を使っております。 H列が空白のときに正しく空白にするにはどうしたらよいのでしょうか? 教えてください。

  • エクセル日付計算

    エクセルで3ヶ月点検表を作りたいのですがセルC2に実施日D2に90日E2に次回実施日を出したのですが関数をC2+D2=E2にしましたE2に答えは出るのですがC2が空白の時E2に1900/4/2の日付がでますC2が空白の時E2も空白にするにはどうすればよいのでしょうか教えていただけますか。

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

    以下の内容をエクセルの関数を使って解決したいのですが、教えていただきたいと思います。    A    B    C     D    E    F 1  分類 番号 発注日 納品日 金額 累計 2    1    1    4/1    4/8  1000 3    2    2    4/1    4/9   2000  4    1    3    4/4    4/9  1500    0 ※ 上の表で、分類の累計 F4が、「0」になっています。     もし、D2の納品日が、C4の「4/4」以前の日付、「4/3」などに     なっていた時、関数などを利用して、F4に、E2の1000が自動     的に表示できるようにしたいのですが全くわかりません。     良い方法があれば教えていただきたいです。

  • エクセルのif関数のエラー

    エクセルでif関数を使ってデータ処理をしたのですが、上手くいき ません。何がおかしいのかが分からない状態で困っています。 状況  A B C D E 1 : + = ? 関数式 とセルに入力してあるとします。(A1=:,B1=+,C1==,D1=?) 関数式のセルに以下の様に入力しました。 =IF(ISBRANK(D1)=TRUE,E1="",VLOOKUP(D1,$A$1$B$15,2,FALSE)) 目的はVLOOKUPだけではD1が空白の時にE1にNAMEと表示されるのを 避ける事でした。 そうすうとD1にA列の数字を入力すると、それに対するB列をE1に 表示するようになるのですが、D1が空白の時はB1が表示されて しまってます。  また一旦D1に入力した後、D1をデリートして空白にしてもE1には もとの数値がそのまま表示されたままになってしまいます。 文章で表現している分、かなり分かりにくい説明になってしまって いますが、お詳しい方いましたらアドバイスお願い致します。

  • エクセルで「FALSE」以外のセルをカウント

    エクセルでうまく計算できなくて困っています。 どうか知恵を貸して下さい…。   A  B 1 あ FALSE 2 あ FALSE 3 い FALSE 4 0 FALSE 5 0 FALSE AとB列に同じような計算式が入っており、 その結果が表示されています。 (例えば…、A1に「=Sheet2!C1+Sheet2!C2」など) この状態で、A1:B5の範囲で0とFALSE以外の数をカウントするには どうすればよろしいのでしょうか? COUNTIF関数などを使ってもうまくいきません…。

  • エクセル 関数について

    エクセルで A1にTODAYで今日の日付が入ってます(2009/5/21) B1~B10に任意の西暦を入力します 2009/05/19など C1~C10に今日2009/5/21より過去だったら”1”を 未来だったら”2”を返すような関数はありますか?

専門家に質問してみよう