アプリ版:「スタンプのみでお礼する」機能のリリースについて

表示されている数値と、実際に打ち込まれている数値が異なる場合でも使えるIF関数、もしくは方法はないでしょうか。


**例**

・表示されている数値    → 98:00:00
・実際に打ち込まれてる数値→ 1900/1/4 2:00:00

⇒打ち込まれている数値が「98」のものと一致させたい。


説明が下手で申し訳ありません。
言葉足らずでしたら補足もいたしますのでお詳しい方、ご教授お願いいたします。

A 回答 (5件)

少し勘違いしているようなので


IF関数で計算式を判断する場合には
表示形式は一切関係なく
セルに入っているシリアル値で判断されます。(日付の場合)
今回のケースで
 1900/1/4 2:00:00
と入力された値を98
と一致させるには
この日付がA1に入っているとして
A1の値を
VALUE(TEXT(A1,"[h].mm"))
のような形で処理します。

IF(VALUE(TEXT(A1,"[h].mm"))=98,"○","x")
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
先ほどの質問でもご対応ありがとうございました。

おっしゃる通りの関数でやってみたところ、無事できました!!

なるほど、表示形式は一切関係なくシリアル値と言うのがあるのですね。
わざわざ解説までしていただき本当に感謝です。

お礼日時:2009/07/29 17:20

追記



表示書式が「G/標準」になっているか「ユーザー定義」になっている場合だけ「真」にしたいなら
=IF(AND(TEXT(A2,"[h]")="98",CELL("format",A2)="G"),"真","偽")
と書けば良い。

これで、表示形式が「通貨」や「文字列」や「日付」や「時刻」の物は「偽」になり、排除出来る。

但し、ユーザー定義で「###,###」とかって感じで指定されてたら「結果的にカンマ付き数字になるけど、ユーザー定義に変わりは無い」ので駄目だけど。
    • good
    • 0

=IF(TEXT(A1,"[h]")="98","真","偽")


って事ではなくて?

但し、この場合、表示されている値が
98:00:00
でも
4
でも
1900/1/4 2:00:00
でも「真」になっちゃうけども。

「表示形式も98:00:00じゃないと駄目」と言うのは、残念ながら不可能。

表示形式の判定は
=CELL("format",A1)
と言う式で可能だけど、表示形式が
4
の時も
98:00:00
の時も、どっちも結果が「G」になる(「ユーザー定義の表示書式が設定されている場合は、CELL関数は"G"を返す」と言う仕様になっている)ので、判定は出来ない。
    • good
    • 0

A1セルに時間が入力されているとして


=TEXT(A1,"[h]")*1
とすると98の数値が戻ります。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

なるほど!「98」を時間に変えてしまうのですね!
変換後無事にIF関数で判別できました★

お礼日時:2009/07/29 17:30

要するに、日付シリアル値が入力されてて表示形式が[h]:mm:ssなも


のがあって、時間で条件式をなんとかしたいと。

たとえば=if(text(A1,"[h]")="98",..とか、=if(int(A1*24)=98,..
あたりが判りやすいんじゃないかと思います。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

はい!要するにそういうことなんです。
説明が下手くそで本当にすみません(汗

教えていただいた関数で無事できました*^^*

お礼日時:2009/07/29 17:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!