• ベストアンサー

IF関数でしょうか? 分からないので教えて下さい。

IF関数でしょうか? 分からないので教えて下さい。 A1のセルにLの文字が入っている場合は(C1-B1)*D1として、A1のセルにSの文字が入って いる場合は(B1-C1)*D1します。答えは必ず小数点付きになりまして、且つ小数点以下が2桁だったり3桁だったりランダムになります。その少数点を外して整数とする。 これを一つの計算式で構築して値を算出することは可能でしょうか? もし可能なら、どのような式を構築したら良いか教えて頂けませんでしょうか? 面倒な質問で申し訳ありませんが教えて頂けると幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.6

No.1です! 前回は外していたようで、ごめんなさい。 結果は必ず小数点以下の数値があり、その桁数が何桁になるか判らないわけですよね? それを小数点を外した整数として表示したいということだとしての方法です。 E1セルに =IF(A1="","",IF(A1="L",(C1-B1)*D1*10^(LEN(MOD((C1-B1)*D1,1))-2),IF(A1="S",(B1-C1)*D1*10^(LEN(MOD((B1-C1)*D1,1))-2),""))) としてみてはどうでしょうか? 以上、参考になれば良いのですが 今回も的外れならごめんなさいね。m(__)m

その他の回答 (5)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.5

 以下の数式で良いと思います。 =IF(OR(A1="L",A1="S"),VALUE(SUBSTITUTE((B1-C1)*D1*(1-2*(A1="L")),".",)),"")  尚、数式中のVALUE関数は数字で書かれた文字列データを、数値データに変換する関数で、SUBSTITUTE関数は文字列中の指定された文字を、他の文字に置換する関数でにす。  又、数式中の「(A1="L")」の部分は、A1セルに「L」が入力されている場合には、数値の「1」として扱われ、それ以外の場合には、数値の「0」として扱われます。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.4

ん?? IF(A1="L",SUBSTITUTE((C1-B1)*D1,".","")+0, IF(A1="S", SUBSTITUTE((B1-C1)*D1,".","")+0, "")) >例えば1.71とあったら171にしたいと思っています。 それは前回のご質問で既に2通りも回答が寄せられていますが,見なかったのですか? それとも1日経ったらもう忘れましたか? >あとA1セルに何も入ってないときは空白にしたいと思っています。 こちらも回答した数式で先行フォロー済みですが,一体何を見ているのですか? 毎回毎回完全に人任せでやって貰った答えを写しているだけ,ちょっと変わったらまた人にやって貰わないと何も進まないでは,やっぱり困るのではありませんか?

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

小数点以下3桁までの数値がいるのでしょうか? 3桁以下の場合0を補えばいいのであれば =TRUNC(MOD(IF(A1="S",B1-C1,C1-B1)*D1*1000,1000)) ※単純にA1のS,LがB1とC1の大きさだとすれば絶対値を計算するABS関数で =TRUNC(MOD(ABS(B1-C1)*D1*1000,1000))

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

基本形: =IF(A1="L",INT((C1-B1)*D1), IF(A1="S", INT((B1-C1)*D1), "")) ●LもSも入ってないときはどうしたいのですか。 ●小数点以下を外すとは,切り捨てるのか四捨五入したいのかどういう計算にしたいのでしょうか。 といったような部分を調整して,上述の基本形を修正していきます。 #あんまり凝ったひねりをしなくても,SMLなど数パターン程度でしたらIF(IF(IF(で十分かなと思います。

seh321564
質問者

補足

言葉足らずで申し訳ありません。 小数点が入る数字ですが、例えば1.71とあったら171にしたいと思っています。 あとA1セルに何も入ってないときは空白にしたいと思っています。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 一例です。 E1セルに表示させるとします。 E1セルの数式を =IF(A1="","",IF(A1="L",ROUNDDOWN((C1-B1)*D1,0),IF(A1="S",ROUNDDOWN((B1-C1)*D1,0),""))) としてみてはどうでしょうか? 尚、「小数点を外して・・・」とありましたので、 切捨ての数式にしています。 そして、A1セルが「L」又は「S」以外の場合は空白になります。 以上、参考になれば幸いです。m(__)m

seh321564
質問者

補足

言葉足らずで申し訳ありません。 小数点が入る数字ですが、例えば1.71とあったら171にしたいと思っています。

関連するQ&A