- ベストアンサー
エクセルで名前順、更に番号順に並び替えたい。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
> ちなみに数字の入力位置がまちまちなのはまずいでしょぅか? > こちらも統一性を持てるよう直せたら、なんて思うのですが。 今後のためにも、文字列部分(「鈎取」など)と数字部分(「219」など)は 別々のセルに持つことを強くオススメします。 とりあえず、現状の一緒になったモノの分け方の一例です。 まずは、行挿入で空のB・C列を作ります。 B3セル:=MID(A3,1,FIND(" ",ASC(TRIM(A3)))-1) C3セル:=VALUE(MID(A3,LEN(B3)+1,999)) B3セルの「"スペース"」のスペースは、半角で指定します。 面倒ならこのままコピー貼り付けでもOKです。 で、これを下までズズっとフィルして、B・C列全体をコピー、 B・C列全体に 形式を選択して貼り付け→値を貼り付け で分割されます。 これでA列は削除してもOKです。 あとは、これをB・C列で並べ替えて完了です。 2003以前ですね。だとしたら 表の範囲を全部選択し、データ→並べ替え。 データ範囲の先頭行:データに● 最優先されるキー:文字列の列(A列を想定)、昇順 2番目に優先されるキー:数字の列(B列を想定)、昇順 でOKを押すと並べ替わります。 > こちらも統一性を持てるよう直せたら 現状のままでいわゆる「統一性」を持たせたいと言うのであれば、 まず考えられるルールは「文字と数字の間にはスペース1個」でしょうか。 だとすると「=ASC(TRIM(A3))」これで半角スペース一つに出来ます。 が、これではやはり並べ替えで問題が出てしまいます。 やはり、文字部分と数字部分は別々に持った方が良さそうです。
その他の回答 (5)
- K Kazz(@JazzCorp)
- ベストアンサー率31% (549/1751)
一応お約束、 ソートしたい文字列は、前半の地名?は漢字だけ(というより英数字記号いずれもなし)、後半が数字だけの番地?で構成。 番地と間の空白文字は、全半角、グッチャグッチャ、大いにケッコウ、、、 ゼイタクにも3列使う。 F列:スッキリさせた文字列 G列:地名?だけ H列:番地?だけ F3: =SUBSTITUTE(TRIM(ASC($A3))," ","") G3: =SUBSTITUTE($F3,$H3,"") H3: =IF($A3="","",RIGHT($F3,LEN($F3)*2-LENB($F3))*1) F3~H3まとめて下にコピー で、G列とH列をキーにしてソートする、、、
お礼
そういう方法もあるんですね!! ありがとうございます♪ 時間があるので今後のために今から色々教わったことを練習してみたいと思います♪
- bon459
- ベストアンサー率36% (4/11)
No.1です。私の並べ替え方はその列だけ並べ替えてしまうため、 正しくありませんでした。 質問者様の並べ替えのやり方で問題はありません。 0を付与しても並び替えが上手く行かないのは空白の数や全角半角の違いによるものかと 思います。 (補足に記述されていた名称と数値を空白をキレイにそろえて並べ替えるときれいに並びました) セルを分割して並べ替えが上手く出来たみたいですので、そちらのやり方をオススメします。
お礼
ありがとうございます! やはり空白とか綺麗に揃えないと・・・なんですね! 早々のコメ、ありがとうございました♪
[No.3]の誤謬訂正、 「D2 に次式を」は「D3 に次式を」に訂正します。 それから、書き漏らした「次式」は次のとおりです。 =LEFT(TRIM(ASC(A3)),FIND(" ",TRIM(ASC(A3)))-1)&TEXT(MID(TRIM(ASC(A3)),FIND(" ",TRIM(ASC(A3)))+1,99),"000")
お礼
ありがとうございます(*^▽^*) D2→D3は、多分そうだろうな、と思ったので大丈夫です! 色々な式があるんですねー。 勉強になりました!! 後で試してみます♪
- bon459
- ベストアンサー率36% (4/11)
A列を列選択してA→Zの昇順で並べ替えボタンをクリックすると並び変わります。 ただ、A列に鈎取 nnと文字+数値となっていますので、今のままでは120より60の方が後になります。 正しく数値として並べるには数値部分だけを隣の列に抜き出してA、B列を選択してから並び替えるか、 60を060というように文字としてきれいに並ぶようにA列の数値を書き換える必要があります。
補足
ありがとうございます! 数字は060などと書き換えてやってみたのですが 鈎取 068 鈎取 219 土手内 015 土手内 036 土手内 041 ・ ・ ・ 西多賀 035 西多賀 039 ・ ・ ・ 緑が丘 090 鈎取 127 鈎取 141 ・ ・ ・ などという感じで、鈎取の2つだけが最上段にきてしまって ちょっとうまくいきません。 並び替え方が悪いのでしょうか? ちなみにA~Dまで、表全部を範囲指定して データ→並び替え→最優先されるキーを列Aにして データ範囲の先頭行を「データ」のままにしてみました。 >A列を列選択してA→Zの昇順で並べ替えボタンをクリック これとは少し違いますが、これをやるにはどうしたらいいのかわかりません(T-T)
お礼
できましたっ!! 名前と数字分けたらスッキリなんですね! ありがとうございました!!