こんばんは!
具体的な表のレイアウトが判らないので、
やり方だけ・・・
>年齢順になっている
は
年齢の昇順というコトにしています。
↓の画像で右側が入力用でSheet1・右側が表示用でSheet2とします。
Sheet2のA2セルに
=IF(B2="","",INDEX(Sheet1!A$1:A$1000,SMALL(IF(Sheet1!B$1:B$1000=B2,ROW(A$1:A$1000)),COUNTIF(B$2:B2,B2))))
これは配列数式になりますので、Shift+Ctrl+Enterで確定!
この画面からコピー&ペーストする場合は、
上記数式をドラッグでコピー → A2セルを選択 → 数式バー内で一度クリック → 貼り付け
→ そのまま(編集可能のまま)Shift+Ctrlキーを押しながらEnterキーで確定!
数式の前後に{ }マークが入り配列数式になります。
次にSheet2のB2セルに
Excel2007以降の場合は
=IFERROR(SMALL(Sheet1!B:B,ROW(A1)),"")
Excel2003まででは
=IF(COUNT(Sheet1!B:B)<ROW(A1),"",SMALL(Sheet1!B:B,ROW(A1)))
これは配列数式ではありません。
最後にA2・B2を範囲指定 → B2セルのフィルハンドルで下へコピーすると
画像のような感じになります。
※ 配列数式はPCにかなりの負担をかけ、データ量が極端に多い場合は計算速度が遅くなります。
その場合は作業用の列を設ける方法が良いと思います。m(_ _)m