• ベストアンサー

エクセルで複数列に共通した項目の抽出方法

エクセルで複数列で重複したセルを抽出する方法がわかりません。 具体的には、ABC各列にランダムな6桁の数字がそれぞれ500行づつあり、AとB列で重複(同じ)数字があれば、D列に列挙(重複した個数ではなく、たとえば310257などと重複していた数字)し、またABCの3列ともに重複している数字をE列に列挙するなど、複数列で重複したセルを抽出するにはどういう方法があるんでしょうか?

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

  • ベストアンサー
noname#204879
noname#204879
回答No.3

[フィルタオプションの設定]で可能です。“頭を痛める”関数は一切不要! 簡単のために、列A~Cのデータが「500」行ずつでなく下のように「10」行ずつある場合を考えます。ただし、先頭行は同じ文字列(例えば data)を入力しておきます。    A    B    C    D    E 1  data  data  data  data  data 2  123456 123457 123462 123461 123462 3  123466 123459 123465 123462 123466 4  123456 123461 123465 123466 5  123461 123462 123465 123456 6  123460 123461 123466 7  123456 123466 123463 8  123462 123461 123465 9  123456 123466 123457 10 123461 123463 123466 11 123461 123456 123458 1.[データ]→[フィルタ]→[フィルタオプションの設定]を実行 2.“指定した範囲”に目玉入れ 3.[リスト範囲]ボックス内にマウスカーソルを置き、範囲 B1:B11 を   撫で撫で 4.[検索条件範囲]ボックス内にマウスカーソルを置き、範囲 A1:A11   を撫で撫で 5.[抽出範囲]ボックス内にマウスカーソルを置き、セル D1 をチョー   ン 6.“重複するレコードは無視する”にチェック入れ 7.[OK]をクリック 8.ステップ1~7の繰り返し。ただし、次のように読み替え   範囲 B1:B11 → 範囲 C1:C11   範囲 A1:A11 → 範囲 D1:D5   セル D1   → セル E1

yasukatta
質問者

お礼

早速のわかりやすくも丁寧な回答、ありがとうございました。エクセル初心者なので、簡単な方法は大歓迎です。それに『撫で撫で』が、高ポイントにつながりました。固苦しい文面には、息抜きも必要かと・・・。

その他の回答 (2)

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

COUNTIFを使う。 例データ 第2行から第9行まで(データはA,B、C列。データ順序は関係ないはずだが、下記例ではわかりやすいように昇順にした) A列  B列    C列  D列   E列    E列   F列 1 2 2 - 2 - 2 2 4 5 1 4 1 9 3 5 7 - 6 - 11 4 6 9 2 9 - #N/A 6 8 10 3 11 - 7 9 11 - - - 9 11 14 4 - 2 11 12 15 5 - 3 -は左詰にならぬよう空白セルに入れたもので、空白セルにしてください ーーー 式  D2 =IF(COUNTIF($B$2:$B$11,A2)=0,"",MAX($D$1:D1)+1) 下方向に式を複写。 E2 =INDEX($A$1:$A$11,MATCH(ROW()-1,$D$1:$D$11,0)) 下方向に式を複写。 ここが質問前半の結果 ーー f2 =IF(AND(COUNTIF($B$2:$B$11,A2)>0,COUNTIF($C$2:$C$11,A2)>0),MAX($F$1:F1)+1,"") 下方向に式を複写。 G2 =INDEX($A$1:$A$11,MATCH(ROW()-1,$F$1:$F$11,0)) 下方向に式を複写。 ここが質問後半の結果 ーー 以上は自称imogasi方式。 #N/Aを出さないようにする式は、質問者が考えるか、Googleでimogasi方式で照会すると、私の回答の中に出てきます。 (D、E列の最大値より、行数が大になれば空白を返す式にする)

yasukatta
質問者

お礼

力の入った回答をありがとうございます。お手数をお掛けいたしました。ところが私はエクセル初心者でして、関数はこれからというレベルです。いただいた回答を教材に、検証に励みたく存じます。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

D列には =IF(ISERROR(MATCH(A1,B:B,FALSE)),"",A1) 或いは =IF(COUNTIF(B:B,A1)=0,"",A1) E列には =IF(ISERROR(MATCH(A1,B:B,FALSE)&MATCH(A1,C:C,FALSE)),"",A1) 或いは =IF(COUNTIF(B:B,A1)=0,"",IF(COUNTIF(C:C,A1)=0,"",A1)) で下フィルしてみてはダメですか?

yasukatta
質問者

お礼

早速の回答ありがとうございました。私はエクセル初心者でして、関数はこれからというレベルです。いただいた回答を教材に、検証と理解に励みたく存じます。

関連するQ&A

  • エクセル関数(抽出)について

    宜しくお願い致します。 A列にランダムな数字が入力されている。(重複する数字はない) B列にランダムな数字が入力されている。(重複する数字がある) ここで、A列のセルの数字をB列の任意値分全部抽出したいのです。    A   B 1 815  9 2 330  8 3 209  6  4 110  9  5  24  9 6 782  5 7   3  9 これを以下のようにする方法を教えて下さい。 9 815 9 110 9  24 9   3 ※このA列の”9”もセルの中で指定したいのです。

  • エクセル関数(抽出)について

    宜しくお願い致します。 A列にランダムな数字が入力されている。(重複する数字はなく、空セルなし) B列にランダムな数字が入力されている。(重複する数字があり、空セルあり) ここで、B列に入力されているA列のセルの数字を全部B列降順に抽出したいのです。(以下のような場合です)    A   B 1  7  200 2  2  100 3  5  4  3  100  5  8   50 これを以下のようにする方法を教えて下さい。 200 7 100 2 100 3  50 8

  • Excel特定の文字列を抽出する関数を教えてください。

    A列に***AAA/2桁の数字***と言う値があります。 *はランダムです。 2桁の数字もランダムです。 AAA/2桁の数字のみを抽出する関数を教えてください。 重複する値は、1つを残して削除したいです。 よろしくお願いします。

  • エクセルの検索・関数

    お分かりの方、教えて下さい!! エクセルにて、 A列に13桁の数字がランダムにあり、 C列にも13桁の数字がランダムにあり、 E列には1桁~3桁の数字がランダムにあります。 B列に同じ行のA列の13桁と一致するC列の13桁を見つけ、 そのC列のと同じ行のE列の数字を入れたいのです。 上記の内容が出来る関数を教えて下さい。 分かりにくくてすみませんが、よろしくお願いいたします。

  • エクセルのセル内から数字だけを抽出する方法を教えて下さい

    エクセルのセル内から数字だけを抽出する方法を教えて下さい あるデータの列(備考欄)には様々な文字が入っていて、 その中に●名(●は数字)が入っています その数字だけを取り出して 別の列に移す関数を教えて下さい ※この列には他の数字は入っていません、最大で2ケタです よろしくお願いします

  • エクセルでの列と列の比較、重複データ個数抽出

    すいません。どなたか教えてください。 今、エクセル2003を使用しているのですが、ある条件でデータの個数が抽出出来ません。 お知恵をお貸しください。   A列 B列 1 あ   あ 2 い   う 3 う    い 4 え    5 お   か A列とB列を比べると、「あ、い、う」の3つのデータが重複しています。 そこで、一つのセルで3個とい値を返したいです。 条件として、 ・計算用のシートや別セルを使わずに、例えば、C1などの1つのセルの中で関数を使用して個数を出したいです。 ・できたらマクロも使用しないでやりたいです。 ・数字ではなく、文字列の比較で、空白行もあります。 やはり、列同士の比較は一つのセルの中でやることは不可能なのでしょうか? どなたかよろしくお願いいたします。

  • エクセルでデータの抽出方法

    Windows7、エクセル2010を使用しています。 エクセルで、指定したセルのデータを抽出する方法についての質問です。 エクセルに60000行×1列のデータがあるとして、 その中から99行目、199行目、299行目、・・・59999行目のデータを抽出しなければなりません。 手作業でコピーするのは時間的に非現実的なので、なにか抽出する方法はないでしょうか? 100行単位で列を変えれば、99行目のみをコピーし、行と列を置き換えればいいと思うのですが、そんなことは可能なのでしょうか? そのほか、何か方法があれば教えてください。

  • EXCEL セル内の数値から、5桁目だけを抽出する方法について

    EXCELシートのセル内に、以下のような30桁からなる数値が入力されている 列が複数あります。 この列内の数値の右端から「5桁目」だけ、または左端から「10桁目」だけを 抽出したいと思っているのですが、EXCELの仕様で数値の先頭にある「0」は 表示されないため、各セルごとに表示されている数値の桁数はバラバラです。 数値の先頭に「0」が付いているセルが多数あり桁数が不揃いなことと、 数値が30桁もあるため、セルの数値表示が「1E+29」のように「E+29」で表示 されてしまっており、うまく数値を抽出することが出来ません。 ◆元データ   「列1」     (1) 1234567890  →(本当は30桁:000000000000000000001234567890)    (2) 111111111100000000001111111111   (3) 1      →(本当は30桁:000000000000000000000000000001)  (4) 123456789012345678909999999999  ◆右端から5桁目だけを抽出する   「列1」      (1)  6      (2)  1      (3)  0      (4)  9   お手数お掛けいたしますが、ご指導下さいますよう宜しくお願い致します。

  • エクセル2016で重複データのみ抽出

    ホームタブ、「条件付き書式」でセルの強調表示ルールの「重複する値」で設定すると、重複する値に色をつけられますね。 この「色のついた」セルを含む行のみを抽出する方法はありますか? 例えば、 1 2 2 3 3 3 4 5 6 6 という列で重複チェックをすると、 2 2 3 3 3 6 6 に色をつけることはエクセルの機能で可能ですが、この行のみ表示で絞り込みたいです。 よろしくお願いします。

  • エクセルで項目抽出

    エクセルで下記のような表から項目を抽出したいのですが うまくいきません A列 りんご みかん りんご ぶどう みかん と入力されていて任意のセルに、A列に入力されている項目から 重複分を除き抽出したいです 具体的には任意セルに「りんご、みかん、ぶどう」と抽出したいのです。 オートフィル機能を使いやってみましたが、 A列に後からデータを追加すると追加データまでは拾えませんでした。 よろしくお願いいたします

専門家に質問してみよう