• 締切済み

エクセルでA列-B列=C列 の抽出方法について

エクセルの初歩的な質問になってしまうかもしれませんが A列の値からB列の値で重複する値を削除して C列を作る方法を教えてください。 A列 a b c d B列 c d から 結果 C列 a b のような結果が得られる処理方法を お願い致します。

みんなの回答

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

こんばんは! すでに数種の回答が出ていますので かぶっているものがあるかもしれませんが・・・ ↓の画像のように作業列を使った方法になります。 C2セルに =IF(COUNTIF($B$2:$B$5,A2)>0,"",ROW(A1)) としてオートフィルで下へコピー この作業列を参照し、D列に表示させます。 D2セルに =IF(COUNT($C$2:$C$5)>=ROW(A1),INDEX($A$2:$A$5,SMALL($C$2:$C$5,ROW(A1))),"") という数式をいれて下へオートフィルでコピーしてみてください。 希望に近い形になると思います。 尚、データはA2~A5までの数式ですので データ量によって範囲指定を広げてみてくださいね。 そして、作業列が目障りであれば B列すべてを範囲指定して「非表示」にしても良いと思います。 以上、参考になれば幸いですが、 的外れの回答なら軽く読み流してくださいね。m(__)m

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

Googleで「imogasi方式」で照会すれば、私の回答した抜き出しの問題がたくさん出ます。 その」亜種です。B列を条件としてB列に無い行を抜き出す。 例 A列   B列   C列(関数で算出) a c 1 b d 2 c d C2の式は =IF(COUNTIF($B$2:B$100,A2)=0,MAX($C$1:C1)+1,"") 下方向に式を複写。 D列にD2に =INDEX($A$1:$A$100,MATCH(ROW()-1,$C$1:$C$100,0),1) 下方向に式を複写する。 結果 a b #N/A #N/Aを出さないようには、ROW()-1がC列の最高値を超えると空白というIF関数をかぶせてください。 詳細は上記WEBの中の該当を探してください。 こういう風に抜き出しは関数では面倒なのだ。

  • sige1701
  • ベストアンサー率28% (74/260)
回答No.3

こんな感じ =INDEX($A$1:$A$4,SMALL(INDEX(COUNTIF($B$1:$B$2,$A$1:$A$4)*100+ROW($A$1:$A$4),),ROW()))

  • minosennin
  • ベストアンサー率71% (1366/1910)
回答No.2

一例です。 1.A列のデータで、B列に重複したデータのないものだけをC列に抽出(2行目以降にデータがあるものとします) C2に=IF(COUNTIF(B:B,A2)=0,A2,"")と入力し下へ必要数ドラッグ これで目的のデータがC列に表示されます。ただし、空白行がそのまま含まれます。 2.空白行を上に詰める 関数では私の手に負えないので、フィルタ機能で「□空白」のチェックを外せば上に詰めて表示されます。

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.1

C1に =IF(COUNTIF(B:B,A1)>0,"",A1) と入力して、C2以下にコピペ。

関連するQ&A

専門家に質問してみよう