重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

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

A 回答 (5件)

#4です。

最も右のスペースの位置を割り出す方法
ちょっと技巧的だが、関数に拘るなら

aa sdf ghj7
asdf gh5
aa sd ff gg10
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と同じ。
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/07/12 21:19

空き列に


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

この回答への補足

No1への補足と同じです。

補足日時:2006/07/12 20:08
    • good
    • 0

次の方法は如何でしょうか。


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

この回答への補足

No1への補足と同じです。

補足日時:2006/07/12 20:08
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/07/14 15:38

A列をコピーして空いた列に貼り付けます。


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

「データ」-「並べ替え」でD列を最優先するキーに指定します。

この回答への補足

No1への補足と同じです。

補足日時:2006/07/12 20:06
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/07/14 15:37

C列に


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

この回答への補足

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

補足日時:2006/07/12 20:04
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/07/14 15:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!