• 締切済み

Excel 部分一致データの抽出

A列    B列                 C列 1会社名   商品内容、代表者名、会社名     〇 2会社名   商品内容、 3会社名   代表者名、会社名          〇          4会社名   会社名 5会社名   代表者名 参照をA1対しB1とし、会社名が重複しているB列をC列〇のように表記させたい。 このようにしたいと思っております。シンプルなのですがデータ数が10,000 あり苦戦しております。ぜひ方法を教えてください

みんなの回答

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

 御質問文に挙げておられる例において、4行目は会社名が重複しているのにもかかわらず何故か〇が付いていないのですが、これはただの間違いで、本来であればC4セルも〇が表示されるべきだと考えれば宜しいのでしょうか?  色々なやり方がありますが、以下の関数の内の何れかをC1セルに入力してから、C1セルをコピーして、C2以下に貼り付けますと、御希望の結果が得られます。 =IF(AND($A1<>"",ISNUMBER(FIND($A1,$B1))),"〇","") =IF(AND($A1<>"",ISNUMBER(SEARCH($A1,$B1))),"〇","") =IF(AND($A1<>"",COUNTIF($B1,"*"&$A1&"*")),"〇","") =IF(OR($A1="",ISERROR(FIND($A1,$B1))),"","〇") =IF(OR($A1="",ISERROR(SEARCH($A1,$B1))),"","〇") =IF(OR($A1="",ISERR(FIND($A1,$B1))),"","〇") =IF(OR($A1="",ISERR(SEARCH($A1,$B1))),"","〇") =IF(OR($A1="",FIND($A1,$B1&$A1)>LEN($B1)),"","〇")  尚、上記の関数の中で「=IF(AND(」で始まる関数の「AND($A1<>"",」の部分を外して =IF(ISNUMBER(FIND($A1,$B1)),"〇","") としてしまったり、「=IF(OR(」で始まる関数の「OR($A1="",」の部分を外して =IF(FIND($A1,$B1&$A1)>LEN($B1),"","〇") としてしまいますと、もし「A列のセルが空欄となっていてB列のセルが空欄ではないという場合」においても〇が付いてしまうというバグが発生してしまいますので、「AND($A1<>"",」の部分や「OR($A1="",」の部分を省略してしまう事は避けておいた方が良いと思います。

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.1

>参照をA1対しB1とし、会社名が重複しているB列をC列〇のように表記させたい。 C1セルに次の数式を設定して、C1セルを下へ必要数コピーしてください。 =IF(FIND(A1,B1&A1)>LEN(B1),"","○") 貼り付け先のC2からC10000までを簡単に選択するには現在のセル番地を表示している位置へC2:C10000と入力してEnterキーを打鍵すると一発で選択されます。

imsfujita
質問者

お礼

大変ありがとうございました。とても助かりました。出張のため御礼が遅れましたことお詫び申し上げます

関連するQ&A

  • 条件に一致したデータの検索・抽出について

    エクセルで2つのデータから条件に一致したデータを検索・抽出がしたいのですが、うまく抽出することができないため、質問させていただきます データA |入荷日|商品番号|商品名|数量|金額| |1.1|1111|〇〇〇|10|10| |1.2|2222|◎◎◎|15|15| |1.3|3333|△△△|20|20| |1.4|4444|◆◆◆|10|10| データB |販売日|商品番号|商品名|販売数| |3.1|1111|〇〇〇|   | |3.2|    |AAA|100| |3.3|    |BBB|120| |3.1|2222|◎◎◎|   | |3.3|    |CCC|100| |3.1|3333|△△△|   | |3.1|4444|◆◆◆|   | データBから商品番号の一致したデータの一部を抽出してデータAに追加したいです (一部が難しいようなら1行そのまま抽出でも大丈夫です) 理想は |入荷日|商品番号|商品名|数量|金額|販売数| |1.1|1111|〇〇〇|10|10|   | |   |    |AAA|  |  |100| |   |    |BBB|  |  |120| |1.2|2222|◎◎◎|15|15|   | |   |    |CCC|  |  |100| |1.3|3333|△△△|20|20|   | |1.4|4444|◆◆◆|10|10|   | もしくは、関数を利用して以下の形にできれば、と思います |入荷日|商品番号|商品名|数量|金額|商品名|販売数|商品名|販売数| |1.1|1111|〇〇〇|10|10|AAA|100|BBB|120| |1.2|2222|◎◎◎|15|15|CCC|100|   |   | |1.3|3333|△△△|20|20|   |   |   |   | |1.4|4444|◆◆◆|10|10|   |   |   |   | データAをベースに、データBから重複データのうちすでにデータAにあるものを省き(1件目は重複データなので2件目以降)抽出する 1.データB商品番号重複しています。重複データの1件目はデータAと共通で、2件目以降を抽出したいです 2.データB商品番号の重複はそれぞれ違うため、1件も重複してないものもあれば3件ほど重複しているものもあります 3.データAは入荷日の範囲を指定したデータですが、データBは入荷日項目がないため抽出する必要のない内容・件数のデータもはいっています。その為、データAから抽出するのではなく、データAをベースにデータBから抽出がしたいです。 よろしくお願いします。

  • Excelで2つのファイルから完全一致のIDを抽出

    Excelで2つのファイルから完全一致のIDを抽出したいです。 エクセルについて質問です。 バージョンは「2010」です。 2つのエクセルデータ「Aファイル」・「Bファイル」があります。 AファイルとBファイルには顧客データがあり、 Bファイルは「A列…会社名」「B列…担当者名」「C列…取引先ID」「D列…取引先担当者ID」という内容です。(会社名が同じで担当者が2・3人いる場合もあります。) Aファイルの方は新規の顧客とBファイルの顧客と重複してあります。 それで、Aファイルの方に、Bファイルの方から「会社名と担当者名が一致」している取引先IDと取引先担当者IDを入力していきたいんですが、簡単にできる方法があったら教えてください。 (AファイルにはIDの列を2つ新規で作ります。)

  • 【エクセル】抽出データを上に詰めて表示させたい。

    重複するデータを上に詰めて表示さセル方法が解らないです。 B列はA列の元データから重複分は表示しないようにしています。 C列はA列の元データから重複分の数を数えています。 │A │B    │C│ D │ 1│あああ │あああ │3│ 2│いいい │いいい │2│ 3│あああ │     │ │ 4│ええ  │ ええ  │2│ 5│おおお │おおお │1│ 6│ええ  │   │ │ 7│いいい │  │ │ 8│あああ │  │ │ 9│うううう│うううう│1│ ・ ・ 上記のような表で、A列が元データで、 B列にはセルB1から、=IF(COUNTIF($A$1:A1,A1)>1,"",A1)という関数を オートフィルで下まで伸ばしています。 C列は、=IF(COUNTIF($A$1:A1,A1)>1,"",COUNTIF($A$1:$A$100,A1))と いう関数を使用しています。 そこで、B列C列の何も表示されていないセルを詰めて、上に詰めて 表示させたいです。マクロは良くわからないのでなるべく関数で お願いします。ちなみに、今使用している関数も、こうしたほうが いいというのがありましたら。訂正してもらえると助かります。 解りづらいところがありましたら、補足します。 宜しくお願いします。

  • EXCELで重複データの抽出方法

    EXCELでデータを作成中なのですが、いい方法があれば教えてください。 例:Aの列にたくさんの名前が入っています。Bの列に1.バナナ、2.ナシ、3.りんごなどの商品名が入っています。 Aの名前には重複した同じ人もいるのですが、Bの列の商品は同じ人でもバラバラになっています。それをCの列で同じ人は、同じ商品名にしたいのです。 具体的に図で説明すると、 A列 |B列 |C列 小田 |1.バナナ | 1.バナナ 佐藤 |2.ナシ |2.ナシ 田中 |1.バナナ |1.バナナ 小田 |2.ナシ |1.バナナ 佐藤 |3.バナナ |2.ナシ 小田 |3.りんご |1.バナナ 上のようにCの列に同じ人に同じ商品が入るように関数かもしくはマクロで設定したいのですが・・・ もし、良い方法があれば教えてください。 説明が分かりにくくてすみません。

  • 重複するデータの抽出について(エクセル)

    エクセル2003にて重複するデータの取り出しをしたいのですが、 わからないので教えてください。 例えば   A列   B列   C列    D列    E列・・・ 1  色  1回目  2回目  3回目   4回目 2  赤   あ    a      A       0 3  白   い    b      B       1 4  黄   う    c      C       2 5  黄   え    d      D       3 6  黒   お    e      E       4 7  赤   か    f      F       5 : このデータの中から、別のシートのA1に 赤と入力したら、B1にD列のA・Fを抽出 黄と入力したら、B1にD列のC・Dを抽出をしたいです。 VLOOKUP関数を使用してみたのですが、 赤と入力すると、D列のA(1番上のデータ)のみしか抽出出来ず、Fが抽出されません。 重複するデータがあるのはA列のみで、D列には重複するデータはありません。 わかりにくい文章ですみませんが、よろしくお願いします。

  • エクセル関数で行を抽出したいのですが…

    エクセルでsheet1にA2:AQ2034とデータがあります。 A列=コード(重複コードなし) B列=商品名(重複商品名なし) C~AQ=月々の売上(2003.1~2006.5までの月々売上) これをsheet2でA列、A1をタイトル行とし、A2以下にコードを入れると そのコードの行(B~AQ)が抽出されるようにしたいのですが、 関数でどのようにしたらいいでしょうか? ご教授お願いします。

  • EXCELの重複データの抽出について

    1月と2月という2つのシートがあり、それぞれA列に姓、B列に名、C列にメールアドレスが入力されています。 1月と2月を比べてABC列のデータが全く同じものだけを、1月重複分、2月重複分として抽出することが、ExcelまたはAccessでうまくできないため、どなたか教えてください。

  • エクセルデータの完全削除

    エクセル2000において例えばA列に・・・ A B C D A と並んでいた場合、重複データを完全に削除 する方法はないでしょうか?つまり削除後は・・・ B C D のみが残る方法です。過去ログを参照 しましたが、重複データの片方を残す方法ばかりで 大変困っています。。

  • EXCELで2つ条件で1つが部分一致のとき

    Excelの2003バージョンです。 現在使用しているファイル名「会社」シート名「支社」のセルE12に 同じシート上のD12(同じ行ですね)と ファイル名「埼玉」シート名「データ」のA列の中の値と一致(完全一致)して なおかつ、シート名「支社」のF3の値(例・後1、後2)とシート名「データ」の C列の値(例・後1 第23号)と部分一致をした時に 使用中シート「支社」のE12に●、していない時は空白にしたいのです。 ファイル「会社」シート名「支社」 行数 --A列----B列----C列-----D列----E列----F列---- 1                             11223344  (ここに関数)  後1 ファイル「埼玉」シート名「データ」 行数 --A列----B列----C列-----D列----E列----F列---- 10   11223344         後1 第23号  11   11223344         一般会社 第44号  のような場合はE1に●になるようにしたいのです。 それ以外は空白で。 あまり詳しくないので、よろしくお願いします。

  • エクセル2003 重複データの抽出

    エクセル2003を使っています。 重複したデータの抽出を行いたいのですが、 例えば、  A      B     C      D コード  書籍名  出版社名  著者 といった感じのデータが1万件ほどあります。 このうち、B列の「書籍名」が重複しているデータを抽出したい です。(抽出したものは、書籍名だけではなくて、ほかの出版社や著者の指定したデータも表示させたい。) VLOOKUPなどを使えばできないこともないのですが、一万件の 処理を行う上に、パソコンも非力なので時間がかかってしまい 困っています。 どうぞよろしくお願いします。

専門家に質問してみよう