- エクセルの初期設定では並べ替えにふりがなを利用していることを理解しておきましょう。
なお、並べ替えの基準はふりがなと文字コード順を切り替えることが出来ます。
- ツールバーとメニューのコマンドと2種類ありますが、両者の使い方の違いも理解しましょう。
- 【例】下表のデータを合計得点の高い順に並べ替えます。
|
B |
C |
D |
E |
F |
G |
H |
2 |
No |
氏名 |
国語 |
算数 |
理科 |
社会 |
合計 |
3 |
1 |
岡田 |
70 |
65 |
71 |
77 |
283 |
4 |
2 |
会田 |
55 |
61 |
66 |
48 |
230 |
5 |
3 |
河合 |
82 |
77 |
83 |
88 |
330 |
6 |
4 |
近藤 |
72 |
78 |
74 |
73 |
297 |
7 |
5 |
井上 |
61 |
55 |
52 |
65 |
233 |
8 |
6 |
木下 |
86 |
98 |
94 |
87 |
365 |
9 |
7 |
植田 |
68 |
78 |
75 |
66 |
287 |
10 |
8 |
佐々木 |
81 |
67 |
71 |
86 |
305 |
11 |
9 |
桑田 |
62 |
64 |
61 |
69 |
256 |
ツールボタンから実行する
- 並べ替えのキー(基準)となる合計の列(H列)のセルを選択します。
- データがひとまとまりである場合は、データ範囲をExcelが自動で判別します。
空白行や空白列を挟まないデータ範囲なら、データ範囲を選択しなくてもOKです。
- [降順で並べ替え]ボタンをクリックすると、得点の高い順に並べ変わります。
メニューバーから実行する
- データ内(リスト内)のセルを選択します。
- データがひとまとまりである場合は、データ範囲をExcelが自動で判別します。
空白行や空白列を挟まないデータ範囲なら、データ範囲を選択しなくてもOKです。
- メニューバーの[データ]→[並べ替え]を選択します。
最優先されるキーで「合計」を選択し、「降順」にチェックを入れます。
[OK]ボタンをクリックすると並べ替えられます。
- 範囲の先頭行:先頭行を並べ替えるか否かを設定します。
- タイトル行:データ範囲の先頭行がタイトル(項目名・見出し)などの場合、チェックを入れる。
- データ:データ範囲が全て並べ替えの対象データである場合、チェックを入れる。
- 表の一部分を並べ替えます。
※データ表に下表のような並べ替えない行(平均の11行目)が隣接している場合など
ツールバーの【降順で並べ替え】を利用する方法
- 並べ替えるデータのセル範囲を選択します。
例では B2:H11 を選択しました。
- 基準となる列へアクティブセルを移動します。
- B2から選択した場合、[Tab]キーを6回押してH2セルをアクティブにします。
- [降順で並べ替え]ボタンをクリックすると、得点の高い順に並べ変わります。
メニューから実行する方法
タイトル行を含めて選択する場合
- B2:H11を選択します。
- メニューバーの[データ]→[並べ替え]を選択します。
- 最優先されるキー:「合計」を選択する。
- 「降順」にチェックを入れる。
- 範囲の先頭行:「タイトル行」にチェックを入れる。
※ シートの選択範囲がデータ範囲(B3:H11)に自動で変わります
- 【OK】ボタンをクリックすると並べ替えられます。
データ範囲のみを選択する場合
- B3:H11のデータ範囲のみを選択します。
- ニューバーの[データ]→[並べ替え]を選択します。
- 最優先されるキー:「列H」を選択する。
※タイトル行が選択範囲に含まれていないので、項目名は表示されず、列番号が表示される。
- 「降順」にチェックを入れる。
- 範囲の先頭行:「データ」にチェックを入れる。
- [OK]ボタンをクリックすると並べ替えられます。
- 文字列(日本語)を並べ替える時は「ふりがな」を使うか否かを設定します。
初期状態では「ふりがなを使う」設定になっています。
- 並べ替える文字列に「ふりがな」が有るか無いかによって、順序が変わることになります。
※「ふりがな」の状況は書式→ふりがな→表示/非表示で表示して確認できます。
- 標準の状態では「ふりがな」を使って並べ替えられます。
- [データ]→[並べ替え]の[オプション]ボタンをクリックします。
- 「並べ替えオプション」ダイアログの「方法」で「ふりがなを使う」にチェックが入っているのを確認します。
- ふりがなの昇順に並べ替わりました。
- 『ふりがなを使わない』で並べ替えると、下表のように、文字コード順になります。
※ A3=CODE(C3)として、A列に1文字目のコードを参考までに並べておきます。
- 他のソフトからコピーしたりしたデータにふりがな情報がない場合があります。
一つずつふりがなを入力するのは大変ですので、多少の誤変換は我慢して一挙にふりがな情報を付けたいと思います。
- なお、ここで紹介する方法はMS-IMEのかな漢字変換用辞書を用いて、かな漢字変換を行うときとは逆に、漢字文字列からひらがなに変換する仕組みとなっています。
読みが複数有る物は"正しい"読みに変換されない可能性があります。
Wordのルビ機能を利用する方法
- B列にふりがな情報の無いデータをコピーしました。
C列には=PHONETIC(B2)でふりがなを表示していますが、漢字が入っています。
- B3:B11セルを選択し、コピーボタンをクリックします。
- Wordを起動し、[編集]→[形式を選択して貼り付け]を選択します。
「貼り付ける形式」で『テキスト』を選択し、OKボタンをクリックします。
- 貼り付けた文字列を選択し、書式→拡張書式→ルビ を選択します。
- ルビが自動で生成されます、変更がある部分はこの画面で修正できます。
- [OK]ボタンをクリックします。
- ルビの付いた文字列をコピーし、Excelのセルへ貼り付けます。
下図のようにふりがな情報が加わりました。
VBAでふりがなを付ける
- 文字列を選択して、下のコードを実行します。
Sub furigana()
Selection.SetPhonetic
End Sub
ショートカットキー
- 【Alt】+【Shift】+【↑】 でふりがなの編集ができます。
ただし、セルを1つずつ処理することになります。
- 更に、【Alt】+【Shift】+【↑】 で振り仮名の候補が表示され選択して入力できます。
【例】下表のような数字+文字列のCodeを並べ替えると数字の順番に並べ替えることができません。
並べ替え前 |
並べ替え後 |
|
B |
C |
2 |
No |
Code |
3 |
1 |
1aa |
4 |
2 |
12aa |
5 |
3 |
2aa |
6 |
4 |
11aa |
7 |
5 |
3aa |
|
|
B |
C |
2 |
No |
Code |
3 |
4 |
11aa |
4 |
2 |
12aa |
5 |
1 |
1aa |
6 |
3 |
2aa |
7 |
5 |
3aa |
|
【対処法1】文字列から数字を抜き出し、その数値で並べ替える。
- D3セルは=LOOKUP(10^16,LEFT(C3,ROW($A$1:$A$16))*1) として数値を抜き出します。
【対処法2】文字数を同じにして、並べ替える。
- E3セルは=RIGHT("000"&C3,5) として、頭に「0」を付けた文字列とします。
【結果】
- D列またはE列を基準に並べ替えると、数字の順番に並べ変わります。
並べ替え後 |
|
B |
C |
D |
E |
2 |
No |
Code |
対処法1 |
対処法2 |
3 |
1 |
1aa |
1 |
001aa |
4 |
3 |
2aa |
2 |
002aa |
5 |
5 |
3aa |
3 |
003aa |
6 |
4 |
11aa |
11 |
011aa |
7 |
2 |
12aa |
12 |
012aa |
|
【説明】
- =LOOKUP(10^16,LEFT(C3,ROW($A$1:$A$16))*1) について
C3セルに「1234567890123456aa」と入力してあったとします。
- ROW($A$1:$A$16) は{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16}となります。
数式バーでROW($A$1:$A$16)を選択して、[F9]を押すと確認できます。
確認した後は、[Esc]キーで元に戻します。
- LEFT(C3,ROW($A$1:$A$16)) は
{"1";"12";"123";"1234";"12345";"123456";"1234567";"12345678";"123456789";
"1234567890";"12345678901";"123456789012";"1234567890123";"12345678901234";
"123456789012345";"1234567890123456"}
と左から数字を取り出すことができます。
- LEFT(C3,ROW($A$1:$A$16))*1 は
{1;12;123;1234;12345;123456;1234567;12345678;123456789;1234567890;12345678901;
123456789012;1234567890123;12345678901234;123456789012345;1234567890123450}
取り出した文字列に「*1」とすることにより、数値に変換します。
Excelでは15桁までしか扱えないので、最後は「1234567890123450」となっています。
- =LOOKUP(10^16,LEFT(C3,ROW($A$1:$A$16))*1)
変換した数値の配列から10^16(Excelで扱える数値の最も大きい値ということ)を検索すると
、もっとも大きな数値が返され、この場合は「1234567890123450」となります。
- このことから、この数式では15桁の数字までを取り出すことができます。
- =LOOKUP(10^16,LEFT(C3,ROW($A$1:$A$16))*1) について
C3セルに「12aa」と入力してあった場合は
- =LOOKUP(10^16,{"1";"12";"12a";"12aa";"12aa";"12aa";"12aa";"12aa";"12aa";"12aa";
"12aa";"12aa";"12aa";"12aa";"12aa";"12aa"}*1)
- =LOOKUP(10^16,{1;12;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;
#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!})
- 数字の文字列*1は数値に変換できます。(例)「"1"+1」=「1」
しかし、文字列*1はエラーとなり、「"12a"」*1=#VALUE! となります。
- 以上のようにこの場合は、「12」が取り出せます。
【操作手順】
- データ表内のセルを選択してアクティブにします。
- [データ]→[並べ替え]を選択します。
- 並べ替えのダイアログで[オプション]ボタンをクリックします。
- 方向で[列単位]にチェックを入れ、[OK]ボタンをクリックします。
- 最優先されるキーで「行2」を選択し、[OK]ボタンをクリックします。
- 並べ替え前後の例です。
2行目の1月から4月までを並べ替えています。
並べ替え前 |
並べ替え後 |
 |
 |