- 【例】下表のデータを合計得点の高い順に並べ替えます。
|
B |
C |
D |
E |
F |
G |
H |
2 |
No |
氏名 |
国語 |
算数 |
理科 |
社会 |
合計 |
3 |
6 |
木下 |
86 |
98 |
94 |
87 |
365 |
4 |
3 |
河合 |
82 |
77 |
83 |
88 |
330 |
5 |
8 |
佐々木 |
81 |
67 |
71 |
86 |
305 |
6 |
1 |
岡田 |
70 |
79 |
71 |
77 |
297 |
7 |
4 |
近藤 |
72 |
78 |
74 |
73 |
297 |
8 |
7 |
植田 |
68 |
88 |
75 |
66 |
297 |
9 |
9 |
桑田 |
62 |
64 |
61 |
69 |
256 |
10 |
5 |
井上 |
61 |
55 |
52 |
65 |
233 |
11 |
2 |
会田 |
55 |
61 |
66 |
48 |
230 |
- エクセル2007ではコマンドボタンが2箇所にあります。
どちらを使っても同じですが、以降は[データ]タブの方で説明します。
- [ホーム]タブの[編集]グループ
- [データ]タブの[並べ替えとフィルタ]グループ
昇順/降順に並べ替える(単一条件で並べ替える)
- 【ポイント】並べ替えの基準にする列のセルを選択した状態で実行します。
アクティブセルのある列を基準に並べ替えます。
- 並べ替えのキー(基準)となる合計の列(H列)のセルを選択します。
- データがひとまとまりである場合は、データ範囲をExcelが自動で判別します。
空白行や空白列を挟まないデータ範囲なら、データ範囲を選択しなくてもOKです。
- [データ]タブの[並べ替えとフィルタ]グループにある[降順]を実行します。
- 合計列(H列)の値の大きい順に並べ変わります。
昇順/降順に並べ替える(複数条件で並べ替える)
- データ内(リスト内)のセルを選択します。
- データがひとまとまりである場合は、データ範囲をExcelが自動で判別します。
空白行や空白列を挟まないデータ範囲なら、データ範囲を選択しなくてもOKです。
- [データ]タブの[並べ替えとフィルタ]グループにある[並べ替え]を実行します。
- [並べ替え]ダイアログで並べ替えの条件を設定します。
- この例では先頭行が見出しなので「先頭行をデータの見出しとして使用する」にチェックを入れます。
- 最優先の「合計」の降順に並べ替え、同点のデータは次に優先される「算数」の降順に並び変えられました。
- 表の一部分を並べ替えます。
※データ表に下表のような並べ替えない行(平均の11行目)が隣接している場合など
- 【ポイント】並べ替える部分を選択した状態で実行する。
ツールバーの【降順で並べ替え】を利用する方法
- 並べ替えるデータのセル範囲を選択します。
- 基準となる列へアクティブセルを移動します。
- B2から選択した場合、[Tab]キーを6回押してH2セルをアクティブにします。
- [データ]タブの[並べ替えとフィルタ]グループにある[降順]を実行します。
- 「合計」得点の高い順に並べ変わります。
- 文字列(日本語)を並べ替える時は「ふりがな」を使うか否かを設定します。
初期状態では「ふりがなを使う」設定になっています。
- 並べ替える文字列に「ふりがな」が有るか無いかによって、順序が変わることになります。
※「ふりがな」の表示は[ホーム]タブの[フォント]グループにある[ふりがなの表示/非表示]を実行します。
ふりがなを使って並べ替える設定
- [データ]タブの[並べ替えとフィルタ]グループにある[並べ替え]を実行します。
- [並べ替え]ダイアログで[オプション]を実行します。
- 「並べ替えオプション」ダイアログの「方法」で「ふりがなを使う」にチェックが入っているのを確認します。
ふりがなの昇順に並べ替える
- データのセル範囲を選択します。
- 基準となる列へアクティブセルを移動します。
- B2から選択した場合、そのままB2セルがアクティブになっていますので[Tab]キーを1回押します。
(C2セルをアクティブにします)
- [データ]タブの[並べ替えとフィルタ]グループにある[昇順]を実行します。
- ふりがなの50音順に並び変わりました。
- 『ふりがなを使わない』で並べ替えると、下表のように、文字コード順になります。
※ A3=CODE(C3)として、A列に1文字目のコードを参考までに並べておきます。
- 他のソフトからコピーしたりしたデータにふりがな情報がない場合があります。
一つずつふりがなを入力するのは大変ですので、多少の誤変換は我慢して一挙にふりがな情報を付けたいと思います。
- なお、ここで紹介する方法はMS-IMEのかな漢字変換用辞書を用いて、かな漢字変換を行うときとは逆に、漢字文字列からひらがなに変換する仕組みとなっています。
読みが複数有る物は"正しい"読みに変換されない可能性があります。
Wordのルビ機能を利用する方法
- ふりがな情報の無いデータを作成します
- Sheet2のC3セルを選択して、=Sheet1!C3 と入力してC11セルまでフィルハンドルをドラッグします。
- Sheet1のC3:C11にはふりがな情報が付いていますが、数式で値をSheet2へ持ってくるとふりがな情報はなくなります。
- Sheet2のB3:B11セルを選択し、コピーボタンをクリックします。
- Word2007を起動し、[ホーム]タブの[貼り付け]を実行します。
表として貼付けられるので、[貼付けオプション]で「テキストのみ保持」を実行します。
- 貼り付けた文字列を選択し、[ホーム]タブの[フォント]グループにある[ルビ]を実行します。
- ルビが自動で生成されます、変更がある部分はこの画面で修正できます。
- [OK]ボタンをクリックします。
- ルビの付いた文字列をコピーし、ExcelのD列へ貼り付けました。
下図のようにふりがな情報が加わりました。
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」が取り出せます。
【操作手順】
- 並び替えるデータを選択します。
- [データ]タブの[並べ替えとフィルタ]グループにある[並べ替え]を実行します。
- [並べ替え]ダイアログで[オプション]を実行します。
- 「並べ替えオプション」ダイアログの「方向」で「列単位」にチェックを入れます。
- 最優先されるキーで「行3」「値」「昇順」を選択し、[OK]ボタンをクリックします。
- 3行目が1月から4月まで昇順に並び変わりました。