dポイントプレゼントキャンペーン実施中!

昨日同じ質問をしたのですが、
教えていただいたソフトでは無理でしたので
どなたか教えて下さい!

リストA
リストB

があります。
(順番はそれぞれ違う)

1.両方のリストに名前があるひと
2.Aにしか名前がないひと
3.Bにしか名前がないひと

を調べたいのです。
VBAなどなんでもいいのでご存知の方
ぜひ教えて下さい。
ちなみに、VBAに全然詳しくないので
プログラム方法を書いてください。

ぜひぜひ、よろしくお願いいたします!!

P.S.↓のやりかた、BVAでのやりかた、
わかるかた教えて下さい☆

>二つのファイルを照らし合わせるのは難しくなるので、
>一つのファイルにまとめます。
>sheet1とsheet2に(多い場合はsheetを増やす)
>あとは、BVAで同じものをsheet3に出力
>関数で出来るかはわかりませんがVBAの方が簡単だと思>います。

A 回答 (6件)

[Book1-Sheet1]      [Book2-Sheet1]


   A   B        A   B
1 あああ        1 かかか
2 いいい        2 いいい
3 ううう        3 ききき
4 おおお        4 くくく
5 おおお        5 おおお

上のような表を考えます。

[Book1-Sheet1]のB1に = COUNTIF([Book2]Sheet1!$A$1:$A$5,A1)
B2から下はコピー

[Book2-Sheet1]のB1に = COUNTIF([Book1]Sheet1!$A$1:$A$5,A1)
B2から下はコピー
これで、

[Book1-Sheet1]      [Book2-Sheet1]
   A   B        A   B
1 あああ  0     1 かかか  0
2 いいい  1     2 いいい  1
3 ううう  0     3 ききき  0
4 おおお  1     4 くくく  0
5 おおお  1     5 おおお  2

おのずと答えはわかると思いますが、
B列が『0』ならそのシートにしかない。
B列が『1以上』なら両方のシートにあることになります。


>P.S.↓のやりかた、BVAでのやりかた、
>わかるかた教えて下さい☆

>>二つのファイルを照らし合わせるのは難しくなるので、
>>一つのファイルにまとめます。
>>sheet1とsheet2に(多い場合はsheetを増やす)
>>あとは、BVAで同じものをsheet3に出力
>>関数で出来るかはわかりませんがVBAの方が簡単だと思>います。

上のやり方の妥当性は分かりませんが、この質問に関しては、『VBA』で解決するよりも関数の方がはるかに簡単です。ブック、シートなどの構成も分かりませんし、面倒になるでしょう。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました☆

なんとかできました!

また質問することもあると思いますが
よろしくお願い致します(^o^)/

お礼日時:2004/02/03 17:42

エクセルの「統合」という機能を使ってはどうでしょうか



1.まず、リストを次のような形にして下さい。

<リスト1>
名前    リスト1   リスト2
あああ   1
いいい   1
えええ   1
かかか   1

<リスト2>
名前    リスト1   リスト2
いいい           1
えええ           1
ううう           1
いいい           1


*「名前」、「リスト1」、「リスト2」も必要です。


2.適当なシートに、統合先を準備します。

名前    リスト1   リスト2

を記入し、この3つのセルを選択状態にします。


3.メニューバーから、「データ」->「統合」を選択します。

4.統合範囲を、リスト1の範囲を選択し、「追加」します。
 (「名前」、「リスト1」、「リスト2」も選択)

5.リスト2も選択・追加します。

6.「統合の基準」の「上端行」「左端列」にチェックをします。

7.OKボタンを押します。


結果は、


「名前」、「リスト1」、「リスト2」
あああ   1
ううう          1
いいい   1      2
えええ   1      1
かかか   1

となります。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました☆

なんとかできました!

また質問することもあると思いますが
よろしくお願い致します(^o^)/

お礼日時:2004/02/03 17:42

VLOOKUP関数をお使い下さい。


簡単にできます。
詳細はExcelのヘルプを参照してください。
    • good
    • 0

VBAはちょっと勉強中なので、さしあたりVBAを使わない方法を一つ。



Sheet1とSheet2のA列にA1から名前が入力されているとして、
Sheet3のA列に両方のリストにある名前、B列にSheet1のみにある名前、C列にSheet2のみにある名前を、それぞれ1行目から表示させるとして、

Sheet3の
A1に=IF(ISERROR(MATCH(Sheet1!A1,Sheet2!$A:$A,0)),"",Sheet1!A1)
B1に=IF(AND(Sheet1!A1<>"",ISERROR(MATCH(Sheet1!A1,Sheet2!$A:$A,0))),Sheet1!A1,"")
C1に=IF(AND(Sheet2!A1<>"",ISERROR(MATCH(Sheet2!A1,Sheet1!$A:$A,0))),Sheet2!A1,"")
と入力して以下コピーでできます。

なお名前の入力されているのが別ブック(例えばC:\My Documentsに保存されているBook1、Book2)のSheet1の場合は、
Sheet1 → 'C:\My Documents\[Book1.xls]Sheet1'!
Sheet2 → 'C:\My Documents\[Book2.xls]Sheet1'!
と直してください。

ただし上記操作では空白行ができますので、それを除きたければさらに別シートで処理するか、VBAを使った別の方法にされる必要があると思います。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました☆

なんとかできました!

また質問することもあると思いますが
よろしくお願い致します(^o^)/

お礼日時:2004/02/03 17:42

1.両方のリストに名前があるひと


2.Aにしか名前がないひと
3.Bにしか名前がないひと

とありますが、1.両方のリストに名前があるひとがわかわれば、いいのではないかと思います。
A、Bの各リストの中では重複はないものと考えてよいのでしょうか?ここでは重複はないとします。


Aのリストの名前が入っている列を(A1:A10)、Bリストを(D1:D10)とします。各リストの一番右端でも、どこでもいいのですが、重複しているかどうかを表す列をつくります。ここでは(B1:B10)と(E1:E10)とし、「重複」とでるようにします。

B1にIF(COUNTIF($D$1:$D$10,A1)>1,"重複","")という式をいれB10までコピーします。E1にIF(COUNTIF($A$1:$A$10,D1)>1,"重複","")という式をいれE10までコピーします。
こうするとBとEの列に、重複している人は「重複」とでると思います。

間違っていたらすみません。
また、昨日の質問はみてませんので、同じ回答があったなら、すみません。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました☆

なんとかできました!

また質問することもあると思いますが
よろしくお願い致します(^o^)/

お礼日時:2004/02/03 17:43

ファイルAのシート見出しを右クリックして「移動またはコピー」で移動先ブック名を「(新しいブック)」



コピーを作成する、にチェック。

次にファイルBのシート見出しを右クリックして、先ほどコピーを入れたブックを指定し、
同じようにコピーします。

これで新しいブックに2つのシートが集まったわけです。

お急ぎなら次のサイトの通りにしてみてはどうでしょうか。
サンプルもダウンロードできます。

エクセル技道場
別シートにある文字列との重複チェック
http://www2.odn.ne.jp/excel/waza/cformat.html#SE …

参考URL:http://okweb.jp/kotaeru.php3?q=767715
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました☆

なんとかできました!

また質問することもあると思いますが
よろしくお願い致します(^o^)/

お礼日時:2004/02/03 17:41

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