Sa
IF文がFALSEなのに注文関数が走る
注文訂正関数REPLACEORDERをIF文で制御していますが、FALSEの場合にも注文が発動してしまいます。
数式 =IFS(AND(AG7="○",AD7<>""),REPLACEORDER(AD7,0,"","",1,"1","******","V041","","","1"),TRUE,"")
条件がTRUE時のみ売り注文を成行に変えて決済
どういった理由が考えられるでしょうか?
ちなみに、他のセルで指値の価格を訂正するREPLACEORDERはIF文で制御できています。
2025年11月17日



大野 了
Saさん、こんにちは!!
いただいた情報だけですと推測の域になってしまいますが、
AG7 やAD7 に 書かれているワークシート関数の先が、
CANDLE関数などの『複数の関数等で一つのデータを作る』ような関数を見ておられませんでしょうか?
もしそうであれば、関数間の時差問題が発生しているかもしれません。
以前いただいた質問への回答のURLで申し訳ございませんが、
内容的にはこちらを見て頂けますと幸いです。
https://bbs.okasan-online.co.jp/ont/rss/board/?page=1&topic_id=315#comment_1585
もし異なる場合は、再度ご返信いただけますと幸いです!!
2025年11月18日
Sa
ご返信ありがとうございます。
>CANDLE関数などの『複数の関数等で一つのデータを作る』ような関数を見ておられませんでしょうか?
例えば数式を↓のように変え、かつAD7の数式を消し、"×"という文字列を入力した場合でも、注文関数が走ります
=IFS(AD7="○",REPLACEORDER(AD7,0,"","",1,"1","******","V041","","","1")
なので、関数の時間差ではないと思います。
また、書き方が悪く申し訳ないのですが、
現在、発注不可かつ訂正元の売り注文も発注されていない状態で検証しているので、詳しくは、発注不可状態ですというエラーが返るという状況です。(このエラーが返るということは、発注可能な状態であれば注文関数が通ってしまうという認識です)
成行売りへの訂正注文のみIF文が効きません…
よろしくお願いいたします
2025年11月18日
Sa
自己解決いたしました。お騒がせいたしました。
IFSのショートサーキット” が保証されていない仕様で、TRUE/FALSE判定の前に関数を呼び出していたようです。
IFに変えて調整することで、呼び出さなくなりました。
ありがとうございました。
2025年11月18日
大野 了
Saさん、こんにちは!!
あー
なるほどー
気が付きませんでした!!
そういう事だったんですねー
なにはともあれ解決されたようで良かったです!!
2025年11月18日