• 締切済み

エクセルで作ったリストの不要な行を削除したい

現在、顧客FAXリストをエクセルで作っており、FAX番号をA列、顧客名をB列、メールアドレスがC列といった構成で作っています。 FAX番号がNGだった場合に、NGリストというものがエクセルで作られます。 質問は、顧客リストからFAXが届かなかったNGリストの番号だけを 一気に削除する方法を教えてほしいです。 顧客リストの中の届かなかったFAX番号のセルのみが消えてくれればとても助かります。 1件1件検索して探すのでは労力がかかりすぎるので 何か良い方法があれば是非教えてください。

みんなの回答

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! VBAになってしまいますので、参考にならなかったら読み流してください。 Sheet1の2行目からデータがあり、Sheet2のA列・2行目から削除したいFAX番号が入っているとします。 画面左下のSheet1のSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので、 ↓のコードをコピー&ペーストしてマクロを実行してみてください。 Sub test() Dim i, j As Long Dim ws1, ws2 As Worksheet Set ws1 = Worksheets("sheet1") Set ws2 = Worksheets("sheet2") For i = 2 To ws1.Cells(Rows.Count, 1).End(xlUp).Row For j = 2 To ws2.Cells(Rows.Count, 1).End(xlUp).Row If ws1.Cells(i, 1) = ws2.Cells(j, 1) Then ws1.Cells(i, 1).Clear End If Next j Next i End Sub 尚、一旦マクロを実行すると元に戻せませんので別Sheetにコピー&ペーストしてマクロを試してみてください。 以上、参考になれば良いのですが・・・m(__)m

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

シート1は顧客リストで1行目には項目名があり、2行目から下方にデータがあるとします。 シート2はNGリストで1行目にはNGリストの項目目が2行目から下方にデータがあるとします。 NGリストの番号だけを削除した顧客リストの表をシート3に作るとして、1行目にはシート1と同じ項目名を入力したのちにA2セルには次の式を入力して右横方向にオートフィルドラッグしたのちに下方向にもオートフィルドラッグします。 =IF(OR(COLUMN()>3,AND(COUNTIF(Sheet2!$A:$A,INDEX(Sheet1!$A:$C,ROW(),COLUMN()))>0,COLUMN()=1)),"",IF(INDEX(Sheet1!$A:$C,ROW(),COLUMN())=0,"",INDEX(Sheet1!$A:$C,ROW(),COLUMN())))

  • don9don9
  • ベストアンサー率47% (299/624)
回答No.1

顧客リストのシート名をSheet1 顧客リストはA列がFAX番号、B列が顧客名、C列がメールアドレス 1行目が項目名、2行目以降がデータが入っている NGリストのシート名をSheet2 NGリストはA列にFAX番号のみ列記 とします。 Sheet1のD2に =COUNTIF(Sheet2!A:A,A2) と入力し、これを顧客リストの最終行までコピー&ペーストします。 これでD列は、NGリストに含まれないFAX番号の行は0 NGリストに含まれるFAX番号の行は1となります。 (もしNGリストに同じ番号をダブって入力していたら 2以上となる可能性もありますが) あとは、オートフィルタでD列が0以外の行を抽出すればいいです。

gentarou41
質問者

お礼

ありがとうございます!!早速試してみます!!

関連するQ&A

  • セルがある同じ行のリスト番号を反映して印刷する

    エクセル2003を使っています。 (1)顧客リストを作りました。 1.氏名 2.住所 3.電話番号 4.メールアドレス… (2)別シートに、この顧客データを1件につき1枚に印刷する印刷シートを作りました。 (1)にリスト番号を入力すると(2)のシートに反映するようにvlookupで反映できたのですが、「いちいちリスト番号を入力」しなければならず、可能であればリストにデータを入力している段階でリスト番号が反映されそのまま(2)のシートが印刷できるようにしたいのです。 何かいい方法はありませんか? 「セルがある行と同じ行にあるリスト番号を反映させる」という書き方でご理解いただけますか? よろしくお願いします。

  • エクセル 網掛けしてあるセルの行を残してそれ以外の行を削除するVBA

    windows-xp、エクセル2003を使っています。 エクセルデータがA列からU列まであります。 (1000件程かな、時々AA列まである時もあります) G列には、網掛けしてあるセルがあります。 そこで!! 網掛けしてあるセルの行だけを残して、網掛けがされていない行のデータを一気に削除する!というマクロ(VBA)を作りたいのですが、どうすればよいでしょうか? VBAまだ、よくわかっていないので、初心者レベルでわかりやすく教えてくださると助かります。 宜しくお願い致しますm(_ _)m

  • Excelの顧客リストを並び替えたいのですが…

    手元にExcelの顧客リストがあります。 1の行に「顧客名」 2の行に「住所」と「電話番号」 3の行に「コメント」 が入っていまして、それの繰り返しです。 (4の行に「顧客名」、5の行に「住所」と「電話番号」…という具合に延々と続いていきます) これをAの列に「顧客名」、Bの列に「住所」、Cの列に「電話番号」、Dの列に「コメント」にしたいのです。 おそらく、(1)「行」⇒「列」にする方法と(2)「住所」と「電話番号」を分ける方法の合わせ技だと思います。 できれば両方、もしくは片方だけでも構いませんので、教えてください。 住所と電話番号の間には半角スペースがあり、電話番号の前には、「TEL:」と付いています。 例えば、「東京都中央区1-1-1 TEL:03-1234…」という具合です。 宜しくお願いいたします。

  • エクセルで同じ文字列が入った行を削除したい

    現在エクセルで3000個近くの文字列(社名)の入ったセルが個々にあります。 しかし、現在12,000セルくらい、上記の社名等が入ったセルがあるため、 同じ文字列(社名)がはいったセルを削除して、正式に何個の社名があるかをしりたいのです。 よって、列を読み込んで、同じ文字列がはいった行を抜粋して削除し、1社だけのこしていく方法は ないのでしょうか? フィルタ等でもひとつひとつ読み込んで、一つだけ削除しても、セル数が多すぎてとても1日ではおわりません。 何か良い方法はないでしょうか?おしえてください。こまっています;

  • [Excel VBA]複数ファイルで条件を満たす行

    Office 365を使用しています。 下記の条件で行削除したいのですが、マクロではどうのよに記述したら良いでしょうか? ・対象のExcelファイルが↓3つあります >グループリスト >一般顧客 >特別顧客 条件; >グループリストファイル; F列 ---- 1-1 'グループ番号 D列 ---- XXXX '顧客番号 ・グループ番号 1-1のすべての顧客番号が削除対象 処理; 1. >一般顧客ファイル A列 ---- XXXX-XX 'サブ顧客番号 B列 ---- XXXX '顧客番号、グループリストファイルのD列 ・B列、グループリストファイルのD列がマッチした全行を削除して、削除件数をカウント 2. >特別顧客ファイル H列 ---- XXXX-XX 'サブ顧客番号 ・H列、一般顧客ファイルのA列がマッチした全行を削除して、削除件数をカウント *一般顧客ファイルでマッチした行の削除前に、特別顧客ファイルの対象行を削除する必要があると思います

  • 2行にまたがったリストを1行に

    よろしくお願いします エクセルのリストで2行に一つのリストが入っているのですが、 普通に1行に一つのリストにする方法を教えて下さい すいません図を書こうと思ったんですがうまく書けませんでした A名前、B住所、C電話番号、D郵便番号などの住所録なのですが、 すべて1と2の2行を結合したような形で2行に1件入ってます 1行にする方法ご存じの方、教えて頂けないでしょうか

  • エクセルで行の削除

    セルA3からセルR5000までデータが入っています。 データー量を減らすため4行目、6行目と一行おきに削除したいのですが、一気に削除する方法はありませんか。 宜しくお願いします。

  • Excelで行全体が空欄の場合に行を削除(詰める)

    Excelシート上、幾つかの列があり、大量の行があります。 1行のうち、全ての列のセルが空の場合は、その行を削除して上に詰めたいですが、自動で削除する方法を教えてください。 Excel2010です。

  • エクセル2010 同じグループの顧客を表示

    エクセル2010での質問です。 顧客リスト約5000件の中から同じグループに該当する 顧客を表示したいのですがうまくいきません。 Sheet1のA列に顧客番号、B列に名前、C列にグループ番号が あります。 Sheet2のA1にグループ番号を入力すれば B1に名前、C1に顧客番号が表示できる方法を教えてください。 よろしくお願いします。

  • エクセルで、一括削除について。

    エクセルでの質問です。 製品修理番号が約3万件程、入っておりましてその中のある番号のものだけ削除したいのですが、どの様にして削除して良いのか御助言を頂ければと思います。 A列~C列までそれぞれに1万件づつデーターが入っております。 製品修理番号の末尾が数字のものだけ削除したいのです。 例:AB-001-cdf-ad5この様になっております。末尾の数字は0~9までです。 1件づつ確認して削除していくのも大変時間がかかってしまいますので出来れば一括で削除したいのですが何かしら方法があるのでしょうか?御手数をお掛け致しますがどちら様か御助言くだされば幸いです。宜しくお願い致します。ちなみにエクセルは、2007を使用しております。

専門家に質問してみよう