AKB48の推しメンをセンターにできちゃうかもしれない!? >>

エクセルで、「A列とB列にそれぞれ単語がたくさん入力されています。A列にはあるが、B列にはない単語を抽出して、C列に残す」ということをやりたいのですが、どなたか関数を教えていただけないでしょうか?
すみませんが、エクセルの関数を教えていただけないでしょうか。

単語のリストが2つあります。
A列に、片方のリストを入れ、B列にもう片方のリストを入力してあります。

■やりたいこと 1: 2つのリストには重複している単語があるため、重複している単語は削除して、A列だけに存在する単語をC列に入れたいと思っています。

■やりたいこと 2: 最終的には、C列には、空のセルを作らず、上のほうの行に詰めた形に整えたいと思っております。

以上の2つについて、どちらかだけでもやり方を教えていただければ、大変助かります。

どうぞよろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

こんばんは!


一気に!となるとすでに回答されているように配列数式等を使う必要があります。

そこでVBAでの一例です。
1行目は項目行でデータは2行目からあるとします。

画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので
↓のコードをコピー&ペーストしてマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)

Sub test() 'この行から
Dim i As Long
Application.ScreenUpdating = False
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
If WorksheetFunction.CountIf(Columns(2), Cells(i, 1)) = 0 Then
Cells(Rows.Count, 3).End(xlUp).Offset(1) = Cells(i, 1)
End If
Next i
Application.ScreenUpdating = True
End Sub 'この行まで

※ ご希望の方法でなかったらごめんなさいね。m(_ _)m
    • good
    • 8
この回答へのお礼

どうもありがとうございました!

マクロについての知識はなかったのですが、書いていただいた通りにやってみたところ、すぐに欲しい結果を得ることができました。

急いでいたので、大変助かりました。

お礼日時:2012/02/07 21:29

添付図参照

「A列にあってB列にはない単語をC列に残し」の回答画像5
    • good
    • 0
この回答へのお礼

ご回答いただき、どうもありがとうございました。

せっかく画面キャプチャまでして頂きましたが、拝見しただけでは理解できませんでした。。。理解力不足で申し訳ありません。

お礼日時:2012/02/07 21:31

>関数を…関数を…



ムダなアプローチです。


手順:
A1からA100まであるとして。
C1に
=INDEX(A:A,SMALL(IF(COUNTIF(B:B,A$1:A$100),9999,ROW(A$1:A$100)),ROW(C1)))&""
と記入し,コントロールキーとシフトキーを押しながらEnterで入力します
下向けにコピーします。
    • good
    • 1
この回答へのお礼

ご回答いただき、どうもありがとうございました。

質問の文章がおかしいことに気づいていませんでした。ご指摘いただき、ありがとうございます。おっしゃる通りで、エクセルの知識がほとんどないからか、関数さえできれば何でも出来るのかと思ってしまっていました。

教えて頂いた式を入れて実行してみたのですが、なぜかうまくいかず。。。せっかく教えて頂いたのに申し訳ありません。

お礼日時:2012/02/07 21:33

一例です。


(1)A・B列に見出し行(文字列は任意)を挿入
(2)C2に=COUNTIF(B:B,A2)=0を入力、下方向にコピー
(3)オートフィルタを設定→C列のフィルタボタンでTRUEを選択→A列をコピー、
   C列に貼り付け→オートフィルタの解除
    • good
    • 2
この回答へのお礼

ご回答いただき、どうもありがとうございました。

教えていただいたようにやってみたところ、うまく出来ました。

一つのことを実行するのに、何通りものやり方があることがわかり、勉強になりました。

ありがとうございました。

お礼日時:2012/02/07 21:36

作業列を例えばC列に作ってD列にお求めの表を作るとしたら次のようにすればよいでしょう。


2行目から下方にデータがあるとしてC2セルには次の式を入力して下方にオートフィルドラッグコピーします。

=IF(A2="","",IF(AND(COUNTIF(A$2:A2,A2)=1,COUNTIF(B:B,A2)=0),MAX(C$1:C1)+1,""))

D2セルには次の式を入力して下方にオートフィルドラッグコピーします。

=IF(ROW(A1)>MAX(C:C),INDEX(A:A,MATCH(ROW(A1),C:C,0)),"")
    • good
    • 1
この回答へのお礼

早速ご回答いただき、どうもありがとうございました。

教えていただいた通りにやってみたのですが、なぜかうまく行きませんでした。
エクセルに関する知識が不足しているんだと思います。

せっかく教えていただいたのに申し訳ありません。
いずれにしても、どうもありがとうございました。

お礼日時:2012/02/07 21:38

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QB列の値がA列にあるかを調べる関数

excel2010を使っています。
題名の通りなのですが、B列にある値がA列にあるかを関数を使って求めたいと思います。

B列に290個、A列に259個の値が入力されていて、

・B列にあってA列にないもの
・A列にあってB列にないもの

の両方を見つけ出したいのですが、よい関数を教えてください。exact関数ではダメでした。

Aベストアンサー

C1セルに
=IF(COUNTIF(B:B,A1),"","このAはAにあってBに無い")
以下コピー
D1セルに
=IF(COUNTIF(A:A,B1),"","このBはBにあってAに無い")
以下コピー

とそれぞれ埋めて検査します。

QExcelで[表1]にあって、[表2]にないものを抽出する関数

Excelで[表1]にあって、[表2]にないものを抽出する関数

例)[表1]   [表2]
   A社     A社
   D社     D社
   R社     P社
   P社     R社
   D社
   F社
   F社

上記は簡単に書きましたが、表1に重複するものも含め、300社程度あるなかで
表2にリストアップされていない会社を見つける関数やその他方法論があれば
ぜひ教えてください!
(例でいえば、F社を見つける方法です。)

抽出するのは別シートでも、同じシートでも構いません。

Excel2003でも対応できるものであれば、なお嬉しいです。

よろしくお願いします。

Aベストアンサー

Countif関数で同じものがいくつあるか数えさせます。
   A   B        C
  [表1]表2にある数   [表2]
   A社          A社
   D社          D社
   R社          P社
   P社          R社
   D社
   F社
   F社
だとして
B列に =Countif(C:C,A2)
と入れて下までコピィすれば 表2に同じものがいくつあるか出ますので
0 がないものです。

Qエクセル【A列とB列の不一致を知りたいです】

初めまして。
お忙しい中、大変申し訳ございませんが、下記に関して、ご指導のほど、宜しくお願い致します。

***************
【例】
A列    B列

あめ    チョコ
ガム    ポテトチップス
チョコ   あめ
       ガム


という列があり、A列はA1000まで続き、B列はB3000まで続きます。
必ずしも、A列の横に同じお菓子名があるわけではありません。

そこで、A列とB列を比較し、B列にしかないもの(上記「例」ではポテトチップス)のセルに色づけ、もしくはC列に、不一致するものだけ「NG」等が記載される数式を教えてください。

お忙しい中、大変申し訳ございませんが、
何卒宜しくお願い申し上げます。

Aベストアンサー

条件付書式で、B列のセルに
「数式が」
=ISERROR(VLOOKUP(B1,A:A,1,FALSE))
で書式を設定し下にコピーすると、無いものだけが書式変更されます。

同じように、B列の隣のC列に
=IF(ISERROR(VLOOKUP(B1,A:A,1,FALSE)),"NG","")
として下にコピーしても隣にNGと表示できます。

Qエクセル A表にあってB表に無い値を探したいのですが

 いつもお世話になっています。
 エクセルA表とB表の2つの表で、A表にあってB表にない値(具体的には数字5桁のコードなのですが)を探し出したいのですが、意外といい案が思いつかずご相談致しました。
 宜しくお願い致します。

Aベストアンサー

A表のコードがA列にあって、
B表のコードがF1:F200の範囲にあるとします。

とりあえずB列に1行追加して以下の式をA表の行数分コピーしてください。
[B1]=IF(ISERROR(VLOOKUP(A1,$F$1:$F$200,1,FALSE)),"Bにないよ","")

QエクセルのA列とB列にあるデーターのうち、同じデーターを抽出する

 A列  B列
a1111 z2222 *A列にもB列にも500件ほどの
a2222 y3333  メールアドレスが入っています。c3333 a1111  ダブっているアドレスもあります。
 ・   ・   ダブっているアドレスだけを抽出  ・   ・   したいのですが?
 ・   ・   宜しくお願いします。  

Aベストアンサー

C列の1行目に以下の式を入力し、B列のデータの最後までコピーします。

=IF(COUNTIF(A:A,B1)=0,"","重複")

B列の該当セルとA列を比較してA列に同じものがあれば、”重複”と表示します。

Qエクセルで重複しているデータの抽出のしかたを教えてください。

エクセルで重複しているデータを抽出したいのですが・・。なにぶん初心者なもので簡単な方法があればよいのですが・・。
A列に日付 B列に企業名このデータが300件ほどあります。

 Å列      B列
1月 1日    AAAA社
1月 4日   BBBB社
1月 8日   CCCC社
2月 1日   BBBB社
2月20日    DDDD社
3月 2日   AAAA社

と、あるとしてB列の企業名が重複しているものを抽出したいのですが・・・。この場合 AAAA社とBBBB社ですが。
これを簡単に抽出する方法はないでしょうか?
教えてください お願いいたします。

Aベストアンサー

企業名がセルB2からセルB300まで入力されていると仮定します。
セルC2に IF(COUNTIF($B$2:B2,B2)>1,"*","") を入力し、セルC300までコピーして下さい。すると重複したデータの二番目以降に "*" のマークが付きます。
(注) 数式を下のセルまでコピーするため、COUNTIF($B$2 は絶対参照にして下さい。

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

QエクセルでリストA、B、Aのリストにない名前の抽出

機械部品の名前のリストが2つあります。
A~Z順に1000個ほどあります。

例:Ajuh
Ajug

  ・
  ・
  Zane・・

ほとんど同じ内容のリストBがありますがBにはAにない部品の名前が混じっています。
二つを照らし合わせて、Aにない部品名だけを抽出する事は可能でしょうか?

言い換えればBだけにある部品名を抽出したいと考えています。

一つ一つ確認するにはかなり時間がかかってしまいます。

どなたか操作方法ご存じの方、どうぞご教示願います。

Aベストアンサー

オートフィルタで抽出する方法は如何でしょうか。
仮にAリストはSheet1、BリストはSheet2、データ列はA列で見出し行ありとします。
(1)Sheet2のB2に=COUNTIF(Sheet1!A:A,A2)>0を入力、A列の有効行までコピー
   B列にはAリストと重複した場合はTRUE、無い場合はFALSEと表示されます   
(2)Sheet2のA1を選択→オートフィルタを設定→B1のフィルタボタンでFALSEを選択で
   Aリストにない部品名が抽出されます。
   
因みにエクセルのご質問の際には、エクセルのグレード名(エクセル2007等)を明示して
下さい。

QエクセルでA列とB列の差分を抽出

エクセルでA列にはあるがB列にはない項目を抽出するにはどうしたらよいでしょうか。
下の例だと、C列あたりに、山本、川田を抽出したいのですが……
A列にはB列のデータがすべて含まれています。
A列は10月と11月のデータで、B列は10月のデータです。

A列   B列
山田  山田
山本  川上
川田
川上

Aベストアンサー

色々な方法がありますが、COUNTIF関数とIF関数で、一致するものしないものが選択できそうですね。
データがA1:A4、B1:B2にあるとします。
C列に
=IF(COUNTIF($B$1:$B$2,A1)=0,A1,"")
と入力すれば、A1の値がB列の範囲内になければ、A1を表示、ない場合には何も表示しません。
ご確認下さい。

Qエクセルで条件に一致したセルの隣のセルを取得したい

下のような「得点」という名前のシートがあります。
(「田中」のセルがA1です。)

 [ 田中 ][ 10 ][ 200 ]
 [ 山田 ][ 21 ][ 150 ]
 [ 佐藤 ][ 76 ][ 250 ]
 [ 鈴木 ][ 53 ][ 350 ]

別のシートのA1セルに、「佐藤」と入力すると、

 [ 佐藤 ]

「得点」シートから「佐藤」の列を見つけて、B1、C1に

 [ 佐藤 ][ 76 ][ 250 ]

のように表示させたいのですが、B1、C1にはどのような式を書けば良いのでしょうか。
「得点」シートでは氏名が重複する事はありません。
IF文を使うと思うのですが、いまいち良く分かりませんでした。

よろしくおねがい致します。

Aベストアンサー

こんにちは!
VLOOKUP関数で対応できます。
IF関数と併用すればエラー処理が可能です。

Excel2007以降のバージョンであれば
B1セルに
=IFERROR(VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0),"")
としてC1セルまでオートフィルでコピー!
そのまま下へコピーすると行が2行目以降でも対応できます。

Excel2003までの場合は
=IF($A1="","",VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0))

としてみてください、m(_ _)m


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング