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

Excel関数で、名簿を五十音順に並べ替える。

宜しくお願いします。
元の名簿は、登録順に並べられています。

元の表を参照し、五十音順に並べた表をExcel関数で出来るでしょうか?

A 回答 (2件)

Excelで名前の読みを漢字に変換したのでしたら、名前の列を並べ替えの対象にすることで五十音順になります。



他からコピーしてきたり、違う読みを変換したりして作成したのでしたら無理。
読み仮名に関する情報が正しく Excelに入力されていません。
読み仮名に関する情報が無い場合は、漢字やひらがななどのコードで並べ替えが行われます。
ですので異音どころか名前として並べ替えを行っているのにとんでもない順番に並んだりします。
 <例>
 あ:JISコードで 2422
 阿:JISコードで 3024
この場合、別途仮名を入力してその列を対象に並べ替えを行ってください。

この回答への補足

早速の回答有り難う御座います。

並べ替えでも良いのですが、登録者が、常ではありませんが、増減します。
出来れば、元表を参照し、増減した場合でも、別表には、一覧として五十音順に空白行無しに並んでいると言うのがほしいのです。
関数で出来ないでしょうか?
ややこしいこといってすいませんが、宜しくお願いします。

補足日時:2010/06/11 22:43
    • good
    • 2

こんばんは!


一例です。
↓の画像で説明させていただきます。
Sheet1のデータをSheet2に五十音別に表示するようにしています。

Sheet1に作業用の列を2列設けています。
作業列D2セルに
=IF(A2="","",PHONETIC(A2))
E2セルに
=IF(D2="","",COUNTIF($D$2:$D$1000,"<"&D2)+COUNTIF($D$2:D2,D2))

という数式を入れ、D2・E2セルを範囲指定し、オートフィルで下へずぃ~~~!っとコピーします。
(E列の数値はD列が空白でも数式が入っていればカウントしてしまいますので、
かなりかけ離れた数値になると思いますが、あまり気にしなくてOKです。)

そして、Sheet2のA2セルに
=IF(B2="","",ROW(A1))

B2セルには
=IF(COUNT(Sheet1!$E$2:$E$1000)<ROW(A1),"",INDEX(Sheet1!A$2:A$1000,MATCH(SMALL(Sheet1!$E$2:$E$1000,ROW(A1)),Sheet1!$E$2:$E$1000,0)))
という数式を入れ、列方向(画像ではD2セルまで)オートフィルでコピーします。

最後にA2~D2セルを範囲指定し、D2セルのフィルハンドルでオートフィルで下へコピーすると
画像のような感じになります。
これで、Sheet1のデータに増減があってもSheet2にちゃんと反映されると思います。

尚、数式はSheet1の1000行目まで対応できるようにしていますが
データ量によって範囲指定の領域はアレンジしてください。

以上、長々と失礼しました。
参考になれば良いのですが・・・m(__)m
「Excel関数で、名簿を五十音順に並べ替」の回答画像2
    • good
    • 8
この回答へのお礼

有り難う御座います。

現在、名簿作成の担当を引き継ぎまして、悪戦苦闘している最中です。

前任者のが色々入り組んでいて、参照がよく分からない表になっています。

引き継ぎできるようにと思っているのですが、なかなかそうも上手くいきそうにないですね。

でも、これだけの詳細の説明をつけて頂くと、表の説明に大変役に立ちます。

たいへん助かりました。有り難う御座います。

お礼日時:2010/06/12 07:39

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

このQ&Aを見た人はこんなQ&Aも見ています