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

シート1に参加者がいる一覧があり、その中のB列に参加回数があります。
その参加回数の2回目も参加をしている人だけ1回目の参加者をシート2に表示させる方法を探しております。

申し訳ありませんがどなたかご教授いただければ幸いです。
よろしくお願いします。

「excel 2回参加している人のみ1回目」の質問画像

A 回答 (4件)

こんにちは!


表示するのは1回目のデータだけで良いのですね?

一例です。
↓の画像のようの作業用の列を設けるのが簡単だと思います。
画像ではSheet1の作業列F2セルに
=IF(AND(B2=1,COUNTIF(A:A,A2)>1),ROW(),"")
という数式を入れこれ以上データは増えない!というくらいまで下へコピーしておきます。

そしてSheet2のA2セルに
=IFERROR(INDEX(Sheet1!A:A,SMALL(Sheet1!$F:$F,ROW(A1))),"")
という数式を入れ、列・行方向にフィル&コピー!
これで画像のような感じになります。

※ 配列数式を使えば作業列は不要ですが、
PCにかなりの負担を掛けますのでおススメの方法ではありません。m(_ _)m
「excel 2回参加している人のみ1回目」の回答画像3
    • good
    • 0
この回答へのお礼

tom04ありがとうございました。
非常に丁寧に画像つきでのご教授ありがとうございます。
作業列を設けて行う発想がなかったため、非常に目からうろこでした。
本来使うエクセルデータは、データ量も多いため、配列数式を使わない方法でのやり方をご教授頂け助かりました。
またわかりやすい文章で読みやすかったです。
ありがとうございました。

お礼日時:2015/11/09 11:56

画像が小さく読み解く気にならなかったですがなんとか。


二分探索案
F1セル0
F2セル
=SUM(IF(B2>1,0,COUNTIF(A:A,A2)>1),INDEX(F:F,ROW()-1))
下へオートフィル
ただし、参加者データに重複なきこと。

H2セルに
=IF(LOOKUP(8^8,F:F)<ROW()-1,"",ROW()-1)
下へオートフィル
I2セルに
=IF(H2="","",INDEX(A:A,MATCH($H2-1,$F:$F)+1))
右へ、下へオートフィル
H:M列を切り取ってSheet2へ貼り付け

参加者が多く計算速度が遅いようなら検討してみてください
「excel 2回参加している人のみ1回目」の回答画像4
    • good
    • 0
この回答へのお礼

CoalTarさんありがとうございました。
小さな画像ですいませんでした^_^;

この方法でストレスなく処理することができ、希望通りの機能を発揮していただきました。
また、今後膨大な量となってきましたら、ぜひこの方法も利用させていただきたいとおもいます。

ご丁寧にご教授いただき、ありがとうございました。ぺこ <(_ _)>

お礼日時:2015/11/09 12:00

フィルタ機能を使って絞り込めばいいように思うのですが



B列を1でフィルタをかけて絞り込まれた範囲をシート2にコピペすればできると思うのですが。
B列を2でも3でもフィルタかけれるので希望のデータを取り出せると思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。
フィルタでは2回目に参加された1回目の参加した人だけを取り出せずわからなかったです。

また、ほかのデータを取り出すときには利用させていただきますね。
ありがとうございました。

お礼日時:2015/11/09 11:51

》 2回目も参加をしている人だけ1回目の参加者をシート2に


その日本語、奇妙に聞こえます。
「1回目の参加者」は余計、無駄でしょ。なぜなら「2回目も参加をしている人」は必ず「1回目の参加者」だし、「3回目も参加をしている人」は「2回目と1回目の参加者」でもあるしィ~。
    • good
    • 0
この回答へのお礼

日本語能力が低く、申し訳ありません・・・
表にしたいことがうまく言い表せず、悶えておりました。
そこで、このような表現となってしまったことをお許しください。
添付しております画像のように、2回目も参加している1回目の参加者を絞り出したいということです。
1回目しか参加していない人を除きたいと言い換えることもできるかと思います。
言葉が不適切で申し訳ありませんでした。

再度ご回答いただければ幸いです。
よろしくお願いします。

お礼日時:2015/11/06 12:24

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