Excel 職人のつぶやき

エクセルで作成した資産をデータベース管理ツールとして活用するためサイトです。

Excel の並べ替えがおかしいことはありませんか?

並べ替えを行った結果が、おかしいことはありませんか?

f:id:muramoto1041:20171228102203p:plain

 

[データ]タブの並べ替えを行うと、正常に並べ替え作業が行われない場合があります。これは、並べ替え作業の方法が、[ふりがなを使う]方法で行われているためです。

 

f:id:muramoto1041:20171228101952p:plain

ふりがな機能 

Excel 2007 以降には、[ふりがな機能]があって、入力した時のキーボードのタイピングデータを[ふりがな]データとして保存されています。

 

しかし、この機能はあまり役に立ちません。

 

安藤と入力する場合に、「あんどう」と入力して漢字変換した場合は、「あんどう」という[ふりがな] を記録しますが、

 

安藤と入力する場合に、「やす」で漢字変換をして、「ふじ」で漢字変換をして「安藤」という感じを入力した場合は、「やすふじ」という「ふりがな」を記録してしまいます。

 

スペースより後ろの文字を取得する方法

今回の処理は、英会話教室の 生徒の名前を並べ替える処理です。

その並べ替え方法で言うと、ふりがなの情報を入力しなくても、「ローマ字名」のデータから「名字」を取得する方法で、できます。

 

「Taro Yamada」から「Yamada」を取得する計算式を作成します。

 

取得に必要な値を下記に記述します。

  • 文字列内のスペースの文字位置(4文字目)
  • 文字列の長さ(11文字)

この値が、取得できれば、「Yamada」という文字列を計算式で取得することが可能です。

(計算式)

文字列の右側から、(文字列の長さ-スペースの位置)の文字数を取得する。

「Taro Yamada」の右側の6文字を取得する。

 

文字列内のスペースの位置は、FIND関数を使います。→ FIND(" ",文字列)

文字列の長さは、LEN関数を使います。→ LEN(文字列)

右側の文字列を取得するには、RIGHT関数を使います。→ RIGHT(文字列,文字数)

 

つまり、

=RIGHT(文字列,LEN(文字列)-FIND(" ",文字列))

となります。

 

ローマ字 名のセル位置が、[D4]の場合は、

=RIGHT(D4,LEN(D4)-FIND(" ",D4))

 となります。

 

 エクセルカード HARI ダウンロード

エクセルカード HARI Ver 3.09 では、この並べ替え機能を改善しました。

 

f:id:muramoto1041:20160627132809p:plain