教えて!HELPDESK      Excel     Word      Outlook      Power Point      Windows

 

 

Word差し込み印刷:IFフィールドで複数条件を使う(AND、OR条件)

 

 

 

 


 

 

 


 

 

 

 

 

差し込み印刷でIFフィールドを使って処理を分ける場合に、複数条件(AND,OR)を設定する方法をご紹介します。次の3つの方法があります。

  • AND関数・OR関数を使う方法(条件は2つまで)

  • IFフィールドにIFフィールドをネストする方法

  • Compareフィールドを使った方法


■方法1:AND関数・OR関数を使う方法(条件は2つまで)

 ■ AND関数を使う  {=AND(x,y)} ■

 

例:「英語」も「数学」も80点以上なら【合格】そうでなければ【不合格】と表示

IF  {=and({ MERGEFIELD 英語 }  >= 80, { MERGEFIELD 数学 }  >= 80)} = 1  "合格"  "不合格" }

 

And関数は2つの条件がTrueの場合に1を返すため、Ifフィールドで=1なら…の条件式を作成できます。

 ■ OR関数 {=OR(x,y)} ■

 

例:「英語」か「数学」が80点以上なら【合格】そうでなければ【不合格】と表示したい

IF  {=or({ MERGEFIELD 英語 }  >= 80, { MERGEFIELD 数学 }  >= 80)} = 1  "合格"  "不合格" }

 

Or関数はどちらか1つの条件がTrueの場合に1を返すため、Ifフィールドで=1なら…の条件式を作成できます。

 

■方法2:IFフィールドにIFフィールドをネストする

 ■ AND条件 ■

 

例:「英語」も「数学」も80点以上なら【合格】そうでなければ【不合格】と表示

 

◎ 1つ目の条件をクリアした場合(True)、2つ目の条件を検証するようにします。(1つ目の条件・2つ目の条件ともにクリアできなければ不合格)

IF  { MERGEFIELD 英語 }  >= 80  IF  { MERGEFIELD 数学 }  >= 80  "合格"  "不合格" } "不合格" }

 ■ OR条件 ■

 

例:「英語」か「数学」が80点以上なら【合格】そうでなければ【不合格】と表示したい

 

◎ OR条件なので1つ目の条件をクリアしたら【合格】で終了、クリアしなかったら(False)2つ目の条件を記述します。

IF  { MERGEFIELD 英語 }  >= 80 "合格"  IF  { MERGEFIELD 数学 }  >= 80  "合格"  "不合格" } }

 

 

■ 方法3:IFフィールドとCompareフィールド を使う(3つ以上の条件OK)

Compareフィールドは演算子(> < >= <= <> = )を使って値を比較し、結果がTrueなら1Falseなら0を返します。 そのためTrueの合計数を利用して条件を作成できます。AND条件なら合計が○なら…(全て合致)OR条件なら合計が1以上なら…(いずれか合致) とするわけです。

{ Compare { MERGEFIELD 英語 }  >= 80  }

→ True(80点以上)なら結果は「1」、 False(80点未満)なら結果は「0」

 

  ■ 3つ以上のAND条件を指定したい ■

 

CompareフィールドはTrueなら1を返すので、これの合計数を条件にすれば3つ以上のAND条件を作成できます。(重要:AND関数・OR関数の引数は2つまでなので3つ以上には使えない) 3つ以上のAND/OR条件についてはこちらでも詳しく解説しています。

 

例:「英語」 も「数学」も「国語」も80点以上なら【合格】そうでなければ【不合格】と表示

 

IF {= {Compare {MERGEFIELD 英語 }  >= 80}  +  {Compare {MERGEFIELD 数学} >= 80} + {Compare {MERGEFIELD 国語} >= 80}=3   "合格"  "不合格" }

 

 

  ■ 3つ以上のOR条件を指定したい ■

 

CompareフィールドはTrueなら1を返すので、これを合計して1以上であればいづれかに合致したかどうかが分かります。

 

例:「英語」「数学」 「国語」のいづれかが80点以上なら【合格】そうでなければ【不合格】と表示

 

IF {= {Compare {MERGEFIELD 英語 }  >= 80}  +  {Compare {MERGEFIELD 数学} >= 80} + {Compare {MERGEFIELD 国語} >= 80}>=1   "合格"  "不合格" }

 

 

【応用】AND条件とOR条件が混ざった場合も対応できます。

 

例:6歳以下または65歳以上で(←OR条件)区内在住なら(← AND条件)無料

( OR関数でTrueなら1、区内在住でTrueなら1、合計2なら無料)

 

  { IF { =  {=OR( {Compare {MERGEFIELD 年齢}  <= 6} , {Compare  {MERGEFIELD 年齢} >=  65} )}  +  {Compare  {MERGEFIELD 在住} = "区内" }} = 2  "無料"  "有料" }

 

 

教えて!HELPDESK      Excel     Word      Outlook      Power Point      Windows