• ベストアンサー

エクセルの関数を使った検索について

エクセルで、例えばA,Bの2列を検索して、 A列、B列共に、指定した検索値(例:A=海外旅行、 B=ベトナム)に合致している行のC列の値(例:\50,000)を取り出したいのです。 自分で数日間、考えてみたのですが、 どうしてもわかりませんでしたので、 どなたか詳しい方にお頼りさせて頂きたく思います。 もし、おわかりの方、いらっしゃいました、 どうか御教え下さい。 何卒宜しく御願い致します。

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

  • ベストアンサー
回答No.2

一番簡単なのは、非表示な列CにA列とB列を連結した文字列を格納し ておいて、価格をD列に移動することですね。そうすれば検索文字列 を「Aの検索値&Bの検索値」として普通にvlookup関数が使えます。

suppy817
質問者

お礼

御礼が遅くなりました。 連結文字列と聞いたとき、目からうろこでした! スゴイ裏ワザですよね! 発送がすばらしいと感心しました。 vlookupでは無理だと諦めてましたが、 発送を変えれば、できるんですねぇ 参考にさせて頂きますね。 本当にありがとうございました

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

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

#1のご回答の方式を使った説明になりますが (データ)A1:C6に a x 1 b y 2 c z 3 d u 4 e s 5 c z 6 (関数式) D1に=IF(AND(A1="c",B1="z"),A1,"") E1に=IF(AND(A1="c",B1="z"),B1,"") F1に=IF(AND(A1="c",B1="z"),C1,"") といれ、D2からD6、E2からE6、F2からF6へ複写します。 (D2:f2) c z 3 (D6:F6)c z 6 となります。 (D1に=IF(AND($A1="c",$B1="z"),A1,"")と入れて横次ぎに縦に複写すると幾らか早いです) ここまでは「なーんだ」ですが、 問題は第1行から詰めて、セットできていないことです。これがVBAなら出来て関数では難しい点です。やれなくも 無いようですが、今までの回答には無かったと思います。 あとは一発では出来ないと妥協をして、D1:F6を自己の範囲に値のみ複写して、(すると式は消えます)そこでソートする手があります。 その際昇順降順の問題があり、空白が上に行ったり、下に 集まったり、上の空白部を削除する必要もあります。連番を付け加えソートすると元の表での上下順序を保存できます。

suppy817
質問者

お礼

御礼が遅れまして、本当にすみません。 詳しい説明を頂いて、本当にありがとう ございました。 良く読み込んで、実践してみますね! お忙しいところ時間をとって すみませんでした。

全文を見る
すると、全ての回答が全文表示されます。
  • ka3
  • ベストアンサー率18% (36/194)
回答No.1

 次の様な式では如何でしょうか ? [ =IF(AND(An="海外旅行",Bn="ベトナム"),Cn) ]  なお、合致しない場合の表示を指定頂く必要があります。

suppy817
質問者

お礼

御礼が遅くなりすみません。 関数は定型を覚えるだけではやっぱりだめですね! 実際の運用力が必要なのだとわかりました。 教えていただいた式を眺めながら、そうか、 こんな簡易な式でできるのねと 感心しました。 お忙しいところありがとうございました

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excel検索等関数

    Excelのデータで同じ列の中に番号が重複している値を探し出しなおかつ任意の行数に出す関数はありますか? Sheet1   |Sheet2   A  B |   A  B        1 あ 10 | 1 あ  10 2 あ 11 | 2 あ  11 3 い 21 | 3 い  21 4 う 22 | 4      ←A4:b4は、「い」が2行ないので空白        | 5 う  22        | 6      ←A6:b6も、「う」2行ないので空白 このように、縦の重複したセルを検索して、指定行数内の場合は、空白となる関数式があればお教えください。

  • エクセル関数を使って検索したいです。

    やりたいことは以下の通りです。 Sheet1~Sheet15が存在します。Sheet2~Sheet15には3列で行がそれぞれ異なる表があります。例えばSheet1は5行3列、Sheet2は10行3列、Sheet4は30行3列のように。ちなみにこれらの表は行が追加されていきます。 Sheet1にも同様に3列の表があるのですが、Sheet1のB列(2行目)に、式を作りたいです。 どんな式かと言うと、Sheet1のA列(1行目)に値を入れると、それと同じ値を、Sheet2~Sheet15のA列(1行目)と同じものを探し、そのSheetのB列(2行目)の値を返すというようにしたいです。 VLOOKUPを使うといいかと思うのですが、Sheetを14個もまたいで検索したい時にIFで作るとエクセル2003なので入れ子が7個以上になってしまいうまくいきません。 ちなみに、Sheet1に入力する値はAAA1やBBB2の様にアルファベットと数字の組み合わせです。 よって、例えばSheet2のA列にはAAA1、AAA2、AAA3、AAA4の様に、Sheet2のA列にはBBB1、BBB2、BBB3、BBB4の要に入力された状態になっています。 どなたかうまく切り抜ける方法を教えてください。

  • Excel VBAによる検索処理?

    Excelで以下の例のように、A列・B列に入力されているとします。A列を検索して、C列にB列の値を返す式を考えてますが、さっぱりわかりません。VBAとかも正直素人ですが、サンプルもしくは考え方を教えていただければと思います。以下の処理内容です。 ・AXセルが「B」であった場合、次のセル(A(X+1))を検索し、次が空白になるまで検索し、空白になる前の最後の行のB列の値をCXセルに返す。該当しない場合は空白のまま 下記の例ですと3行目、8行目のB列の値を2・3、6-8行目のC列のセルに返すことになります。よろしくお願いいたします。 (処理前) ___A__B__C ------------- 1 2__B__2 3__B__3 4______4 5______5 6__B__6 7__B__7 8__B__8 9______9 (処理後) ___A__B__C ------------- 1 2__B__2__3 3__B__3__3 4______4 5______5 6__B__6__8 7__B__7__8 8__B__8__8 9______9

  • Excelの関数で

    お願いします。 Index関数とMatch関数を使用して表の中の値を求めようとしましたが、 検索行が複数あるため、うまくいきません。 検索する列は1列(a,b,c)ですが、検索行(あ、い、う~)が複数になっています。 更に空白もあります。 こんな感じ↓です。 ---------------------   あ  い   う   え      お   か ---------------------    a  10  20  30 b  40  50  60 c  70  80  90 --------------------- こういった場合にはどんな関数を使って一致する値を求めたら良いのでしょうか? 大変困っております。よろしくお願いします。

  • エクセル関数の検索について

    エクセルの関数についてご教授下さい。 以下のように文字列が記入されています。 (列A) りんご a b c (w) (k) ! みかん u b c (w) (k) ! ○”りんご”の行から”!”の行までを検索して、文字列”a”があるかを確認したい ○”みかん”の行から”!”の行までを検索して、文字列”a”があるかを確認したい ○()で記載している文字列は場合によって記入されているため、毎回同じ行数ではない このような条件がある時に、関数で要件を満たす事はできますでしょうか? イメージ的には、以下のようにできればと思ってます。 1.A列全体から”りんご”を検索 2.”りんご”行から下の”!”までの間で”a”があるかを確認 3.A列全体から”みかん”を検索 4.”みかん”行から下の”!”までの間で”a”があるかを確認 もしくは 1.A列全体から”りんご”を検索 2.”りんご”行から下で、”a”があるかを確認 3.A列全体から”みかん”を検索 4.”みかん”行から下で、”a”があるかを確認 このような感じで作れますでしょうか? よろしくお願いいたします。

  • エクセル関数

    お世話になります 条件での検索で値の範囲指定が有る場合、の式を教えていただけないでしょうか ・エクセルファイルは検索する値のファイルと検索条件のファイルに分かれています    以降ファイルA/ファイルBと記載します ・ファイルBのC列の得点をファイルAのA列以上B列未満で行が決まります ・ファイルBのB列の人数からファイルAのC~F列が決まります ・上記条件を満たす行列の値をファイルBの検索条件の右側に抽出して表示したいです 検索するテーブル(ファイルA) A B C D E F 以上 未満 0人 1人 2人 3人 392,000 395,000 15,690 12,520 9,350 7,160 395,000 398,000 15,930 12,760 9,590 7,280 398,000 401,000 16,170 13,000 9,830 7,400 401,000 404,000 16,410 13,240 10,070 7,520 検索条件(ファイルB) A B C D 名前 人数 得点 求めた値 A氏 1   395,010 X B氏 0   401,100 Y C氏 0   392,009 Z よろしくお願いいたします

  • EXCELの行列検索をおこなう関数

    EXCELに関する質問です。 条件で特定行・特定列を検索し、その値を取得する関数はありますでしょうか? たとえば、下の票で「え行」・「D列」を指定して、「8」という値をとってくる関数です。  ABCDE あ00012 い34500 う01004 え02080 お00000 基本的なことかもしれませんがご存知の方おられましたらご教授よろしくお願いいたします。

  • エクセルで複数の条件に合致したセルを検索する方法

    いつもお世話になります。 以下のようなセルがあり、 1列目と2列目の値が合致した時の3列目のセル(例えば1列目が「a」で2列目が「2」の行の3列目の値「hh」)を別のシートに表示したいです。 VLOOKUPで検索すると、1列目の値のみが検索対象となってしまいますので、 そのやり方だと「gg」が表示されてしまいます。 関数の組み合わせでうまく値を検索・表示する方法はありますでしょうか a 1 gg a 2 hh a 3 ii a 4 jj a 5 kk a 6 ll a 7 mm b 1 oo b 2 pp b 3 pp b 4 rr b 5 ss b 6 tt b 7 uu よろしくお願いいたします。

  • エクセル関数をもちいてセルを検索するには?

    お世話になります。 早速ですが、以下のようなデータがあるとします。     A    B    C 1   1    100 2   0    200 3   1    10 4   1    20 5   0    30 6   0    300 7   0    10 8   1    30 9   0    5 10  0    10 A列には0か1が、B列にはランダムな数字が並んでいるとします。 これに対し、C列にはA列の0の数を数えて、仮に5個目のB列の値を返したいです。 C1ならA1から0の数を数えて5個目、つまりB9(300)の値を返したい。 C2ならA2から0の値を数えて5個目、同じくB9(300)の値、 C3ならC3から0の値を数えて5個目、つまりB10(10)の値を返したい。 最終的には5個めではなく、任意の数字にしたいのですが、 このような値を返すにはどのような関数をもちいたらよろしいでしょうか? COUNTIFやINDEXでできるのではと思いましたが、 カウント数が指定数を満足させる条件がわからず行き詰りました。 どうかご指導お願いいたします。

  • エクセル関数について

    エクセルの関数についてご教授下さい。 以下のように値が入力されております。 行 A B 1 あ か 2   き 3   く 4   け 5 い こ 6   さ 7   し 8 う す (要件)列Aに文字列がある場合に、その右隣の列の値を抜き取る この場合、か・こ・す を抜き取る ※文字は決まった行・列に入力されていません。 ”あ”はA2だったり、A100だったり。”い”もA10だったりA1000だったり。 また、文字も決まってるわけではありません。 ”あ”が”た”であったり、”い”が”ち”であったり。 そのため、”あ”を固定して検索するなどはできなさそうなので、列Aに値があれば、右隣の値を抜き取る。それを値がある分繰り返す方法で行いたいと思いました。 こちらを関数のみを使用して行いたいです。 以上、説明が下手で分かりづらいかも知れませんが、よろしくお願いいたします。

専門家に質問してみよう