• ベストアンサー

Vlookup検索方法

顧客情報のテーブルから、別Sheetにあるメールアドレスと一致する行を削除するために、vlookupを使おうと何度か試していますがうまくいきません。 顧客情報のテーブルの中で、列を挿入して、一致するメールアドレスの行を検索して削除する方法を教えてください。 よろしくお願いします。

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

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

B列に表示したいのは、C列の同じ行のメールアドレスがA列にあるか否かなのではないですか? だとしたら、B列には、 =(COUNTIF(A:A,C1)>0)*1 の様に入れて下までコピーしてください。 あとは、オートフィルタでB列が0の行だけ表示させれば良いかと思います。 #添付の図では、判りやすいように1行目を項目名に使っています

dingo24
質問者

お礼

とても分かりやすい回答をどうもありがとうございました。 vlookup でやることに固執しすぎていました。 勉強になりました。

その他の回答 (1)

  • mira723
  • ベストアンサー率20% (160/781)
回答No.1

うまくいかないとは、どういうエラーが出てますか?

dingo24
質問者

補足

説明が足りず申し訳ありません。 エラーではないのですが、例えば顧客情報の A列:削除したいメールアドレス B列:式(例) =VLOOKUP(A1:A5,C1:Q21,3,FALSE) C列:顧客情報のメールアドレス D-Q列:顧客情報 とした場合、B列に出てくる検索結果は、 A列と一致するC列のアドレスのある行番号を返してきます。 その行番号を目視で選択して削除するというのが正しいやり方に 思えなかったので投稿しました。 いい方法がありましたら、教えてください。よろしくお願いします。

関連するQ&A

  • ExcelのVLOOKUPの列番号を一括で変更したい

    検索しても自分では見つけられなかったので、質問させてください。 私はExcel2007の一個前のものを使っています。 仕事上、sheet1でVLOOKUPを使い、sheet2(データ入力用シート)の情報を読み取るブックを使っています。 作った人とは連絡が取れないので、知恵をお借りしたいです。 そのExcelのVLOOKUPでは、sheet2の14列目を読み取るようにしていますが、13列目に列を挿入して、15列目(挿入前は14列目)を読み取るようにしたいです。 しかし、sheet1のVLOOKUPは1500行も使っている上に、VLOOKUPを使っている行や別のデータを入れている行もあり、簡単には引数を14から15に変更出来ません。 sheet1のVLOOKUPの14を15に返る簡単な方法は無いでしょうか? つたない説明で申し訳ありません。 宜しくお願いします。

  • VLOOKUPを使用したのですが、検索できず・・

    VLOOKUP関数を使用したのですが、 検索範囲のテーブルの一番下セルのみを引っ張ってきてしまいます。 テーブルは別シートに作成していて2列のみです。 (物の名前を入れると品番を検索するようにしたかったのですが・・) 数式は下記です。 =VLOOKUP(G6,Sheet1!B3:C2756,1,1) もし、数式が合っていれば、テーブルがおかしいのでしょうか? 基本的な質問で住みませんが、回答をいただければ幸いです。

  • VLOOKUPで別ファイルから検索

    現在売上帳をエクセルVBAで作っています。 その中で、顧客NO.を入力すれば顧客名や住所が表示されるように、VLOOKUPで同ファイル内の別シートの顧客名簿から検索できるようにしているのですが、この顧客名簿を別ファイルで作っても検索されるようにできるのでしょうか? やり方を教えてください。 よろしくお願いします。

  • マクロでVLookupが出来ません。

    マクロでVLookupが出来ません。 A列からE列までデータがあるシート1のA,B,C列の値が全て一致する シート2の行削除をしたいです。 2000行中500行残るはずのダミーで実験してますが全行削除されてしまいます。 Do Until Cells(Line, 6).Value →6の部分を1 VLookup(Cells(Line, 6) →6の部分を1にすれば 500行残ります。ですがこれでは検索値がA列のみの値です。 またそれぞれ1→2、1→3、1→4にしても同じく全行消えこんがらがってます。 シート1のA列のみ検索しているような動きです。どこを修正すればいいのでしょうか? Sub 行削除() 'シート1→8月シート2→9月 Sheets("8月").Select Range("F2").Select ActiveCell.FormulaR1C1 = "=RC[-5]&RC[-4]&RC[-3]" Selection.AutoFill Destination:=Range("F2:F10000") Sheets("9月").Select Range("F2").Select ActiveCell.FormulaR1C1 = "=RC[-5]&RC[-4]&RC[-3]" Selection.AutoFill Destination:=Range("F2:F10000") '検索する対象値があるシート選択 Sheets("9月").Select 'そのシートの検索開始の行数を選択2行目。 Line = 2 'そのシートの検索値の列指定6=F列。セルF2の値が検索したい値。 'その値がなくなったら検索を終了させる.Value = ""を追加。 Do Until Cells(Line, 6).Value = "" 'エラーとなっても次に進む On Error Resume Next '検索結果を記入する列を指定。Line7=G列(※1) '検索する値があるシートとその列を指定 'VLookup(Cells(Line, 6)の部分。6=F列 '検索されるシートと検索範囲を指定 'Worksheets("9月").Range("A2:F10000")→セルA2からセルF10000まで '検索されたらその行のどの列の値を結果とするのか指定 1=A列 '検索方法指定0=FALSE完全一致。 Cells(Line, 7).Value = Application.WorksheetFunction.VLookup(Cells(Line, 6)_ .Value, Worksheets("8月").Range("A2:F10000"), 1, 0) 'VLOOKUP関数が終了又はエラーが発生したら止まる On Error GoTo 0 '検索されなかったときの処理 '上記(※1)の部分Line7=G列に値がない If Cells(Line, 7).Value = "" Then 'Line7=M列に無と表示 Cells(Line, 7).Value = "無" End If '2行目から開始なので次の行の値を検索値とする Line = Line + 1 '検索する値がなくなるまで繰返す Loop '1行目が削除されるのを防止セルG1に無とセット Sheets("9月").Select Range("G1").Select ActiveCell.FormulaR1C1 = "無" 'データの最終行の行番号を保持する変数 Dim RwMax As Long '現在処理中の行番号を保持する変数 Dim Rw As Long '対象となるシートを選択。 Worksheets("9月").Select 'データの最終行の行番号を取得。 'Count, 7=G列 においてデータが入っている一番下のセルの行番号 RwMax = Cells(Rows.Count, 7).End(xlUp).Row '最終行から1行目まで繰返し処理。 '行の削除の為下から上へと処理。 For Rw = RwMax To 1 Step -1 '値が無ならそのまま If Cells(Rw, 7).Value = "無" Then Cells(Rw, 7).Value = "無" '無でなかったら行削除 Else Rows(Rw).Delete End If Next Rw 'シート2のF,G列を列削除 Sheets("9月").Select Columns("F:G").Select Application.CutCopyMode = False Selection.Delete Shift:=xlToLeft End Sub

  • VLOOKUP もしくは違う方法で検索

    今、会社で車の年式表を作っています。 VLOOKUPで検索できるように、車の号機を入れて、年式を出すようにしています。<=VLOOKUP(B3,B10:C65536,2,0)という関数で> でも、データの量が多く、シートのサイズ65,536行では足りなくなってしまいました。 VLOOKUP関数でも、他のやり方でも結構ですので、 良い方法を教えて戴けますか? 宜しくお願い致します。

  • VLOOKUPの検索範囲について

    エクセルの関数で質問です。 Sheet1で  A B C      1  1 1       2  1 5      3  2 1      4  2 3 というデータがありSheet2に        A B       1  1 1       2  1 2      3  2 1      4  2 2      5  3 1 というデータがあります。 Sheet1のA1、B1やA2、B2と同様の並びをした行がSheet2にあるかどうか調べたいのですが、関数がわかりません。ちなみにSheet1のCの列に関数を入力したいと思ってます。 VLOOKUPで列Aの条件を満たし、列Bの条件を満たすものと言う検索条件してもうまくいきません。 教えてください。よろしくお願いします。

  • 連動するvlookupかVBAを教えて下さい。

    現在、シート2にデータ一覧表(列が100程度/行は無数です)が存在しており、シート1にvlookupで反映させています。(シート1は行ごとの印刷用) 今回、列データの追加・削除を行う事になりました。 今まではvlookupで =VLOOKUP(Z3,一覧表,81,FALSE)のように抽出していましたが、 この場合、シート2の列を挿入するたびに設定しなくてはいけません。 ※Z3にはシート2のA列(ID)を手入力します。 シート2の列に連動してシート1の関数を変化させることは出来ますか? もしくは、VBAなら可能なのでしょうか? ちなみに、シート1ではシート2のデータが無秩序に並んでいます。 何か良い方法を教えて下さい。。。。よろしくお願いいたします。

  • Excel 2007 vlookupについて

    Excel 2007 vlookupについて 同じシートでA列とB列の2列にある型番で一致するものをC列に表示させたいです。 実際A列の型番は一意の番号です。 B列の型番は同じ番号がございます。 型番1は100行ぐらい。 型番2は300行ぐらい。 C列にどのようなvlookupを記載すればよろしいでしょうか。 ※C2以降に結果が表示されるようにしたいです。

  • Vlookup関数で検索結果がエラーになってしまう

    お世話になります。 Vlookup関数の質問となります。 =VLOOKUP(C2,Sheet2!$A$2:$E$685,1,FALSE) 検索値  →リストを使用(元データはSheet2の指定したセル範囲の表の2列目のデータ) 範囲 →Sheet2の特定のセル範囲 列番号 →1(ここは100-01、100-02などの番号が入力されています) 検索方法 →false(完全一致) この式で「#N/Aエラー」が発生してしまいます。 単純に「氏名」から「社員番号」を引っ張りたいだけなのですが、 なんでエラーになるのでしょうか? 範囲に指定した表には空白行はありますが、書式設定などは特に問題はないです。 恥ずかしい質問なのは十分に理解していますが、 教えて頂きたく思います。 よろしくお願い致します。

  • 【Excel2007】VLOOKUP

    関数結果がエラーになってしまい困っています。 65000行分の商品リストシートに、別シートで作成したその商品に該当する区分を VLOOKUP関数で抽出しようとしたのですが、上手くいきません。 検索して欲しいJ2(文字列)と合致した情報は シート「データ」C列にあり、C列をもとに抽出して欲しい情報は選択した範囲の 左から5番目の列にあります。(全て文字列) ということで下記の関数を作成しましたが検索結果が空白で出てきません。 =IFERROR(VLOOKUP(J2&"",データ!$C$3:$G$12048,5,FALSE),"") 文字列前後に余分な空白・全角半角に相違はないのですが、 他に対処しなければならないことは何があるかお教えいただけないでしょうか。 とても困っています、恐れ入りますがどうぞ宜しくお願い申し上げます。

専門家に質問してみよう