• ベストアンサー

エクセルで外国人名を姓で並べ替えたい

作曲家の一覧があります。 A列に「Franz Schubert」、B列に「1797~1828」のように入力されています。 名と姓の間には空白があります。 これを、姓で並べ替えたいのですが、うまい方法はないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.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と同じ。

12banna
質問者

お礼

難しくてまだよくわかりませんが、教えてくださったとおりにやってみたところ、うまくできました。 ありがとうございます。 (「ROW(A1:A15)」というところは「ROW($A$1:$A$15)」にしてみました。)

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

空き列に =RIGHT(A1,LEN(A1)-FIND(" ",A1)) と入れてデータ行数だけ式を複写する。秋列をコピーし形式を選択して貼り付けで関数式を消し、その列でソートする。 ソートは、エクセルの場合、お節介機能の、ふりがなや特殊順序(例日月・・)で並べ得る以外は、実際にそのデータを、セル・列に作らないと並べ替えられません。 だから、いかにしてそのデータ列を作るかの質問になります。 上記は名と姓の間が半角スペースに統一されていることが必要です。

12banna
質問者

補足

No1への補足と同じです。

全文を見る
すると、全ての回答が全文表示されます。
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

次の方法は如何でしょうか。 ・B列を右クリック→挿入 ・A列をクリック→データ→区切り位置→「スペースによって・・・」を選択→次へ→完了  これで姓名が2セルに分離できます ・B1を選択→データ→並び替え→OK ・姓名の結合は、  例えばD列に=A1&" "&B1とし、下方向にコピー  D列をコピーし、A列に形式を選択して貼り付けで値を選択して貼り付けて下さい。 ・最後に不要なB,D列は削除して下さい。

12banna
質問者

お礼

このような機能があることは知りませんでした。 他にも応用ができそうです。 丁寧に教えてくださりありがとうございました。

12banna
質問者

補足

No1への補足と同じです。

全文を見る
すると、全ての回答が全文表示されます。
  • telescope
  • ベストアンサー率54% (1069/1958)
回答No.2

A列をコピーして空いた列に貼り付けます。 たとえば、C列に貼り付けたとして、C列のみを選択して 「データ」-「区切り位置」で「カンマやタブなどの~」を選択して「次へ」ボタンを押します。 「スペース」にチェックを入れて、「完了」ボタンを押します。 C列に名前、D列に姓というように分かれます。 「データ」-「並べ替え」でD列を最優先するキーに指定します。

12banna
質問者

お礼

このような機能があることは知りませんでした。 他にも応用ができそうです。 ありがとうございました。

12banna
質問者

補足

No1への補足と同じです。

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

C列に =RIGHT(A1,LEN(A1)-FIND(" ",A1)) として苗字の列を作って、並び替えればいいんじゃない?

12banna
質問者

お礼

しゃれたやり方を教えてくださりありがとうございました。

12banna
質問者

補足

早速の回答ありがとうございます。 教えて下さった方法で大体うまくいくのですが、中には「Alban Maria Johannes Berg」「Wolfgang Amadeus Mozart」のように、4つ、3つに区切られるようなものがあり、これらも含めて一発でできる方法はないでしょうか。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • facebook!姓と名の間に空白を開けるには?

    facebookで名前を漢字で登録する際、姓と名の間に空白を開けるにはどうすればいいのでしょうか? 元々ローマ字表記にしていたのですが、漢字で入力し直したら、姓と名の間に空白が出来ません…友達はみんな空白があるので何故かなぁと思いまして… 設定の仕方で何か違いがあるのでしょうか? くだらない質問ですが、分かる方がいらっしゃれば、よろしくお願いします。

  • Excelの列のデータを統合する方法

    Excel 2003で、A列には姓、B列には名を入力しています。 この姓と名を統合して、フルネームとしたいのですが、 何かよい方法がありましたら是非、教えてください。 よろしくお願いいたします。

  • こんなことエクセル関数でできますか?

    お世話になります。 エクセルの1列に日本人の氏名が約2000名分並んでいます。1セル1名なので例えばA1セル~A2000セルに2000名分の氏名が入力されているといった感じです。 氏名は全角漢字で姓と名の間に全角のスペースが入っています。 ここで、この2000名の中で同姓同名(漢字が全て同じ)を即座に知る方法を探しています。 例えば、山田 太郎がA1、A409、A1765にあり、佐藤 花子がA222、A288にある事実を簡単に知る方法を探しています。 エクセルの関数を使って出来ないでしょうか? (関数が入力された1列2000行に2000名の名前を貼り付けると、B1、B409、B1765に山田 太郎が返ってくるとか・・・。) 宜しくお願いいたします。

  • エクセルで一行(列)ずつ挿入するのを1発でする方法

    を教えてください。 学習成績一覧表を、1学期から3学期までのものを一つにまとめたいのです。 例えば、A1セルから始まって横に(B1,C1・・・と)児童名が入っているとします。 この児童名と児童名の間に2列ずつ間を空けたいのです。つまりA1セルに出席番号1番の子の名前が入っていたとしたら、B列とC列を空白の列にし、B1セルに入っていた児童名がD1セルになるようにしたいのです。 上手く説明できませんが、分かっていただけるでしょうか? どなたか、よろしくお願いします。

  • エクセルで下記データが入力されています。

    エクセルで下記データが入力されています。 A列 B列 1   あ 3    た 4    ち 7    よ ・    ・ ・    ・ ・    ・ これを下記の様に変更したいのです。 「Aの列を1から連番にし、B列に対応するものが入力されていなければ空白にるす」 A列 B列 1   あ 2    [空白] 3    た 4  ち 5    [空白] 6    [空白] 7    よ ・   ・ ・   ・ ・   ・ 実際にはデータが100個以上なので 行挿入などでは大変です。 そこで何か簡単な方法がないでしょうか? みなさま宜しくお願い致します。

  • Excelで特定の列の空白を埋める方法

    エクセルで次のようなことは可能でしょうか? 昨日も同じような質問をいたしましたが、よろしくお願いします。 A列に次のように入力されているとします。 (昨日、質問で文字列にa,b,cを付け加える方法を教えていただきましたが、以下のものは一つずつ入力してあるとします。) 001a 001b 空白 空白 002a 空白 空白 空白 003a 空白 空白 ここの空白を 001a 001b 空白 → 001c 空白 → 001d 002a 空白 → 002b 空白 → 002c 空白 → 002d 003a 空白 → 003b 空白 → 003c とする方法はないでしょうか?(千行くらいを自動的に) あとこれに関連して別の質問ですが、 ある列の001a, 001bなどのアルファベットのみ削除(はずす)して 001,002だけの数字にする方法も教えていただけないでしょうか? よろしくお願いします。

  • Excelのブックをひとつにまとめたい。

    数人に同じものを入力してもらいそれをひとつの表に簡単にまとめたいのですがなにかいい方法はありますでしょうか?(コピーとかでなく) 例) 【Aさんの表】    A列  B列  1 みかん  1  2 りんご  1  3 ばなな  3 【Bさんの表】      A列  B列  1 なし   2  2 いちご  1 【まとめた表】      A列  B列  1 みかん  1  2 りんご  1  3 ばなな  3  4 なし   2  5 いちご  1  AさんとBさんが入力したブックを【まとめた表】のように一覧にしたいです。AさんとBさんが入力するフォームは同じ物を配布しています。またA列の内容が重複する事はありません。 今まではAさんBさんからもらったデータをコピーで貼り付けたり、入力したりして一覧を作成していました。が、データの量が多いのと、せっかくAさんやBさんが入力したものをまとめるために再度入力するのも時間の無駄だと思い・・・。よい方法があれば教えてください。  

  • エクセルのはみだし表示について

    エクセルでA列、B列にデータを入力してあります。このとき、A列の文字をB列にはみだして表示、印刷することは可能でしょうか? もっとくわしく言うと、行幅を広くしてA列は上揃え、B列は下揃えにするなどして2つが重ならないようにしたいのです。 もしそれができなければ、1行おきにデータが入力されるように行を挿入する方法を教えて下さい。1行おきに行を選択して挿入を行うと データ データ 空白(挿入された行) データ データ 空白 というようになってしまいます。範囲を指定して間に1行ずつ挿入なんてできないんですか? 1行おきに選択するのも大変なデータ量があるのでなんとか簡単に作業をしたいのですが・・・

  • エクセルの数式についての質問です。

    下記の数式で、「一覧!A4:EG1003,137」の「一覧!A4:EG1003,137」が空白の場合に、空白で返す場合の数式をお教えください。 現状の数式 =VLOOKUP(B1,一覧!A4:EG1003,137) 補足説明 エクセルのシート(一覧シート)のA4:EG1003内で137列目が空白の場合は空白で返す数式にしたいです。 VLOOKUPを使用しているので、別シートのB1セルには一覧シートの専用番号の行の値を入力するとその行が全て別シートに反映される形になっています。その時に空白の個所があると0表示になってしまうので、空白は空白で返したいです。

  • エクセル関数で・・・

    A列の1行目から45行目までに、”1”か”×”を入力するか、空白があります。 B列の1行目から45行目までに、様々な数値、若しくは空白が入ります。 この時、A列が”×”の行でB列が空白でないセルをカウントする数式を教えて下さい。   A  B 1 ×  20 2 × 3 1  30 4 ×  5 1  20 6 7 1  30 8 ×  10・・・・ こんな感じで、A列が”×”でB列が空白でないセルは『2』と導きたいのです。 分かりにくい説明で申し訳ありませんが、宜しくお願いいたします。

専門家に質問してみよう