- ベストアンサー
関数IFの意味について
この関数の意味を知りたいのです。 Points:=if(C<50,0.0001,0.01); Cが50より小さい場合0を返し、0.0001以上なら0.01を返すという意味になったのですが、50までの数値が0になってしまうということでしょうか?エクセルでも関数が苦手で使用しないのでいろいろ調べたのですが よくわかりません。よろしくお願い致します
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
#4(と#5 )です。間違って、ほとんど同じ文面で2つ送信してしまいましたm(_ _)m >この中の”0”はいらないのでは?0の位置付けが理解できないのですが・・ う~んと、どの "0" のことでしょう?純粋な 0 はありませんが。 Points:=if(C<50,0.0001,0.01); あるのは "50" の後ろの 0 、"0.0001" の 0 、"0.01" の 0 ですが、いずれもなくしてしまうと数値が変わってしまうので、なくすわけにはいきません。 念のために確認しておきますと、関数の ( ) の中身を「引数(ひきすう)」といい、引数が2つ以上あるときは、引数の間を "," で区切ります。 ここでの if関数は、引数を3つ取り、 if( 条件式 , 条件が成立したときの値 , 条件が成立しなかったときの値) ということだと思います。(プログラム言語が何か不明なので断言できませんが、たぶんこの順序だと思われます。) 条件式が "C<50"、この条件が成立したときの関数の値が "0.0001" 、成立しなかったときの値が "0.01" ということです。 「0 の位置づけ」といわれていますが、ここに出てくる全ての 0 は、数値を表現するためのものです。
その他の回答 (5)
- BookerL
- ベストアンサー率52% (599/1132)
>返すという意味がよくわからないんです たぶん何かのプログラム言語ですね? := という記号は Pascal系でしょうか。 さて、関数がある値を「返す」という言い方です。 Points:=if(C<50,0.0001,0.01); という式には Points という変数と C という変数が登場しています。if関数は、C の値と 50 との大小を調べ、それによって 0.0001 か 0.01 を「返し」ます。どこへ返すかというと、この関数のある位置、つまりこの式の右辺です。この式の右辺に返ってきた値は、:= の代入演算子によって、変数 Points に代入されます。 結論として、この式によって、Points という変数が C の値に応じて 0.0001 か 0.01 のどちらかの値をもつようになります。
- BookerL
- ベストアンサー率52% (599/1132)
>返すという意味がよくわからないんです たぶん何かのプログラム言語ですね? := という記号は Pascal系でしょうか。 さて、関数がある値を「返す」という言い方です。 Points:=if(C<50,0.0001,0.01); という式には Points という変数と C という変数が登場しています。if関数は、C の値と 50 との大小を調べ、それによって 0.0001 か 0.01 を「返し」ます。どこへ返すかというと、この関数のある位置、つまりこの式の右辺です。この式の右辺に返ってきた値は、:= の代入演算子によって、変数 Points に代入されます。 結論として、この式によって、Points という変数が C な体に応じて 0.0001 か 0.01 のどちらかの値をもつようになります。
お礼
そうです。あるプログラムのスクリプトです。何系?かもわかりません。このような、説明をどこを検索してもなかったので勉強になります。ですが、無知な質問としてこの中の”0”はいらないのでは?0の位置付けが理解できないのですが・・
- pasocom
- ベストアンサー率41% (3584/8637)
#1です。 >返すという意味がよくわからないんです・・・。 「返す」とは関数によって特定の答えを表示するという意味です。 ですからCが50未満の時は0.0001を表示し、50以上なら0.01を表示する、ということです。
お礼
関数にある”返す”とはそうゆう意味なんですね。ありがとうございました。
- mu2011
- ベストアンサー率38% (1910/4994)
何の関数かが不明ですが、IF(条件、真の場合、偽の場合)と想定すると、 条件がC<50なので、50未満は0.0001、50以上は0.01を設定するという事ではないでしょうか。
お礼
早々の回答ありがとうございます。50未満は0.0001、50以上は0.01を設定するという事ですか・・・この説明で理解できました。
- pasocom
- ベストアンサー率41% (3584/8637)
その関数の意味は 「Cが50より小さい場合は0.0001を返し、そうでない場合(Cが50以上の場合)には0.01を返す」という意味です。
お礼
早々の回答ありがとうございます。その・・返すという意味がよくわからないんです。No2さんのような意味合いになるんでしょうか?
お礼
すみません・・if(C<50,0.0001,0.01);の0.0001を”0”と見間違えました わかりやすい説明ありがとうございます。 これで納得できました。 また質問するかもしれませんがその時はよろしくお願いします!