- ベストアンサー
エクセルで外国人名を姓で並べ替えたい
作曲家の一覧があります。 A列に「Franz Schubert」、B列に「1797~1828」のように入力されています。 名と姓の間には空白があります。 これを、姓で並べ替えたいのですが、うまい方法はないでしょうか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
#4です。最も右のスペースの位置を割り出す方法 ちょっと技巧的だが、関数に拘るなら 例 aa sdf ghj 7 asdf gh 5 aa sd ff gg 10 c1に =MAX(IF(MID(A1,ROW(A1:A15),1)=" ",ROW(A1:A15),0)) と入れてSHIFT+CTRL+ENTERの三つのキーを同時押しする。配列数式。 その式を+ハンドルで引っ張る。 結果 上記の通り。 #4の=RIGHT(A1,LEN(A1)-FIND(" ",A1)) に変えて =RIGHT(A1,LEN(A1)-C1) この式を下方向に複写する 最終結果 ghj gh gg 後は#4と同じ。
その他の回答 (4)
- imogasi
- ベストアンサー率27% (4737/17069)
空き列に =RIGHT(A1,LEN(A1)-FIND(" ",A1)) と入れてデータ行数だけ式を複写する。秋列をコピーし形式を選択して貼り付けで関数式を消し、その列でソートする。 ソートは、エクセルの場合、お節介機能の、ふりがなや特殊順序(例日月・・)で並べ得る以外は、実際にそのデータを、セル・列に作らないと並べ替えられません。 だから、いかにしてそのデータ列を作るかの質問になります。 上記は名と姓の間が半角スペースに統一されていることが必要です。
補足
No1への補足と同じです。
- mu2011
- ベストアンサー率38% (1910/4994)
次の方法は如何でしょうか。 ・B列を右クリック→挿入 ・A列をクリック→データ→区切り位置→「スペースによって・・・」を選択→次へ→完了 これで姓名が2セルに分離できます ・B1を選択→データ→並び替え→OK ・姓名の結合は、 例えばD列に=A1&" "&B1とし、下方向にコピー D列をコピーし、A列に形式を選択して貼り付けで値を選択して貼り付けて下さい。 ・最後に不要なB,D列は削除して下さい。
お礼
このような機能があることは知りませんでした。 他にも応用ができそうです。 丁寧に教えてくださりありがとうございました。
補足
No1への補足と同じです。
- telescope
- ベストアンサー率54% (1069/1958)
A列をコピーして空いた列に貼り付けます。 たとえば、C列に貼り付けたとして、C列のみを選択して 「データ」-「区切り位置」で「カンマやタブなどの~」を選択して「次へ」ボタンを押します。 「スペース」にチェックを入れて、「完了」ボタンを押します。 C列に名前、D列に姓というように分かれます。 「データ」-「並べ替え」でD列を最優先するキーに指定します。
お礼
このような機能があることは知りませんでした。 他にも応用ができそうです。 ありがとうございました。
補足
No1への補足と同じです。
- finneganswake
- ベストアンサー率23% (194/809)
C列に =RIGHT(A1,LEN(A1)-FIND(" ",A1)) として苗字の列を作って、並び替えればいいんじゃない?
お礼
しゃれたやり方を教えてくださりありがとうございました。
補足
早速の回答ありがとうございます。 教えて下さった方法で大体うまくいくのですが、中には「Alban Maria Johannes Berg」「Wolfgang Amadeus Mozart」のように、4つ、3つに区切られるようなものがあり、これらも含めて一発でできる方法はないでしょうか。
お礼
難しくてまだよくわかりませんが、教えてくださったとおりにやってみたところ、うまくできました。 ありがとうございます。 (「ROW(A1:A15)」というところは「ROW($A$1:$A$15)」にしてみました。)