プロが教えるわが家の防犯対策術!

sheet1に、男女混合名簿を作成しました。
   A    B    C    D    E
1  年   組   性  名前   住所 
2   1   1    男   山田   東京都
3   1    1   女   鈴木   神奈川県
4   1    1   男   高橋   埼玉県
5 1 1 男  佐藤  千葉県
6 1 1 女  田中 茨城県
7 1 1 男  松井  沖縄県

sheet2に、男女別の名前だけの名簿(男だけが先女だけが後)
  A   B  C  D  E
1 山田
2 高橋
3 佐藤
4 松井
5 鈴木
6 田中
のようにしたいのですが、どうしたらいいですか?
(1)sheet1が変更されたら、sheet2も自動的に変更したい。
(2)VBAなしで
という初心者向けのわがままですが、よろしくお願いいたします。
 

A 回答 (5件)

論理的に説明が難しいので数式を説明しません。



Sheet2のA1セルに次の式を入力し、Ctrl+Shift+Enterで確定してください。

=INDEX(Sheet1!D$1:D$7,MOD(SMALL((Sheet1!C$2:C$7="男")*ROW(C$2:C$7)+((Sheet1!C$2:C$7="女")*1000+(Sheet1!C$2:C$7="女")*ROW(C$2:C$7)),ROW()),1000))

男女の判別データ(Sheet1のD列)に空欄があると正しい処理になりませんので注意してください。
提示のリストでは実効の元データがC2~C7でありその範囲のみで式を組み立てています。
空欄が含まれているときは判定方法を変更する必要があります。
「excel男女混合名簿を別のシートへ男女」の回答画像4
    • good
    • 3
この回答へのお礼

ありがとうございます。うまくいきました。助かります。
ただ式の意味がよくわかりませんが…。
そこはがんばってみます。

お礼日時:2014/02/01 21:35

難しい関数を使わずに初歩的な操作手順は


1. sheet1の 男 山田 から 男 松井 までを選択・右クリック・コピー
2. sheet2選択
3. A1 セルを選択・右クリック・形式を選択して貼り付け・ リンク貼り付け・OK
4. 男 山田 から 男 松井 まで選択
5. データ・並べ替え・最優先されるキー「A」・順序「降順」・OK
6. 「A列」の「A」を右クリック・削除
7.質問で要求のsheet2完成できます。
「excel男女混合名簿を別のシートへ男女」の回答画像5
    • good
    • 0
この回答へのお礼

図まで用意していただき、ありがとうございます。

お礼日時:2014/02/01 21:32

自動は?


シート1をシート2にコピーして
データ 並び替え で性別で並び替える。
    • good
    • 0
この回答へのお礼

簡単な方法ありがとうございます。

お礼日時:2014/02/01 21:37

補助列を使わずに1つの式で男女別に名前を表示しなおすなら、Sheet2に以下の式を入力して下方向にオートフィルコピーしてください。



=INDEX(Sheet1!D:D,SMALL(INDEX((Sheet1!$C$2:$C$100<>"男")*100+ROW($C$2:$C$100),),ROW(A1))-(COUNTIF(Sheet1!$C$2:$C$100,"男")<ROW(A1))*100)&""
    • good
    • 2
この回答へのお礼

ありがとうございます。
チャレンジしてみたら、うまくいきました。

お礼日時:2014/02/01 21:36

普段使いの簡単な関数だけで作成してみます。



手順:
シート2のA1に「番号」と記入する
A2に
=IF(Sheet1!C2="","",(Sheet1!C2="女")*100+COUNTIF(Sheet1!$C$2:C2,Sheet1!C2))
と記入、以下人数分コピー貼り付ける

B1に「名前」と記入、
B2に
=IF(A2="","",INDEX(Sheet1!D:D,MATCH(SMALL(A:A,ROW(A1)),A:A,0)))
と記入、以下コピーする


#A列が邪魔で邪魔でどーしようもないなら、J列とかどっか別の邪魔にならない場所に作成しても全然かまいません。まぁA列ごと隠してしまった方が簡単ですが。
    • good
    • 1
この回答へのお礼

ありがとうございます。
変更しても、反映されて助かります。

お礼日時:2014/02/01 21:38

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