• 締切済み

IIF関数について教えてください。

外注先Noが101の場合のみ支払い金額に消費税が計算されないよう関数が下記のようになっています。これをNoが140の外注先も消費税が計算されないようにしたいのですが どのようにすると良いでしょうか?教えてください。 IIF([T 外注]![外注先 No]=101,[T 外注]![支払金額],Int([T 外注]![支払金額]*1.05))

みんなの回答

noname#79209
noname#79209
回答No.6

今後も消費税計算を除外する外注先が増えることも考えられます。 外注先のマスターに消費税計算の有無を示す「Yes/No型」フィールドを追加し、 [T 外注]![支払金額]*IIF([T 外注]![消費税計算],1.05,1) などとすべきです。 また、消費税も上がると言われているので、「1.05」と固定値を入れるより、 消費税率を取得するユーザー定義関数を作っておけば、税率が変わったらそこだけ直せば良いように 今から準備しておくことをお勧めします。 [T 外注]![支払金額]*IIF([T 外注]![消費税計算],fncGetTaxRate(),1) など...

noname#140971
noname#140971
回答No.5

補足: 老婆心ながら、関数内に特定の外注先Noを埋め込むのは厳禁の作法かと・・・。

noname#140971
noname#140971
回答No.4

Private Sub コマンド0_Click()   Me.消費税額 = IIf([外注先No] = 101 Or [外注先No] = 104, 1000, Int(1000 * CCur(1.05))) End Sub Or で! Private Sub コマンド1_Click()   Me.消費税額 = Int(1000 * CCur(1 - 0.05 * ([外注先No] <> 101 And [外注先No] <> 104))) End Sub IIF を使わない手もあります。

  • S-Fuji
  • ベストアンサー率36% (592/1624)
回答No.3

IF(OR([T 外注]![外注先 No]=101,[T 外注]![外注先 No]=140),[T 外注]![支払金額],Int([T 外注]![支払金額]*1.05)) IFの判断にOR関数を入れる。

  • dontracy
  • ベストアンサー率29% (134/460)
回答No.2

IF関数の「論理式」にOR関数をネストして条件を [T 外注]![外注先 No]=101と [T 外注]![外注先 No]=140の2つにします。 ふたたびIF関数に戻りOKをクリックしてできると思います。

  • assault852
  • ベストアンサー率48% (1364/2797)
回答No.1

IF([T 外注]![外注先 No]=101,[T 外注]![支払金額],IF([T 外注]![外注先 No]=140,[T 外注]![支払金額],Int([T 外注]![支払金額]*1.05))) でしょうか。

関連するQ&A