ACCESS関数を使って複数条件の設定方法を教えてください

このQ&Aのポイント
  • ACCESSでA列、B列、C列に文字または空白があり、条件に応じて表示させたい場合、どのような関数を使用すれば良いのでしょうか。
  • ExcelにおけるIF関数のように、A列に文字があればその文字を表示し、A列が空白ならばB列の文字を表示し、さらにB列も空白ならばC列の文字を表示する方法を教えてください。
  • ACCESSでの複数条件の設定において、A列の文字が空白であり、かつB列も空白である場合にのみC列の文字を表示し、それ以外の場合はA列またはB列の文字を表示する方法を教えてください。
回答を見る
  • ベストアンサー

ACCESS 関数複数条件の設定を教えてください。

ACCESSで下記のようにしたいです。 Excelでいうと、A列、B列、C列があり A列、B列には文字または空白・C列には必ず文字が入っています。 A1に文字があれば、A1の文字を表示 A1が空白ならば、B1の文字を表示 B1も空白ならば、C1の文字を表示 としたいです。 Excelだったら下記のようにすればできました。 =IF(AND(A1="",B1=""),"Wkn-"&C1,IF(A1="",B1,A1)) ACCESSで下記のように書いてみましたが、A1が空白B1に文字がある場合のみB1が表示され他は全部空白になってしまいます。 IIF(IsNull([A1]) AND IsNull([B1]),[C1],IIF(IsNull([A1]),[B1],[A1])) どのように書けばいいのでしょうか。 教えてください。よろしくお願いします。

noname#203857
noname#203857

質問者が選んだベストアンサー

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

方法1 Iif関数を使用 =Iif([A1] Is Null,Iif([B1] Is Null,[C1],[B1]),[A1]) 方法2 Switch関数を使用  ※Switch(条件1,条件1が真の場合の内容,条件2,条件2が真の場合の内容・・・) =Switch([A1] Is Not Null,[A1],[B1] Is Not Null,[B1],True,[C1]) 方法3 Nz関数を使用   ※Nz([対象],対象がNullの場合に表示する内容) =Nz([A1],Nz([B1],[C1]))

noname#203857
質問者

お礼

ありがとうございます! =Switch([A1] Is Not Null,[A1],[B1] Is Not Null,[B1],True,[C1]) こちらで設定してうまくいきました!

その他の回答 (1)

回答No.2

> A1に文字があれば、A1の文字を表示 > A1が空白ならば、B1の文字を表示 > B1も空白ならば、C1の文字を表示 下記でどうですか。 IIf([A1]<>"",[A1], IIf([B1]<>"",[B1],[C1])) あるいは、 Switch([A1]<>"",[A1], [B1]<>"",[B1], True, [C1])

noname#203857
質問者

お礼

ありがとうございます! ベストアンサーは一つしか選べないので先着にさせていただきました。 申し訳ありません。 IIf([A1]<>"",[A1], IIf([B1]<>"",[B1],[C1])) こちらでもうまくできました。

関連するQ&A

  • 複数条件の関数を教えてください。

    表)  A B C 1 2 各セルには下記の情報しか入りません。 A1:空白、-、その他の値 B1:空白、-、その他の値 C1:プルダウンで(1)~(5)までのいずれかの値 ※その他の値には、「空白」、「-」、以外で「様々な文字列」が入ります。(ランダム) この場合で、A2のセルに下記の計算式を入れたいです。 A1、B1のいずれかにその他の値が入り、かつC1で(2)が選ばれていた場合には1を立てたい。 A1、B1が空白と-しかない場合には、空白にしたい。 A1、B1のいずれかにその他の値が入っても、C1が(2)ではない場合は空白にしたい。 この場合どのように設定すればいいのでしょうか。 当初は、A1、B1に入るのは「-、その他の値」のみで空白がなかったため下記の設定を していましたが、空白条件が増えたため設定方法がわかりません。 A2=if(OR(A<>"-",B<>"-"),IF(C1="(2)",1,""),"") よろしくお願いします。

  • ACCELのIIF関数の条件設定方法について

    ACCELのIIF関数で、空白のフィールドを条件に指定する方法を教えてください。 EXCELの場合なら、「=if(A1="",B1,C1)」というようにA1フィールドが空白の時は、B1の値をとるというようにしたいのです。

  • ACCESS IIF関数 複数条件の設定について

     選択クエリにおいて、あるフィールド「 X」 のレコード数値が     0<[X]<=50   であれば A    50<[X]<=100  であれば B    100<[X]<=150  であれば C  と表記させるフィールド「Y」を追加したいと考えています。  この場合、Yのフィールド設定で指定する数式についてご教授願います。  一応、   IIf(0<[X]<=50,"A","") Or IIf(50<[X]<=100,"B","") Or IIf(100<[X]<=150,"C","")   としましたが、実行すると、Yの列がすべて「-1」と表記されてしまいます。  何卒よろしくお願いいたします。

  • IF関数についておしえてください。

    お世話になります。 作成している表の中で、利用しようとおもっている関数について教えてください。 A1セルに下記のようなIF関数を作成しました。 =IF(AND(B2>=1,C2<=0),"○",IF(AND(C2>=1,B2<=0),"○",IF(AND(B2>=1,C2>=1),"○",IF(AND(B2<=1,C2<=1),"")))) B2セルは別シートからVLOOKUPを利用して検索してきて、数字を表示させているセルのため、 該当しない場合”#N/A”と 表示されるところがありました。それで、”=IF(ISERROR”を利用して、#N/Aと表示される場合、空白で表示される数式にしたところ、今度はA1セルが条件にあっていないのに”○”と表示されるようになりました。≪”B2=空白(”#N/A”),C2<=1の場合にあたるのだと思います。≫ *B2セルを”空白”ではなく”0”で表示させるようにしても同様に”○”となりました。 A1セルに、  B2>=1,C2<=0の場合”○”  C2>=1,B2<=0の場合”○”  B2>=1,C2>=1の場合”○”  B2<=1,C2<=1の場合"空白" で表示できる方法をご存じの方、ご教示お願いいたします。 簡単なことなのかもしれませんが、エクセル関数初心者のため、大変困っております。 うまく、不明な点を説明できていませんでしたら、申し訳ございません。何卒 よろしくお願いいたします。

  • 複数の条件を数える関数

    エクセルでたとえばA1からA10・B1からB10のセルにa1、A2、B1、B2、C1、C2等入力された文字を数える関数を教えてください(空白はカウントしない)。COUNTIFで挑戦しましたができませんでした。

  • 初歩的な関数なのですが、教えてください。

     A列 B列 C列 D列 E列 1               鶴    2 あ  鶴  あ 3 い  亀   4 う   5    鶴 6 う 7 え  鶴  え 8    亀 9 E1のセルに「鶴」(任意の文字)をいれます。 A列に文字が入っていて、かつ、B列の文字=E1の文字(鶴)ならA列の文字をC列に返す。 A列に文字が入っているが、B列の文字がE1の文字と異なる(亀)ならC列は空白。 A列に文字が入っているが、B列の文字が空白ならC列は空白。 A列が空白なら、B列に鶴、亀、その他の文字が入っていても空白。 A列、B列ともに空白なら、C列も空白 上記を可能にする関数がわかりません。 IF関数を使うのだと思うのですが。 エクセルの2003です。よろしくおねがいします。

  • EXCEL2003の複数条件でのデータ表示方法

    下記のような管理表があり次のような条件でデータを表示させたいと思っております。 ・A列が「1」のとき、B列が「有期契約」だった場合、「有」と表示                 「無期契約」だった場合、「無」と表示 ・Aが「空白」だった場合は、B列に「空白」を表示 ・Aが「*」だった場合は、B列に「空白」を表示 ・下記B列は3行一セットになってます(例:「有期契約」なら3行とも「有期契約」が表示されている) ・上記条件をふまえ、下記C列のように、B列3行を見たときにC列に一つだけ値を表示させたい。 とりあえず下記のような関数を作成してみましたが、B列から一つだけ表示させる方法が分からず お手上げです・・・ =IF(A2="","",IF(A2="*","",IF(A2="1",IF(B2="有期契約","有","無"),""))) 丸投げのようで申し訳ございませんが、皆様のお知恵を借りたく、よろしくご教示お願い致します。 A         B        C      契約種別  契約分類   ----------------------------------------------- 1       有期契約      有 2       有期契約 1       有期契約 ------------------------------------------------ 2       無期契約      無 2       無期契約 1       無期契約 ----------------------------------------------- 1       有期契約      有         有期契約 *       有期契約 ------------------------------------------------

  • Excelの関数を複数まとめて

    Excelの関数のまとめ方について質問させてください。 A列   B列        C列 1    10 2    11 3    12 1    10 1 11 3 空白値(値なし) A列が1で且つB列が10の場合はC列にaと表示 A列が1で且つB列が11の場合にはC列にbと表示 A列が3で且つB列が空白(スペース)の場合はC列にcと表示 条件に合致しない場合は、B列の値をそのまま表示 というような複数条件判定の関数を一列内に纏めて計算させる場合には どのようにすればよいのでしょうか? ご教授の程宜しくお願い致します。

  • セルの内容を合わせるエクセル関数

    お世話になります。 エクセルの関数にて、下記条件を満たす関数が作れないので 分かる方がいましたら教えてください。 A列には文字列が、B列には空白か1の数字がランダムに(1番上の行は必ず空白セル)入力されています。 これに対して、B列に空白から1が続いているセルまでをひとくくりとして、 右側のセルに表示させたいです。 画像では C2セル=A2 C3セル=IF(B3=1,C2&A3,A3)としてC4セル以降にコピペ D2セル=IF(B2="",C2,"")としてD3セル以降にコピペしていますが、 C列でひとくくりになるセルが下へ行ってしまい、 希望する結果に表示されないです。 関数が組める方がいましたらご伝授頂けますでしょうか。

  • Excel2007 複数列に対する抽出条件の設定

    Excel2007を使用しています。 下記のような抽出をVBAで行いたいのですが、条件の指定方法が分からず困っています。 ご存知の方がいらっしゃいましたら、ご教授願います。 A列 B列 C列 D列 1   あ  22 2   い      全 3   う   21  部分 4   え   22 5   お   6   か   23  部分 7   き   22 8   く    21  全 9   け 10  た   22  部分 11  ち ↓↓↓↓↓↓ A列 B列 C列 D列 1   あ  22 2   い      全 3   う   21  部分 4   え   22 6   か   23  部分 7   き   22 8   く    21  全 10  た   22  部分 【やりたい事】 C列が空白かつD列が空白の行を削除したい。 ※A列B列は連番や続いた文字が入っているのではないのですが、便宜上こう書きました。 ※C列には数値、D列には文字列が入っています。 宜しくお願い致します。

専門家に質問してみよう