• ベストアンサー

エクセルで複数条件時に値を表示したい。

表題の質問をさせていただきます。よろしくお願いいたします。 A列にはプルダウンリストから選ぶ項目で「入金 送料」・「入金 交通費」・「入金 お茶代」…などが、10個ほどあります。 B列は金額欄になり いろいろな金額が入力されます。 C列は備考欄で A列で選択したリストの内容を入力します。 たとえば「入金 送料」なら切手なのか宅配便なのかを入力します。 そこで、質問させていただきたいのは A列で「入金 送料」を選んだ場合で B列に80円か130円(入力は80と130)の時は「切手代」 550円か650円(入力は550か650)の時は「宅配便」と 備考欄であるC列に自動で表示させることはできないでしょうか。 いろいろと調べたのですが 複数条件からの合計数やカウント数 セルへの色づけなどは見つけられたのですが今件のような質問が見つけられませんでした。 よろしくお願いいたします。

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

  • ベストアンサー
  • hirumin
  • ベストアンサー率29% (705/2376)
回答No.1

単純に作ってみました。 1行目に入力があるとして {C1] = IF(A1="入金 送料",IF(OR(B1=80,B1=130),"切手代",IF(OR(B1=550,B1=650),"宅配便","")),"") [A1]が「入金 送料」なら↓へ 違うなら何も表示しない("")。 もし[B1]が50もしくは130ならば、「切手代」と表示、そうでなければ↓へ。 もし[B1]が550もしくは650ならば、「宅配便切手代」と表示、そうでなければ何も表示しない("")。 …こういう流れになります。

Haku46
質問者

お礼

ご回答いただきありがとうございます。 さっそく試したところ、質問した内容にズバリでした。 まさに思ってたとおりの動きです。 本当にありがとうございました。感謝です。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

以下は1つ2つ3つぐらいの場合しかない、IF関数でやれる場合は念頭にありません。 ーー エクセル関数では難題でしょう。 だが便宜的な方法は 例えばA列 XXX,B列 YYYの時に、C列に ZZZを出すような(且つ多数行がある場合は、)VLOOKUPででも工夫するよりほか無いでしょう。 それもA列、B列の多様性で自動でこの仕組み(検索テーブル)が増えていくなどは出来ない。 VBAででもプログラムを組まないとダメでしょう。 VBAプログラムでも、2列を対象にした、検索は、全行総当りで探すなら別ですが難しいものです 。 ーーー 準備 検索表ーーF,G,I列は手作業で自作すること。 H列は後述の関数の結果。 F列  G列  H列   I列 aaa bb aaa bb x bbb ccc bbb ccc y cc dd cc dd z H列のH2は =F2&REPT(" ",10-LEN(F2))&G2&REPT(" ",10-LEN(G2)) 普通は=F2&G2 でよいと思うが、厳密には各列定桁ぞろえ結合がよい。 (理由は考えてみてください) ーーー 入力 A列、B列は入力。C列は関数の結果。 A列  B列  C列 bbb ccc y aaa bb x cc dd z #N/A #N/A C列C2には =VLOOKUP(A2&REPT(" ",10-LEN(A2))&B2&REPT(" ",10-LEN(B2)),$H$1:$I$10,2,FALSE) 式を(入力以前に)複写しておく。#N/Aを出さないためには =IF(AND(A2="",B2=""),"",上記式) A2&REPT(" ",10-LEN(A2))&B2&REPT(" ",10-LEN(B2)),の部分は 普通はA2&B2 でよいでしょう。 ーー 2条件(2列項目)一致抜き出しなどの関数による解決は、WEBで imogasi方式で照会すれば、その中のどれかの回答で、むつかしい式で 回答が出ているかもしれません。

Haku46
質問者

お礼

お返事いただきありがとうございます。 初めて質問させていただいたのですが、すぐに回答を2つもいただき驚いております。 今回はお一人目の方の回答を参考にさせていただく形になりますが、今後ともご教授よろしくお願いいたします。 丁寧なお返事ありがとうございます。大感謝です。

関連するQ&A