過去の桐井戸端BBS (桐ver.8) |
15087 | 何々以上 何々以下という式を教えてください | UG2 | 2002/02/08-22:33 |
現在8.6を使用しております。 テーブルで、下記の条件式を項目計算しようと思っていますが、いまいちうまく動きません。 どこが悪いか、ご存じの方いましたら、アドバイスお願いいたします。 やりたいこと ********************** 項目Aが10未満なら0,10以上100未満なら1,100以上なら2 ********************** 条件式 ******************* #条件選択([A]<10,0,10<=[A]<100,1,[A]>=100,2) ******************* これで試しますと、 項目Aに、1-9を代入すると0、10-99を代入すると1となり、良いですが、 1000や2000を代入しても、1となってしまいます。 なにがおかしいのでしょうか? | |||
15089 | Re:何々以上 何々以下 | Ogo | 2002/02/08-22:41 |
記事番号15087へのコメント #条件選択([A]<10,0,[A]<100,1,1,2) | |||
15090 | Re:何々以上 何々以下 | KH | 2002/02/08-22:43 |
記事番号15088へのコメント UG2さん、こんばんわ。 #条件選択([A]<10,0,[A]<100,1,1,2) これでできるはずです。 | |||
15092 | Re:何々以上 何々以下 | 幅田 | 2002/02/08-22:54 |
記事番号15089へのコメント UG2さん こんにちは Ogoさん、KHさんも答えていらっしゃいますが >#条件選択([A]<10,0,[A]<100,1,1,2) でいいと思います。 #条件選択では、最初の式から順番に判断していきます。 すなわち、最初の式 [A]<10 で、[A]が10未満なら 0 そうでない場合(すなわち10以上の場合)は 次の式 [A]<100を判断します。 ですから、ここであえて、10=<[A]を書く必要はないわけです。 [A]<100と書くだけで、10=<[A]<100と同じ事なのです。 で、100未満の場合は 1 ですが、 そうでない場合(100以上の場合)は ただたんに、1 と書き、2 になるというわけです。 2の前の1は、それまで書いた式のどれにもあてはまらないとき という意味になります。 | |||
15093 | Re:何々以上 何々以下 | UG2 | 2002/02/08-22:55 |
記事番号15089へのコメント Ogoさん、KHさん ありがとうございました。 早速、来週出社したら試してみます。 ところで、アドバイス頂いた下記条件式で、なぜ10以上100未満のとき、1が選ばれるのでしょうか? つまり、例えば15の時は1が選ばれるのは分かりますが、5も100以下のため1が選ばれそうな気がしますが... >#条件選択([A]<10,0,[A]<100,1,1,2) また、100以上の時と選ぶ場合1となってますが、どういう意味でしょうか? 申し訳ありませんが、よろしかったら教えていただけると幸いです。 今後のために、もし4つ以上で選ばなければならないときは、どうしたら良いのでしょうか? 例、10未満のとき0,10以上100未満の時1、100以上1000未満の時2,1000以上の時3 など | |||
15094 | Re:何々以上 何々以下 | UG2 | 2002/02/08-22:57 |
記事番号15092へのコメント 幅田さんありがとうございました。 タイムラグで、質問になってしまいました。 申し訳ありません。 | |||
15095 | Re:何々以上 何々以下 | 幅田 | 2002/02/08-23:07 |
記事番号15094へのコメント UG2さん ちなみに、#条件選択の式で あえて、10以上100未満という式を書くなら #条件選択([A]>=10 .and [A]<100,1,1,2) といった書き方をしてください。 10以上100未満のときは 1 ですが それ以外(10未満のときや100以上のとき)の 結果は 2 になりますね。 | |||
15096 | Re:何々以上 何々以下 | UG2 | 2002/02/08-23:11 |
記事番号15095へのコメント 幅田さん どうもありがとうございました。 早速、試してみます。 | |||
15097 | 【補足】条件式と比較式 | 佐田 守弘 | 2002/02/08-23:15 |
記事番号15087へのコメント UG2さん 既に正解は出ておりますが、補足説明を致します。 この質問のポイントは、「条件式と比較式の違いをしっかり理解する事」に尽きます。 過去にも何回も述べておりますが、桐には、「計算式」「比較式」「条件式」の 3つの式があります。そしてこの3つの式は得られる値と使う場所が全く異なります。 詳しくは、私の以下のサイトに掲載してあります。 http://www.ne.jp/asahi/m.sada/kiri/KIRI5/EQUIV1.html 桐ver.5情報として掲載してありますが、桐ver.8でもそのまま通用します。 ここでは簡単に述べますと、 ・計算式:計算結果の値を得る式です。数値や文字列が得られます。 ・比較式:検索や絞り込みなどの比較対象値を指定する式です。 ・条件式:条件判断をするための論理値である真(1)、偽(0)を与える式です。 なお一般的な値は。ゼロと未定義値は偽(0)、それ以外は真(1)としてみなします。 ●「#条件選択」関数 この関数の奇数番目には条件式を指定します。左から順に条件式を評価し、 条件式が真(1)であれば、対応する計算式を関数の値として返します。 つまりここに記述できるのは条件式です。 ●範囲指定の比較式の書式 比較式には、範囲指定をする特殊な書式として、 10<=[A]<100 の様な記述書式があります。これは比較式だけに許される書式で、計算式と条件式には許されません。 今回の質問のポイントである式の記述のエラーは、ここにありました。 ●序でに >条件式 >#条件選択([A]<10,0,10<=[A]<100,1,[A]>=1000,2) と書かれていますが、この様な式は何式だか今までの説明で分かりましたか? これは条件式ではなく、計算式です。 佐田守弘(KS-00119) | |||
15099 | ありがとうございました | UG2 | 2002/02/09-18:58 |
記事番号15097へのコメント 佐田 守弘さん ありがとうございました。 大変為になりました。 | |||
15100 | 「1,2」の意味 | み | 2002/02/09-23:39 |
記事番号15093へのコメント UG2さん、こんばんは。 >また、100以上の時と選ぶ場合1となってますが、どういう意味でしょうか? この「1,2」は「(そこまでの条件式のどれかが正)以外は2」とお考え下さい。 「1」は実は条件式で意味は常に正ということですが・・・。 >例、10未満のとき0,10以上100未満の時1、100以上1000未満の時2,1000以上の時3 >など #条件選択([A]<10,0,[A]<100,1,[A]<1000,2,1,3) ですが、ややこしいのはメモ帳等のエディタで次のように書いて、 不要な改行とスペースを取ってからコピーして貼り付けたら楽ですよ。 #条件選択([A]<10,0 ,[A]<100,1 ,[A]<1000,2 ,1,3) |