プロが教える店舗&オフィスのセキュリティ対策術

sheet1        sheet2      sheet3

19000001 a    19000001 a   19000001 aa
19000001 aa   19000002 b    19000005 ee
19000002 b    19000003 c
19000003 c    19000004 d
19000004 d    19000005 e
19000005 e    19000006 f
19000005 ee   19000007 g
19000006 f    19000008 h
19000007 g    19000009 i
19000008 h    19000010 j
19000009 i    19000011 k
19000010 j    19000012 l
19000011 k
19000012 l

sheet1にあるデータから sheet2にはないデータをsheet3に抜き出したい
できるだけ簡単な方法を教えてください

A 回答 (4件)

こんにちは。



 sheet1の各値をvlookup関数でsheet2から検索して、エラーになった行がsheet2にないデータです。
 vlookup関数の使い方はExcelのヘルプを見てください。

では。
    • good
    • 0

もし貴方が[フィルタオプションの設定]の経験者なら、同方法の特殊な使い方を紹介します。


一般的な[フィルタオプションの設定]のやり方を知っていますか?

示されたデータは1列のものですか?それとも2列のものですか?
(こういうことはキチンと説明しておくべきです!)
    • good
    • 0

シート1、シート2ともにA列にデータがあるとします。


わかりやすい方法は次のようにすることでしょう。
シート1のB1セルに次の式を入力して下方にオートフィルドラッグします。
=IF(OR(A1="",COUNTIF(Sheet2!A:A,A1)>0),"",ROW(A1))
これでシート2にないデータについてはその行番号が表示されます。
次にお求めのシート3については次のようにします。
A1セルに次の式を入力して下方にオートフィルドラッグします。
=IF(ISERROR(SMALL(Sheet1!B:B,ROW(A1))),"",INDEX(Sheet1!A:A,SMALL(Sheet1!B:B,ROW(A1))))
これでA列にはシート1に有ってシート2にないデータが表示されます。
なお、お示しのデータが例えばA列とB列に分かれてある場合にはC1セルに=A1&B1と入力して下方にオートフィルドラッグして二つのセルのデータを合わせた文字列を作ります。シート2についても同様にします。その上で上に述べたと同じ手法で合成した文字列について実施すればよいでしょう。
    • good
    • 0

2つの条件で探す場合ですね?



できるだけ簡単にということですので、A列とB列を結合した値を使うのが良いでしょう。

(1) Shett1のC1に
  「= $A1 & $B1」と入力して、他の行にもコピー
(2) Sheet2のC1にも同じように
  「= $A1 & $B1」と入力して、他の行にもコピー
(3) Sheet1のD1に
  「=IF(ISERROR(VLOOKUP(Sheet1!$C1,Sheet2!$C$1:$C$12,1,)),"ない", "")」と入力して、他の行にもコピー

とやると、見つからない行だけSheet1のD列に「ない」と表示されます。

(4) Sheet3のA1に
  「=IF(Sheet1!$D1="ない",Sheet1!$A1, "")」と入力して他の行にもコピー
(5) Sheet3のB1に
  「=IF(Sheet1!$D1="ない",Sheet1!$B1, "")」と入力して他の行にもコピー

ここからは数式では面倒になるので、オートフィルタで空白行以外を表示させる…。

最後だけあまりスマートでなくて申し訳ないです。
    • good
    • 0

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