[[20050828115222]] 『時間を条件式に入れたんですがつじつまが合わない』(dsk) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『時間を条件式に入れたんですがつじつまが合わないのはなぜ?』(dsk)

      A      B      C
  1  9:00   2
  2
  3

B1に条件式 =IF(A1="9:00",1,2)と入力したんですが論理式でFALSEとなり

B1に2と表示されてしまいます。

なぜですか?

論理式でTRUEにならないのはなぜなんでしょうか?
ちなみに A1>"9:00" だとTRUEになります。

Excel2003 WIN Xp


 時間はさっぱりですが、こうしたらどうですか?
=IF(A1=TIMEVALUE("9:00"),1,2)
(SoulMan)

 =IF(A1="9:00"*1,1,2)
 (wisemac21)

だめでした。A1=TIMEVALUE("9:00") でも A1="9:00"*1 でもTRUEにならないです(ToT)
A1に入っている 9:00 に問題があるんですかね?

 どのような値になっているか調べてみたらどうでしょう?
 数式で求めた値なら、=A1としてセル書式を数値で桁数を15〜16桁で表示してみる。
 それと、"9:00"のシリアル値(セル書式を数値で桁数を15〜16桁で表示)とを比べてみたらどうでしょう?

 =IF(TEXT($A$1,"h:mm")*1=TIMEVALUE("9:00"),1,2)
 こんな感じにすれば、いいかも・・・
   (Hatch)

 衝突しました。ほぼ同様ですが。
A1の時刻が"9:00"に同一でない可能性。
1.フィルドラッグで作成した"9:00"
2.加算、減算の結果としての"9:00"
3.900を表示形式の工夫で表示している"9:00"
 
1.2.は計算上の誤差。
3.はまったく違う数値の比較。
 
時刻を表す文字列に変換したものを比較しては?
1.2.の対処
=IF(TEXT(A1,"h:mm")="9:00",1,2)
3.の対処
=IF(TEXT(A1,"h!:mm")="9:00",1,2)
(みやほりん)

 A1セル「9:00」であれば表示形式の標準/Gにしたときにシリアル値「0.375」になっていなければいけません。
 それ以外の時は「9:00」に問題があります。余分に空白は入っているとか、コロン:が全角であるとか調べることが必要です。
 (wisemac21)

ありがとうございました。みやりほんさんの方法で対策出来ました。追加で2つ質問させてください

・フィルドラックって何ですか?

・3.の900を工夫して"9:00"と表示させる方法が知りたいです。

でも原因がよくわからないですよね・・・。

Hatchさん、Wisemac21さん>
標準でシリアル値を確認しましたが[0.375]でした・・・。

(dsk)


 >フィルドラックって何ですか?
 フィルハンドルをドラッグしてコピーすること。
 フィルハンドルとは選択したセルや範囲の右下隅の四角いところ。

 >900を工夫して"9:00"と表示させる方法
ちょうど今ならちょっと下の方に有る[[20050826105400]]『簡略時刻入力方法』のような方法。

 >標準でシリアル値を確認しましたが[0.375]でした
 桁数を15〜16桁にしたら違うと思うのですが・・・
  (Hatch)

なるほど解りました ありがとうございました。
ちなみに桁数を15〜16にしてみたら0.375000000・・・と0が続いてていました。
また何かあったら質問させてもらいます。

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.