• ベストアンサー

VLOOKUPで?

 エクセルのVLOOKUPでマイナスは出来ないのですか? 何がしたいかというと、一番左ではなく真中をキーにして一番左を検索する方法は無いのですか? Aにコード Bに名前 Cに電話番号 と入っていた場合 コードから 名前 電話番号は検索できますが 電話番号をキーにしたい場合はどうすればいいのですか Dにコードを入れるしかないのでしょうか? ちなみにエクセルでしたいのです・・・(アクセスだと出来るはずだが・・・・)

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

  • ベストアンサー
  • kimrin
  • ベストアンサー率22% (4/18)
回答No.1

こんにちは!kennta111さん。 VLOOKUPではないですが、ヘタな関数で良ければ。 Aにコード Bに名前 Cに電話番号 でデータが2行目からと言う事で。 D1に電話番号(検索キー)を入力、E1に検索結果を表示。 仮にデータ行は6件とする。 E1に入れる関数 =OFFSET($C$2,MATCH($D$1,$C$2:$C$7)-1,-1) 以上

kennta111
質問者

お礼

回答 ありがとうございます すこしややこしいですね・・・・ アクセスのほうが簡単な気が・・・ エクセルでもしたかったのですがアクセスのほうがらくかな・・・・

その他の回答 (3)

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.4

A列:コード、 B列:名前、 C列:電話番号。 2行目から16行目までデータがあるとします。 D2に照合したい電話番号があるとします。   対応するコード: =INDEX(A2:A16,MATCH(D2,C2:C16,0),1)   対応する名前 : =INDEX(B2:B16,MATCH(D2,C2:C16,0),1) MATCHの照合の型を『0』にして、電話番号をソートしていない状態を想定しています。 後はINDEXで取り出しています。VLookUpと同じ意味合いだと思います。 参考にデータが増えた時に変更しなくてもいい算式を作ってみました。 上の『16行目までデータがあるとします』の前提をなくした算式です。 コード: =INDEX(INDIRECT("A2:A"&MATCH("",A:A,-1)),MATCH(D2,INDIRECT("C2:C"&MATCH("",A:A,-1)),0),1) 名前も同様です。表のデータ数がどんどん増えるような場合は有効です。 INDIRECTで対象セル範囲を定義しているわけです。VBAでの『Range("A1").End(xlDown).Row』で最終行を定義する方法を関数に使ってみました。 当然、VLookUpにも使えます。ご参考に。

kennta111
質問者

お礼

回答 ありがとうございます

  • comv
  • ベストアンサー率52% (322/612)
回答No.3

こんばんは! VLOOKUP()では無理です。 既にkimrinさんが記載された 同様の検索機能を持つ MATCH()関数で検索列の対象位置(何番目)を探し出して、 INDEX()関数にて抽出列からその位置の値を抽出するのが 簡単かもしれません! =INDEX(コードの範囲,MATCH(検索値,電話番号範囲,0)) で試してみて下さい!

kennta111
質問者

お礼

回答 ありがとうございます

  • 468
  • ベストアンサー率50% (11/22)
回答No.2

こんにちは。 たぶんVLOOKUPとかHLOOKUPは表から拾い出すので 左端とか上端が項目になっていないといけないのでは? と思うのですが。 (この項目の何列または何行目のものを拾ってくるという関数なので) なので例えばA列を電話番号にして B列にコード C列に名前 と入力しておくと電話番号からでも拾えますが・・・。 順番を変えれない場合は別の関数を使う方が早いかもしれないですね。 あまりお役にたてる答えでなくて申し訳ないです。

kennta111
質問者

お礼

回答 ありがとうございます

関連するQ&A

  • Vlookupの使い方

    下記のような写真の図でVlookupは使えるのでしょうか? たとえば 検索列が一番左になく、vlookupで文字が一致した場合、その列より左にある列の文字を返すというのは可能なのでしょうか? たとえば   A B     C D No 順位  名前  売上 1   4   佐藤  5 2   3   加藤   6 3   2   木村   7 4   1   小暮   8 名前でVlookupで一致した人の順位を表示する、などできるのでしょうか? 教えてください。 下記のエクセル図でどのようにすればいいでしょう? 施設名で検索し、一致した施設のNoや順位の列を表示することは可能でしょうか? Vlookupで無理な場合、何かやりかたがあるでしょうか? 教えてください

  • vlookup範囲の左側をピックするには

    例えば、vlookup(検索値,範囲,列番号,FALSE)で、検索値と範囲の左端が紐付けられますよね、返したい値が範囲の左端より更に左、つまり列番号がマイナスになってしまうようなことをしたい場合、どのような関数でできるでしょうか?vlookupでは難しいと思うのですが。アドバイス願います。

  • VLOOKUP関数について教えて下さい

    Excel97を使用しています。 VLOOKUP関数を使って二つのデータを照合したいのですが、 A    B     C    D    E        コード|内容 |    |コード |内容 | 0001 |ああ |ああ  |0001  |ああ | 0002 |ああ |    |0002  |   | 0003 |   |    0|0003  |   | D,E列の範囲からA列のコードを検索かけたいのですが、 =VLOOKUP(A2,ひかく,2,0)        ↑       D,E列 だと内容欄に空欄が入っていると0になってしまいます。 0でなく空欄にしたい場合はどうしたらよいのでしょうか?

  • VLOOKUPでお願いします

    VLOOKUPは初めてです。 (シートA)     A       B     C  1  コードNO.   名前   電話番号 2  0011112    佐藤   1111-3333 3  0022222    鈴木   1234-5544 4  1155444    山田   5566-1133 5  0333777    山下   8877-4477 (シートB)     A       B     C  1  コードNO.   名前   電話番号 2  0022222     3  0333777    シートAが元データです。 シートBのA列に他からコピーしたコードNO.を貼り付けると自動的に シートAからに該当する名前と電話番号をシートBのB列C列に表示させる。 どうか宜しくお願いいたします。

  • ACCESSにて、EXCELみたいにVLOOKUP

    ACCESS2007にて、EXCELに近いイメージ操作でVLOOKUP関数機能を使うには、どのようにしたら宜しいでしょうか? ・フィールド構成(テーブル1,2共通) ID、会社名、電話番号、住所、業種 テーブル1の電話番号フィールドをキーにして、テーブル2に同一電話番号が有ったら、 テーブル1の業種データをテーブル2の空欄の業種フィールドに引用したい と言う様な機能リクエストです。 簡単に出来る方法有りますでしょうか?

  • ExcelのVlookupでアクセスを参照したい

    質問があります。 掲題の通りですが、ExcelのVlookupでACCESSのクエリを参照してレコードを取得したいです。 今まで、ACCESSのクエリをExcelにエクスポートして、それをExcelでVlookupで持ってきていました。それを、Accessから直接Vlookupでもってきたいです。 ADO+VBAでやるだろうとは理解していますが、どうも難しくわからないです・・・。コードの記述を含めてやり方を教授して頂けると幸いです。 画像をアップロードしたのでよろしくお願いいたします。 画像のA1-D5がExcelで、下のテーブルはACCESSのものです。 ACCESSのテーブルをExcelのシートにコピペしてVlookupすれば良いのですが、後学のため、それと応用を利かすためにAccessのクエリを直接参照してデータを取得する方法を知りたいです。 よろしくお願いいたします。 それと、もし、その他オフィスの項目で聞くべきでしたら教えて頂ければ幸いです。 よろしくお願いいたします。

  • エクセル2000で2列にわたるVLOOKUPをしたいとき

    名前■■電話番号■■■■顧客コード 田中■00-0000-0000■■■00-3256 山本■03-3225-5898■■■00-3698 こんな感じの表があります。約13000行(表1) で一方で電話番号と顧客コードが同一の列にはいっている表があります。 03-9858-5656■東京 03-6598-8574■大阪 02-6985■■■■名古屋 02-3698■■■■仙台 (表2) これは約2000行あります。 で表1において、最初に電話番号を表2からVLOOKUPで表引き、 もしその値がなければ顧客コードで再度表2からVLOOKUPで表引 きしたいと思っています。 この際にはどんな関数をかけばよいのでしょうか?

  • vlookup

    Excel関数であるVLOOKUPについて vlookupの構文は、 (検索キー, 範囲, 番号, [並べ替え済み])です。 質問は、次の説明についてです。 並べ替え済みを TRUE に指定するか省略し、範囲の先頭列が並べ替え順でない場合、間違った値が返されることがあります。 これ(間違った値が返される場合)は、どのような場合なのでしょうか? 検索対象の列(指定した範囲の先頭列)が並べ替え済みにすることが必須なのでしょうか? 初心者で恐縮ですが、よろしくお願いします。

  • エクセルのVLOOKUPについて

    VLOOKUP関数について VLOOKUP関数の使用方法は  VLOOKUP(検索キー、範囲、列数、検索の型) である  多くのWEBの使用例では検索キーで検索するのは「範囲」の第1列であり、  返す列の値は2列以降という例ばかりである。  このとき、検索キーで「範囲」の第2列を検索して、  「範囲」の第1列の値を返すようにできるか、という質問です。 なおエクセルの版数は2000です。 よろしく、お願いします。 以上

  • VLOOKUPについて

    エクセルでVLOOKUP関数を使うときに検索値を入力するのですが、これって(A1)みたいなセルの番号を入力するとエラーがでるものなのですか?0のような数字を直接入力すると検索できるのですがセルの番号を入力するとエラーがでます。原因がわかるようでしたら教えてください。お願いします。

専門家に質問してみよう