• 締切済み

エクセルでのマッチング

「見込客」シート A列:担当者名 B列:電話番号 C列:メールアドレス 「受注」シート A列:担当者名 B列:電話番号 C列:メールアドレス これをマッチングして、見込客からの受注があったかをチェックしたいので、 「結果」シートに、マッチした結果のみを抽出する、ということは可能でしょうか? 今は、「結果」シートの各列に =VLOOKUP(見込客!A2,受注!A:A,1,FALSE) のようにしていますが、エクセルがめちゃめちゃ重くて使いづらいのです。 マクロなどは設定方法もわかりません。 よろしくお願いいたします。

みんなの回答

回答No.6

検索値に名前は使用しない方がいいと思います。 電話番号のみで良いと思います。 電話番号とメアドを&でつなぐのも良いと思います。 D列に作業列を入れるならE列に「居た」でも何でも 目印を入れて、そこを表示させる関数を入れればよいと思います。 軽くするには計算方法を自動ではなく 手動にすればOKです。 ただし、最後に計算させる「F9押下」時には 少し時間が掛かることを計算して実行してください。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.5

 以下の様な方法は如何でしょうか。  まず、適当な列(例えばSheet4のA列~C列)を作業列として使用します。  そして、Sheet4のB2セルに次の数式を入力しておきます。 =IF(COUNTIF(受注!A:A,見込客!A2)=0,"",ROW())  次に、Sheet4のA2セルに次の数式を入力しておきます。 =IF(B2="","",COUNT(A$1:A1)+1)  次に、Sheet4のC2セルに次の数式を入力しておきます。 =IF(ROW(A1)>COUNT(A:A),"",VLOOKUP(ROW(A1),A:B,1,FALSE))  そして、Sheet4のA2~C2の範囲をコピーして、同じ列の3行目以下に貼り付けておきます。  次に、「結果」シートのA2セルに次の数式を入力しておきます。 =IF(Sheet4!$C2="","",INDEX(見込客!A:A,Sheet4!$C2))  そして、「結果」シートのA2セルをコピーして、「結果」シートの結果を表示させる範囲に貼り付けておきます。  すると、「受注」シートに同名の担当者名がある、「見込客」シートの内容が表示されます。

回答No.4

エラーチェックをはずしたらどうでしょうか 「ツール」→「オプション」→「エラーチェック」のタブの中の 「バックグランドでエラーチェックを行う」のチェックを外す スクロールするたびに、セルに青い三角がぱらぱらとした記憶があり、それ以来、エラーチェックははずしています。 計算の矛盾とかは、自分で、チェックすれば、、、と思ってですが。

  • layy
  • ベストアンサー率23% (292/1222)
回答No.3

シート1つ用意 見込みシート全体を貼付け 空いている列に1 受注シート全体を貼付け 空いている列に2 上100件が見込みでフラグ1 下80件が受注でフラグ2 みたいになりますから フラグで並べたら上段見込み下段受注となる。 VLOOKUPやMATCH等使う前に構成を考えたら、全然難しくない。 IFとフィルタがわかれば良い。

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

VLOOLUP関数処理は結構速いのでこれ以上に速くはなんとも言えませんが以下の方法は如何でしょうか。 (1)結果シートで「フィルタオプションの設定」(操作はエクセルグレード不明ですので左キーワード検索して下さい) (2)指定した範囲を選択、リスト範囲欄に見込み客シート全体範囲(見込客!A:C)、検索条件範囲欄に受注シートのA列のデータ範囲(受注!A1:Axxx)、抽出範囲欄に結果シートのA1を選択→OK

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

担当者名がマッチングすればよいのか、担当者名と電話番号がマッチングすればよいのかなどによって対応も違ってきますが、わかりやす方法は作業列を作って対応することでしょう。 例えば見込客シートのD2セルには次の式を入力して下方にオートフィルドラッグします。 =A2&B2 この式では担当者名と電話番号の両方が一致する場合にマッチングがあるとした場合です。 受注シートでも同じようにD2セルには=A2&B2と入力して下方にオートフィルドラッグします。 その後に同じ受注シートのE2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(D2="","",IF(COUNTIF(見込客!D:D,D2)>0,MAX(E$1:E1)+1,"")) その後に結果シートのA2セルには次の式を入力してC2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(ROW(A1)>MAX(受注!$E:$E),"",INDEX(受注!$A:$C,MATCH(ROW(A1),受注!$E:$E,0),COLUMN(A1))) これで結果のシートには受注シートで見込客シートにある客のデータが表示されます。

関連するQ&A

  • Excel2003データマッチング方法

    どなたかお手すきな時にご教示ください。。 今週中にExcel2003にて、『見込み客と現在の契約者』のリストとを マッチングをし『見込みの客』から実際にどのくらいご契約いただいたか、 抽出するよう頼まれました。 それも、来年から毎日マッチングをするよう依頼されており、この作業が毎日の作業となります。。 マクロでシステム化したいと考えているのですが、マクロに関しては全くの素人のため 皆さんの知識をお貸しいただきたいです。。 マッチングの内容は下記になります。 --------------------------- 【sheet1:見込み客】 セルA:会社名 セルB:会社名(カタカナ) セルC:担当者名 セルD:担当者(カタカナ) セルE:メールアドレス セルF:電話番号1 セルG:お問い合わせID 【sheet2:現在の契約者】 セルA:会社名 セルB:会社名(カタカナ) セルC:担当者名 セルD:担当者(カタカナ) セルE:メールアドレス セルF:電話番号 セルG:お問い合わせID --------------------------- としたとき、重複しているものがあれば【sheet3】で契約済みと出るように したいのです。 現在はVLOOKUPを使ってマッチングしているのですがマクロにしたほうが、効率的だという話を聞いたことがあります。以前の担当が退職したため、現在抱えている仕事と両立して行う必要が あります。今後は毎日の作業となるため、できる限り効率的にできるようにしたいと考えております。 以前の質問も見てみたのですが、少々難解で自分では設定できないため どなたか上記の設定方法を教えていただけますでしょうか。

  • エクセルでのマッチング

    色々エクセルでのマッチングのページを見ましたが自分の状況に該当するのがなかったので質問させて頂きます。 エクセルでのデータが2つあります。 Sheet1 A列→注文NO B列→金額 C列→製造番号 D列→金額 E列→商品名 Sheet2 A列→注文NO B列→金額 C列→品名 D列→数量 E列→単価 の2つのシートがあります。2つのシートを比較して、 A列の注文NOが一致してたら、Sheet1,Sheet2のG列に”注文NOが一致してます”と記載します。 さらに注文NOも一致し、同じ行の金額も一致したら、”金額も一致してます”とH列に記載します。 できましたら、 注文NOと金額が一致した物に関してSheet2のF列にSheet1の製造番号を記載するようなプログラムを作りたいと思います。 ↓に私が調べた結果、注文NOだけをキーにしてマッチングさせて、動くプログラムがありますしたが、2つをキーにする場合や別シートから一致したデータの一部を持ってくるものは探してもわかりませんでした。 http://www.okweb.ne.jp/kotaeru.php3?q=507722 質問された方と違い、データは人が入れていることもあり、間違いがある可能性があり2つ以上をキーにして、どこの製造番号の物かわかるようなプログラムをできる方教えて頂けませんでしょうか? ちょっと複雑ですのでここに出すべきか迷いましたが、プログラムの組める方、お願い致します。

  • EXCEL2007の関数を教えてください

    物件台帳を作っています。 シート1の A列に物件名 B列に担当者名(担当者は全部で5名) C列にその物件の受注額 をそれぞれ入れていきます。 その時 シート2のセルA1に担当A氏の受注額合計 A2に担当B氏の受注額合計 A3に担当C氏の受注額合計 ・・・ と反映したい場合の数式を教えてくださいm(__)m

  • エクセル xlookupでのメルアドリンクについて

    エクセルxlookup反映後のメールアドレスをハイパーリンクさせる方法について質問です。 シート① A列   B列    C列    D列 取引先名 取り扱い品 担当者名  メールアドレス △社   魚     〇〇    ×× △社   肉     △〇    ×〇 〇社   魚     △△    ■■ シート② A列    B列   C列     D列 商品名   取引先名 取り扱い品  メールアドレス 牛小間切れ △社   肉      =xvlookup(b3&c3,シート①!A:A&シート①!B:B,シート①D:D) としていますが、 シート②のメルアドを押しても、メールソフトが起動しません。 シート②のメルアドを押すと、メルアドを宛先にしてOutlookメールを作成する方法ありますでしょうか。 教えていただけると助かります。 よろしくお願いいたします。

  • Excel シート間のデータの照合

    Excelで、シート間のお客様データ(だいたい各1万件)を照合します。下記は現在の照合方法ですが、これでは時間がかかるうえ手作業が多く発生しミスにつながります。頻繁に行う作業なので、関数でも、マクロでも、とにかくもう少し簡単にできる方法がありましたら、どうぞご教授ください。よろしくお願いします!! 【目的】 シート「sheet2008」には2008年度のデータ。シート「sheet2007」には「sheet2008」と同じ形式の2007年度のデータが入っています。シート「sheet2008」に、そのお客様の2007年度の担当営業マンを表示させたいのです。 【例】 列A(電話番号): 011-231-1112 列B(名前):佐藤 一郎 列C(住所):北海道札幌市中央区北1-1-1 列D(担当営業マン):鈴木 新規の列(2007年度の担当営業マン):鈴木  ・「sheet2008」「sheet2007」はほぼ同じデータですが、一部のお客様は名前が変わっていたり、住所が変わっていたりします。  ・「sheet2007」にないお客様が「sheet2008」にあったり、その逆があったりして、各シートのデータ件数は一致しません。  ・名前が同じでも住所が違うデータ、電話番号が同じでも担当営業マンが違うデータは別者として扱います。  ・「顧客ID」のような“必ずユニークな情報”は存在しません。 【現在の照合方法】 (1)「sheet2008」の各列の前に空白列を挿入する。  (データの1行目はタイトル行…B1:電話番号/D1:名前/F:住所/H:担当営業マン)  (データの2行目以降はデータ)     列A(空白行):     列B(空白行): 011-231-1112     列C(空白行):     列D(名前):佐藤 一郎     列E(空白行):     列F(住所):北海道札幌市中央区北1-1-1     列G(空白行):     列H(担当営業マン):鈴木 (2)「sheet2007」を列Aの電話番号で昇順に並べ替える。 (3)「sheet2008」の電話番号が「sheet2007」にあるかを調べる。     A2:「=IF(B2=(VLOOKUP(Sheet2008!$B2,Sheet2007!$A:$D,1,0)),"○","▲")」 (4)(3)で調べた「sheet2008」の電話番号と同じ行にある名前/住所が「sheet2007」にあるかを調べる。     C2:「=IF(D2=(VLOOKUP(Sheet2008!$B2,Sheet2007!$A:$D,2,0)),"○","▲")」     E2:「=IF(F2=(VLOOKUP(Sheet2008!$B2,Sheet2007!$A:$D,3,0)),"○","▲")」 (5)電話番号/名前/住所がすべて一致するデータについて、「sheet2007」にある担当営業マンの値を列Gに表示させる。     G2:「=IF((AND(A2="○",C2="○",E2="○"))=TRUE,(VLOOKUP($B2,Sheet2007!$A:$D,4,0)),"▲") (6)"▲"やエラー値で表示される計算結果について、目視で確認する。 (終了)

  • エクセルでの顧客管理

    エクセル初心者です。顧客管理で2件こまっています。 (1)A列・・会社名、B列・・携帯番号、C列・・担当者名です。別の表にVLOOKUPによって検索したい会社名前を入れると携帯番号と担当者が表示されるようになっています。しかし、同じ会社に複数の担当者がおり複数担当者がいる場合は使えません、同会社の全員の携帯番号と担当者名が出てくるような関数もしくは方法はありませんか?会社ではアクセスが使える環境ではありません。なんとかエクセルのみで乗り切るのは難しいでしょうか? (2)(A)のワークシートにA列顧客名 B列住所 C列担当者名(3人)のデータがあります。このデータを担当者別にそれぞれの担当者のワークシートに反映させたいのです。追加の顧客は(A)で入力しそれが各担当者別のワークシートに反映される方法はありませんか?

  • エクセルでのマッチング(ちょっと複雑)

    色々エクセルでのマッチングのページを見ましたが自分の状況に該当するのがなかったので質問させて頂きます。 エクセルでのデータが2つあります。 Sheet1 A列→注文NO B列→金額 C列→製造番号 D列→金額 E列→商品名 Sheet2 A列→注文NO B列→金額 C列→品名 D列→数量 E列→単価 の2つのシートがあります。2つのシートを比較して、 A列の注文NOが一致してたら、Sheet1,Sheet2のG列に”注文NOが一致してます”と記載します。 さらに注文NOも一致し、同じ行の金額も一致したら、”金額も一致してます”とH列に記載します。 できましたら、 注文NOと金額が一致した物に関してSheet2のF列にSheet1の製造番号を記載するようなプログラムを作りたいと思います。 シート1は2千件。シート2も同じく2千件くらいで、データはランダムに入ってます。 ↓に私が調べた結果、注文NOだけをキーにしてマッチングさせて、動くプログラムがありますした。ロジックとしてはシンプルで素晴らしいのですが、そっから先自分で組むことができませんでした。 2つをキーにする場合や別シートから一致したデータの一部を持ってくるものは探してもわかりませんでした。 http://www.okweb.ne.jp/kotaeru.php3?q=507722 質問された方と違い、データは人が入れていることもあり、間違いがある可能性があり2つ以上をキーにして、どこの製造番号の物かわかるようなプログラムをできる方教えて頂けませんでしょうか? ちょっと複雑ですのでここに出すべきか迷いましたが、プログラムの組める方、お願い致します。 エクセルで関数を使う方法ではなく、毎月チェックしないといけませんので、マクロで一発!で考えています。 宜しくお願い致します。

  • エクセルについて教えて下さい。

    エクセルについて教えて下さい。 Sheet1のA列に人物名、B列にはそれぞれの人物に対応する住所、C列には電話番号が入力されています。(Sheet1はデータベースとなっています) さてそこで、以下のようにしたいのですが、どのようにすればよいでしょうか? Seet2のA1セルにカーソルをおくと、プルダウンメニューが現れ、Sheet1 A列の人物名がズラリと羅列される。 そこからある人物(仮に鈴木さんとします)を選択するだけで、B1に鈴木さんの住所、C1に鈴木さんの電話番号が自動に入力される。 どうしたらよろしいでしょうか。ご教授をお願い致します。

  • エクセルの抽出なんですが

    すみません、エクセルの抽出について 以前ここで質問させて頂いたんですが、また新たに別の抽出をしたいのですが・・・ VBAでも簡単であればいいのですが、 できれば数式で教えていただけないでしょうか? 内容ですが、 シートA(データ用)の B列に受注番号があります。 C列にその受注番号の詳細として商品名が入っており、 D列にはC列に対しての値段が入っております。 さらに、C列の最後には消費税の項目があり、 同じD列にその消費税の価格が入っています。 これが受注番号ごとに記載があり、 商品の個数は受注番号によって異なります。 これを基にシートB(抽出用)で 受注番号に対して(打ち込めば) その商品の値段を個数分全て抽出させ、最終は合計額が知りたいのですが、 でも、最後にある消費税は除外させたいです。 消費税の抜き方は個数に対して最後なのでこの条件から抜くのがいいでしょうか? 別の列にコード欄があり、消費税のコードは決まっていますので この条件を使ってできますでしょうか? オートフィルタとは違った考え方かなと思ったので こちらで質問させていただいたのですが 本当に申し訳ありませんが、どなたか教えてもらえないでしょうか? 宜しくお願いします。

  • エクセルで初心者で困っています。こんな事できますか?

    ・シート1のA列には「装置番号」、B列には「装置名」、C列には「顧客名」、D列には「住所」、E列には「電話番号」が入っています。「装置番号」と「装置名」は重複することが無いように設定されています。因みにデーター数は5000件位です。   このときシート2のA1に「装置番号」、B1に「装置名」を入れるとシート1の該当する行の「顧客名」、「住所」、「電話番号」がシート2のC1,D1,E1に自動的に出るようにしたいのですがなかなか出来ません。  本も買ってきて、関数を勉強中ですが旨く行きません。又、エクセルで難しい様なら、他の方法も教えていただければ幸いです。よろしくお願いします。

専門家に質問してみよう