Excelの条件式について

こんにちは
Excelの条件式について教えていただきたいです。
現在フロー条件分岐(2個)を使っているのですが、式がうまく書けません。

条件
・E列の数値が10%以上の場合
私の書いた式
CInt(row(6))>=0.1
・G列の時刻が15:00ではない場合
私の書いた式
CInt(row(4).ToString)<>0.625
(先に繰り返しの外でクリック等を使い、数値を標準に戻しております。)

前者の方はそもそも動かず、後者は全てTrue扱いになってしまいます。
どなたか教えていただけたら幸いです。
よろしくお願いいたします。

失礼いたしました。
列の表記が間違っていました。
正しい条件式は
・G列の数値が10%以上の場合
・E列の時刻が15:00ではない場合
です。
よろしくお願いいたします。

int32は整数しか扱えないので、小数点を扱うならDouble型の変数にする必要があります。
なのでCDbl(row(6))とすれば正常に動くと思います。

時間の比較については数値を標準に戻さずに
Datetime.Perce(row(4).tostring).tostring(“hh:mm”)と一度Datetimeに変換してから時分だけを抽出して文字列化して15:00の文字列と比較・・・でしょうか。
ただこの場合<>の比較はできますが、時間の前後関係の比較はできなくなります。
時・分だけの比較もDatetime型でできるかどうかはわからないのですが、できるのであればDatetime型での比較を行ったほうが良いと思います。

ありがとうございます。

すみません。入力をしてみたのですが、PerceはDateのメンバーではありませんとエラーが出てしまいます。
無知で申し訳ございません。
Datetime.Perce(row(4).tostring).tostring(“hh:mm”)<>15:00や代入で変数名=Datetime.Perce(row(4).tostring).tostring(“hh:mm”)を試してもできませんでした。

他になにか入力するものがあるのでしょうか?

失礼しました。PerceではなくPerseでした。アホなスペルミスをしてしまった・・・
Datetime.Perse(A.tostring).tostring(”yyyy/MM/dd hh:mm:ss”)
で文字列化した変数Aを時間として一度変換し”yyyy/MM/dd hh:mm:ss”の形に再度文字列化 という意味になります。

追加で調べていてわかったのですが


によると、時・分だけの情報しかない場合、そもそもDatetime型として読み取れないようです。
なのでDatetime型への変換ができなかった場合は
CDbl(row(4).ToString)で小数点数値としての比較が良いと思います。

ありがとうございます!
DateTime型への変換はできなかったのですが小数点数値で変換し、処理しました!

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.