- ベストアンサー
【Excel】IF関数の論理式の使い方と効率化方法
- FX(外国為替証拠金取引)で使うpips計算の効率化を考えるため、ExcelのIF関数での論理式の使い方について解説します。
- 「もしA1セルが"X"の場合は"B1セル-C1セル"、もしA1セルが"Y"の場合は"C1セル-B1セル"」の論理式をIF関数を使って作成できます。
- また、「もしA1セルの文字列の最後の3文字が"XXX"の場合"B1セル*100"、もしA1セルの文字列の最後の3文字が"YYY"の場合"B1セル*10000"」の論理式もIF関数で作成できます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
あ、あ、あ、あ・・・間違えた。 =IF(A1="X",B1-C1,IF(A1="Y",C1-B1,"")) =IF(RIGHT(A1,3)="XXX",B1*100,IF(RIGHT(A1,3)="YYY",B1*10000,"")) カッコの位置が違ってました。すいません。
その他の回答 (2)
- mu2011
- ベストアンサー率38% (1910/4994)
一例です。 全条件を一つにまとめてみました。 =IF(A1<>"",(A1="X")*(B1-C1)+(A1="Y")*(C1-B1)+COUNTIF(A1,"*XXX")*B1*1000+COUNTIF(A1,"*YYY")*B1*10000,"")
お礼
ご回答ありがとうございます。 ただ…すみません、うまくいきませんでした。 A1とかのセル情報は、ここで質問する際にわかりやすくするためのダミーですが、置換してもダメでした。 でも、たぶん私のやり方がどこかおかしいのだと思います。 No.1(No.2)さんのご回答で課題は解決しましたので、以後、この方法で計算したいと思います。 ご尽力に感謝します。
- FEX2053
- ベストアンサー率37% (7991/21371)
>「もしA1セルが"X"の場合は"B1セル-C1セル"、もしA1セルが"Y"の場合は"C1セル-B1セル"」 > >「もしA1セルの文字列の最後の3文字が"XXX"の場合"B1セル*100"、もしA1セルの文字列の最後の3文字が"YYY"の場合"B1セル*10000"」 これ、別々の話ですよね。 とりあえず上は =IF(A1="X",B1-C1,IF(A1="Y",C1-B1),"") =IF(A1="X",B1-C1,C1-B1)でも用は足りると思いますが、未記入だと変になることもあるので、XでもYでも無い時に空白、としておきました。 で、下も同じように =IF(RIGHT(A1,3)="XXX",B1*100,IF(RIGHT(A1,3)="YYY",B1*10000),"") こんな感じだと思いますけど。
お礼
わーい!( ´ ▽ ` )ノ 早速入力してみたら、瞬時に計算できました。 一応検算もしましたが、大丈夫みたいです! 本当にありがとうございます!! 余談ですが、こんなに早く正確な回答が返ってくると、某受験生もQAサイトを使いたくなる気持ちがわかりますね(笑)