仕事で、Excel上で並べ替える事のできるリストを作成して利用したい機会がでてきた。
その中の項目の名称のふりがなを抜き出して、隣に別項目として表示し、
その項目をあいうえお順(50音順)で並べ替えのできるリストを作成した。
その作成手順をまとめてみた。
-
PHONETIC関数を利用してふりがなを表示する
-
オートフィルを使って関数をコピーする
-
関数を複数組み合わせる(ネストする)
-
ふりがなを表示する際に表示文字数を限定する
-
空白の場合、代替えの表示を行う
-
仕上げに並べ替え操作する
目次
PHONETIC関数を利用してふりがなを表示する
Excel上でリストを作成。
そして、ふりがなを自動で表示する関数を挿入する。
利用する関数は、PHONETIC関数。
以下の書式になる。
1 2 3 4 5 6 7 8 9 10 |
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ 引数の参照先の文字列の読みをふりがなとして表示する関数 =PHONETIC(参照) ※参照について以下の記入方法になる。 ①参照対象の漢字を""で囲って記入。例えば「関数」の場合、"関数" と記入。 ②参照対象の漢字が含まれるセルの座標位置を記入。C列の2行目の場合、C2 と記入。 ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ |
次、操作手順。
オートフィルを使って関数をコピーする
セル「C2」に対応する「ふりがな」をセル「B2」に表示したように、
セル「C3」から「C19」に対応する「ふりがな」を、
セル「B3」から「B19」に表示するようにしたい。
それを実現するため、セル「B2」に埋め込んだ関数を、
セル「B3」から「B19」までコピーを行う。
オートフィルを使って、作成した関数を一度に複数行にコピーする。
以下手順。
マウスボタンをクリックしたまま下方に移動(下方向にドラッグ)。
下方向にドラッグした事により関数がコピーされる(オートフィルの実行)。
オートフィルにより、関数がコピーされて、同時に以下の件が設定される。
関数の引数の中に設定した参照先のセル番号に対し、
行毎に対応したセル番号を自動で設定(相対参照で設定)される。
※相対参照とは
あるセルに入力した計算式を別のセルにコピーする時、コピーした位置(行や列)に応じて計算式内で参照しているセルの番地も変化するのが「相対参照」、変わらないのが「絶対参照」。
ちなみに絶対参照を指定する場合、セル番号の前に「$」をそれぞれ付ける。
例:$C$2、$A1、B$3。
マークをクリックすると、選択肢が現れて、オートフィルでのコピー方法を
再選択する事ができる。
関数を複数組み合わせる(ネストする)
PHONETIC関数を利用する事により、ふりがなを表示する事ができたが
さらに表示方法を変更するため関数を複数組み合わせる。
関数を複数組み合わせる(ネストする)とは?
関数で計算するデータを指定する部分を「引数」と呼び、
関数は引数で指定されたデータに基づき計算し、結果をセルに表示。
セルに表示される計算結果を「戻り値」と呼ぶ。
関数は用途により、引数の内容や指定の順番が決められている(定義されている)。
関数を複数組み合わせる(ネストする)とは、関数の引数に別の関数を設定する事が可能で、
関数の引数に別の関数を設定する事により、関数単体では解決出来なかった問題を解決する事が出来る。
注意点として、メインの関数の引数にサブの関数を埋め込む時に、
メインの関数の引数の型とサブの関数の戻り値の型を同じ型にする必要がある。
つまり、メインの関数の引数の型に文字列が指定されている場合に、
埋め込む事が出来るサブの関数の戻り値の型は、文字列になっている必要がある。
※型とは
プログラミングにおけるデータ型(データがた、data type)あるいは単に型(かた、type)は、
値の種類を示し分類分けするラベルの事を指す。データタイプともいう。
型には、数値型、文字列型、ブーリアン型(真か偽)等ある。
※文字列とは
単語や文章のように文字が連なったものを指す。意味のない文字の羅列も、数字だけでも文字列だが、
エクセルでは数字だけの場合は数値という形式で処理される。
ふりがなを表示する際に表示文字数を限定する
関数を複数組み合わせて、ふりがなを表示する際に表示文字数を限定して
表示してみる。
対象のセルの中の漢字を参照して、ふりがなを表示するが、表示する際に
ふりがなの先頭から2文字分だけ抜き出して表示したい。
以下手順。2つの関数を組み合わせる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ①引数の文字列の読みをふりがなとして表示する関数 =PHONETIC(文字列) ②引数の文字列より、指定した文字数分だけ左から文字を取り出す関数 =LEFT(文字列, 文字数) 上記の2つの関数を、 =LEFT(PHONETIC(文字列), 文字数) として組み合わせる。つまり、 「LEFT(文字列, 文字数)」の、引数の「文字列」を指定する部分に、 「PHONETIC(文字列)」を埋め込む。それが、 =LEFT(PHONETIC(文字列), 文字数) となる。そして、 =LEFT(PHONETIC(漢字が記載された参照先のセル番号), 2文字) となり、 実際は、 =LEFT(PHONETIC(C2), 2) となる。 ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ |
そして、関数の計算結果。
実際の操作手順について、2つの方法がある。
①直接、関数を入力する。
②アイコンの「関数の挿入」をクリックし、選択していく。
①直接、関数を入力する。
まず、ひとつ目のやり方。
その後、オートフィルを実行し、
関数を他のセルにコピーしていく。
②アイコンの「関数の挿入」をクリックし、選択していく。
次、ふたつ目のやり方。
アイコンの「関数の挿入」の右側のボックスに、
「LEFT」が挿入された事を確認(矢印部分)。
「関数の引数」のウィンドウから、
引数をふたつ分指定する必要があるが、
第一引数が選択されている事を確認。
※ボックス内にカーソルがある事を確認。
アイコンの「関数の挿入」の右側のボックスの
「LEFT」の引数に、
「PHONETIC」が挿入された(矢印部分)。
そして、「関数の引数」のウィンドウが、
「PHONETIC」の引数の入力に切り替わった。
関数の「LEFT」の第二引数を設定するため
アイコンの「関数の挿入」の右側のボックスの
「LEFT」の部分をクリック。
再度「LEFT」の引数の入力を行う。
「関数の引数」のウィンドウが、
「LEFT」の引数の入力に切り替わった。
「LEFT」の第一引数に、関数の
「PHONETIC」が設定されている(矢印部分)。
その後、オートフィルを実行し、
関数を他のセルにコピーしていく。
空白の場合、代替えの表示を行う
セルに何も入力がなかった場合、「ーー」と表示するように関数を追加する。
そのために、IF関数を使って、条件判定を行う。
以下の書式になる。
1 2 3 4 5 6 7 8 9 10 11 12 |
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ●設定した条件を判定する関数 =IF(論理式, 値が真の場合, 値が偽の場合) ※論理式 = 参照したセルまたは値を、判定するための条件の式 ※値が真の場合 = 論理式で判定して、正しかった場合に表示される情報 ※値が偽の場合 = 論理式で判定して、違っていた場合に表示される情報 ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ |
論理式に、数式(比較演算子)を使う。
以下の数式(比較演算子)を利用して条件の判定を行う。
1 2 3 4 5 6 7 8 9 10 11 12 |
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ 数式(比較演算子)の種類(例は、100の値と比較する場合) 「参照したセルの値 > 100」 参照したセルの値が100よりも大きい場合 「参照したセルの値 >= 100」 参照したセルの値が100以上の場合 「参照したセルの値 < 100」 参照したセルの値が100よりも小さい場合 「参照したセルの値 <= 100」 参照したセルの値が100以下の場合 「参照したセルの値 = 100」 参照したセルの値が100と等しい場合 「参照したセルの値 <> 100」 参照したセルの値が100と等しくない場合 ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ |
今回使用する論理式は、
1 2 3 4 5 6 7 |
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ 「参照したセルの値 <> ""」 意味は、「参照したセルの値と "" が等しくない場合」 ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ |
“” は、文字列をあらわす記号で、
文字列として「あいうえお」を使う場合は、
“あいうえお” と記述する。
今回の場合の “” の意味は、文字の入っていない文字列を表し、
つまり、「空白」という意味になる。
「参照したセルの値 <> “”」の意味を直訳すると、
「参照したセルの値が空白ではない場合」となる。
●実際使用する関数を記述したものが以下になる。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ =IF(論理式, 値が真の場合, 値が偽の場合) に対し、 =IF(参照したセルの値 <> "", LEFT(PHONETIC(参照したセルの値), 2), "--") となり、 実際の使用例は、 =IF(C2 <> "", LEFT(PHONETIC(C2), 2), "--") となる。 ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ |
上記は、ネスト(関数を複数組み合わせる)にネストを重ねて実現してみた。
意味は、論理式の部分が、参照したセルの値が空白ではない場合、
値が真の場合(空白でない場合)は
計算し(値からふりがなを取り出し、左から2文字だけ抜き出す)、結果を表示、
値が偽の場合(空白の場合)は「--」を表示する。
次に操作手順。
その後、オートフィルを実行し、
関数を他のセルにコピーしていく。
仕上げに並べ替え操作する
並べ替え操作を行うため、データを表として扱う。
表に変換して、並べ替えをする 操作手順を行う。
しかし…。
せっかくなので、「ふりがな」の中から記号を取り除いて、「ひらがな」だけにしたい。
次回は、抽出されるふりがなに半角文字・記号が含まれる場合、
取り除いた上で表示する作成手順をまとめてみる。