• 締切済み

テーブルを基に指定の番号を不規則に抽出したいです。

EXECELのVLOOKUP関数は並び替えが必要だけど、並び替えなしに指定の番号を出す関数ありますか?

みんなの回答

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

#2です。 例データ A列  B列 a 東京 c 大阪 x ーー 検索表 E列  F列 a 東京 b 名古屋 c 大阪 ーーー B1には =IF(ISERROR(VLOOKUP(A1,$E$1:$F$3,2,FALSE)),"",VLOOKUP(A1,$E$1:$F$3,2,FALSE)) と入れて下方向に式を複写。 ==== AccessならSql文を使うでしょう。 テーブルの「生徒」が 氏名 県 大田 東京 上野 埼玉 目黒 埼玉 木下 千葉 山田 神奈川 木村 とあるとして(以下は匂いだけ) Sub test02() Dim db As DAO.Database Set db = CurrentDb Dim mySql As String mySql = "SELECT 氏名,県 From 生徒 WHERE 氏名= '木下';" Dim rs As DAO.Recordset Set rs = db.OpenRecordset(mySql) If rs.RecordCount = 0 Then MsgBox "なし" Do Until rs.EOF MsgBox rs.Fields("氏名") & " " & rs.Fields("県") rs.MoveNext Loop rs.Close Set rs = Nothing db.Close Set db = Nothing End Sub

nano926
質問者

お礼

ありがとうございました。 ACCESSも勉強中なのでまたご指導のほどよろしくお願いします

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

>VLOOKUP関数は並び替えが必要だけど・・・ 間違った断定を堂々とやらないでください。 第4引数がFALSを指定する型は、検索値の列でソートする必要なし。 ーー ただし問題なのは、>指定の番号を出す、という表現が質問者自身ではわかっていても、他にはわかりにくいので、FALSE型の利用が、この際適当かどうかいえません。 ーーー 他に機能的に似た関数でMATCH(INDEX関数の組み合わせ)関数というのもある。

nano926
質問者

お礼

すぐに回答をいただきありがとうございました。 少し教えていただきたいのですが、 1)該当がない時のエラーを空白にするにはどうすればよいですか? 2)テーブルの容量が大きくACCESSを使う時同じ関数のようなのありますか? 教えていただければありがたいです。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

>VLOOKUP関数は並び替えが必要 ⇒第4引数の「検索の型」がFALSE(完全一致)指定の場合、並び替えは不要ですのでお試し下さい。

nano926
質問者

お礼

質問がわかりづらいにも関わらず、ありがとうございました。 大変勉強になりました。

関連するQ&A

  • VBA 指定値に最も近い値のセルの行番号は?

    A列に数値が昇順で並んでます。指定の値に最も近い値が並んでるセルの行番号を知りたいのです。 WorksheetFunction.vlookupを使うと、値は分っても行番号はわからない筈です。 Cells.Find().Row を使うと、行番号はわかりますが「最も近い」値はわからない筈です。 マクロを組め!との御指摘があるかも知れませんが、便利な関数があるのならそれで済ませたいです。何かありませんか?無ければ諦めます。

  • ACCESSでEXCELのVOOKUP関数と同じ方法は?

    EXECELのVLOOKUP関数を教えてもらいましたがテーブルのサイズが大きい場合、ACCESSを使って処理 したいのですが、VLOOKUP関数と同じ機能はありますか? ない場合他の方法を教えていただければありがたいです。

  • VLOOKUP関数はなぜ範囲指定が必要なの?

    VLOOKUP関数はVLOOKUP(検索値,範囲,列番号,検索の型)という使い方です。 範囲という項目は、検索先の列を指定すればよいと思うのですが、なぜ範囲指定になっているのでしょうか? ”仕様です”という回答は不要です。 よろしくお願いします。

  • Excelの関数Vlookupの参照Tableの規則について質問

    質問1) Vlookup関数の検査値(引数)とテーブルの列番号で照合してデータを引いてくるのがこの関数ですが、 テーブル側の列番号は上から小さい順番に並び替える必要 あるのでしたか? 質問2)この列番号は 飛び番号でも 大丈夫?   例、、 1,2,3,8,12,15,16 質問3) また、この列番号は 英字入りでも よいのですよね?   例、 a1,a2,a3,a4,a5,b1,b2,b3,d1,d2,d3,,,,, 以上です

  • 【エクセル】 行番号を変数とする方法について

    下表のようなデータがあったとします。 A B C D 1 2 TEST 3 4 5 合計 100 6 <目的>ある文字列が含まれる行番号以下の範囲を指定して、VLOOKUP関数を使用。       ある文字列が含まれるセル行番号は、毎回異なる。 <具体例> 1) MATCH関数で、「TEST」という文字が含まれる行番号を取得     この場合「2」 2) VLOOKUP関数で VLOOKUP("合計",A2:D5,2false) というように   MATCH関数で得た行番号を他の関数に組み込みたいです。     どなたか、良い方法を教えて頂けないでしょうか? よろしくお願い致します。

  • VLOOKUP関数の範囲をセルで指定したいと思っています。

    VLOOKUP関数の範囲をセルで指定したいと思っています。 B1:参照シート名(VLOOKUP関数で使用する範囲があるシート) C2:範囲の開始位置 E2:範囲の終了位置 B3:G3:列番号(B3の値は、B6:B8の範囲で使用する列番号、 D3の値は、D6:D8の範囲で使用する列番号) これらのセルに入力された情報をもとにB6:G8の範囲にVLOOKUP関数を 反映させたいと思っています。 例えば、 B1に参照シート名「2ケタ」 C2にVLOOKUP関数の範囲の開始位置「A5」 E2にVLOOKUP関数の範囲の終了位置「G7」 B3に範囲の列番号「2」がある場合 B6に「=VLOOKUP(A6,'2ケタ'!A5:G7,2,0)の関数を入力。 B2に参照シート名「3ケタ」 C5にVLOOKUP関数の範囲の開始位置「B5」 E2にVLOOKUP関数の範囲の終了位置「H7」 C3に範囲の列番号「3」がある場合 C6に「=VLOOKUP(A6,'3ケタ'!B5:H7,3,0)の関数を入力。 といった感じです。 現在、B6に「=VLOOKUP($A6,INDIRECT($B$1&"!a5:g7"),INDIRECT("$b$3"),0)」と 関数を入力して、VLOOKUP関数の「範囲の参照シート名」と「列番号」の情報は セルから持ってくることができました。 しかし、「a5:g7」という範囲だけは、INDIRECT関数をうまく入れることができません。 どのように関数を入力したら、上手くいくのか、教えていただけないでしょうか。

  • エクセルで列番号を抽出したい

    エクセルで、VLOOKUP関数を使ってデーターの抽出をしたいのですが 列番号が一定ではない場合、COLUMNなど他の関数を組み合わせたいのですが どの様にすれば良いのか教えていただけないでしょうか? 例えば、 A1に「黄」の文字があり A2に「赤」 B2に「青」 C2に「黄」 D2に「緑」とある場合 A1の「黄」と同じ文字は何列目になるかを知りたいのですが、 この場合はC2に入力されているので 3と結果を出したいのです。 何か良い方法はありますでしょうか? 宜しくお願いいたします。

  • テーブルの場所を知りたい

    お世話になります。 excel2010を使用しています。 下記の形、「table_m:テーブルの名前」でVLOOKUP関数を 使用しています。 VLOOKUP(D5,table_m,2,FALSE) table_mは、どこの範囲を指定しているのか、どのようにすれば わかるのでしょうか? 何卒宜しくお願いします。

  • VLOOKUP関数の「検索値」を範囲で指定する

    エクセルのVLOOKUP関数で、通常は検索値は一意のものを指定しますが、範囲指定しているケースがありびっくりしてしまいました。これはどのようなことなのでしょうか?   A   B 1 品名  単価 2 もも  200 3 りんご 150 4 みかん 100 5 なし   80 とあり、   C   D  1 品名  単価 2 なし 3 もも 4 みかん C列に入れた検索値で、上の表から単価を検索する場合、 通常 =VLOOKUP(C2,$A$2:$B$5,2,FALSE)といった感じで D2のセルに打ち込み、D2のセルの場合は、「検索値はC2」と固定している思うのですが、 =VLOOKUP($C$2:$C$4,A2:B5,2,FALSE)でも 同じ結果になっています。もちろんこれをそのままD4までコピーしても求める通りの結果が出てきます。 検索値は、式においては必ずしも一意で指定する必要はないのでしょうか?

  • 指定番号は安くなる?

    電話番号を指定して、その番号だけは通話料が安くなるとかいうサービスはやってますか?

    • 締切済み
    • au

専門家に質問してみよう