| 2020/12/30(Wed) 13:57:38 編集(投稿者) 2020/12/30(Wed) 00:38:15 編集(投稿者)
> E項目の計算式に下記のように入力し「Aが定義済みで、Bが1の時にCを表示」させています。 > #条件選択([A]<>#U .and [B]=1,[C]) > > 「Aが定義済みで、Bが1の時にCを表示。だたし、Dが○の時、Dが△の時はCを表示させない」 > Dは、○と△の他には×や□なども文字として入力されています。
条件は次の4つ、
Aが定義済み → [A] <> #U Bが1 → [B] = 1 Dが○の時を除く → .not [D] = "○" → [D] <> "○" Dが△の時を除く → .not [D] = "△" → [D] <> "△"
値は、上の4条件をすべて( .and )満たす時、 [C] を返す。
#条件選択( [A] <> #U .and [B] = 1 .and .not [D] = "○" .and .not [D] = "△", [C] )
または、
#条件選択( [A] <> #U .and [B] = 1 .and [D] <> "○" .and [D] <> "△", [C] )
※論理の反転は、否定演算子 .not を用いるか、等しくないを表す <> 比較演算子 を用いますよ。
<追記>
#条件選択()関数の条件式はいろいろ考えられます。
> 「Aが定義済みで、Bが1の時にCを表示。だたし、Dが○の時、Dが△の時はCを表示させない」 ↑ この「ただし」をかつ(.and)と解釈すると、上に提示した条件式になります。 しかし、「ただし」を「独立した別条件」と解釈すると、以下の条件式になります。
> 【Dが○の時は空欄】、【Dが△の時は空欄】、【Aが定義済みでBが1の時にCを表示】
【条件式】 【値】 ※条件式と値はセット(一対)で指定します Dが○の時は空欄 → [D] = "○" #U
Dが△の時は空欄 → [D] = "△" #U
Aが定義済み → [A] <> #U かつ .and [C] Bが1 → [B] = 1
#条件選択( [D] = "○", #U, [D] = "△", #U, [A] <> #U .and [B] = 1, [C] )
<重要>
ちなみに、#条件選択( )関数では、どの条件も満たさない場合には、未定義値を返します。これがキモです。
p.s.
日本語は難しいです。論理では曖昧な「ただし」という言葉は普通使いませんよ。
論理では、かつ( .and )、または( .or )、否定( .not )という用語を使用しますよ。
|