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

いつもお世話になっています。

エクセルの名簿でA列に番号がB列に氏名が入っているとします(実際はPまで項目が
あります) 
番号は氏名に固有の番号で4桁です。それが200以上入っていて、同じ人間が
何度も出てきます。
その中で12名の人間を抜き出したいのですが、オートフィルタや並べ替えをしても
手間がかかります。
該当する数字があればC列に”1”と表示させるようにできれば、オートフィルタが
楽になるのですが良い方法はないでしょうか?

WindowsXPでOffice2003を使用しています。
不明な点があれば補足します。よろしくお願いします。

A 回答 (4件)

>該当する数字があればC列に”1”と表示させる



シート2のA2:A13に目的の12名の番号を(ランダムに)選出してあるとすると
リストのC2には
=COUNTIF(Sheet2!$A$2:$A$13,A2)*(COUNTIF($A$2:A2,A2)=1)
以下コピー
としておくと,用意の番号に該当し,かつ一番最初に出てきた行に1が入ります。



#ご質問の直接の回答として,「該当した数字は全部1」にしてしまってよいなら
=COUNTIF(Sheet2!$A$2:$A$13,A2)
だけになります。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
抽出、抽出と考えていてcountifを使うなんて
思っても居ませんでした。
おかげて作業がはかどります。ありがとうございました。

お礼日時:2011/05/09 11:15

Qの列に抽出したい氏名の番号を入力します。


1行目位には項目名が有るとしてC2セルには次の式を入力してオートフィルドラッグします。

=IF(COUNTIF(Q:Q,A2)>0,1,"")

C列の1を抽出するようにすればよいでしょう。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。ばっちりできました!!

お礼日時:2011/05/09 11:17

>オートフィルタや並べ替えをしても手間がかかります


一番良さそうなのはデーターフィルターフィツタオプションの設定、でしょう
 データとは別列に
例えばF列(番号を2桁として)
番号
33
55
23
56
と質問の場合は12人分入力する。関数であろうとも12人分も番号の入力は必要になるだろう。
データーフィルターフィツタオプションの設定
指定した範囲にチェック
リスト範囲 $A$1:$A$
検索条件範囲$F41:$F$5
抽出範囲 $c$1:$c$11
データ例
番号
22
33
44
55
66
13
23
34
56
結果
番号
33
55
23
56
33
---
 番号以外の項目がある場合(それが普通だが)はデータ範囲でそこも含めて指定し、抽出範囲のところで、 第1行目に項目名だけ指定しておくと、出す項目(列)が絞れる。
実際仕事などやっている場合は、複雑な関数式を考えているひまはない。
出来るだけ操作を使おう。
ーー
これは抜き出し問題で、関数による抜き出しは、エクセルの関数に良いものが無く、1人分の抜き出し問題でもいかに複雑になるかは、Googleで「imogasi方式」で照会し、出てくる質問の回答で(私以外の回答で)、式の複雑なことを見てみるが良い。まして複数12人だと作業列を使うことは必須かなと思う。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
仰るとおり、関数を考えている時間がもったいないですね。
フィルタオプションをはじめて使いましたが、使えそうです。やってみます。

お礼日時:2011/05/09 11:07

一例です。


見出し行があるとして2行目から以下の数式を設定、下方向にコピーしてみて下さい。
結果は、「1」はオリジナル、「2以上」は重複入力分になります。
=COUNTIF($A$2:A2,A2)
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
今回は抽出したかったので出来ませんでしたが
$A$2:A2という範囲の指定方法は知らなかったので参考になりました!

お礼日時:2011/05/09 11:02

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