• ベストアンサー

エクセルの並べ替え

エクセルデータの番号順の並べ替えをしたいのですが A列に37、54,22,1・・・などの数字が入っており これを1から順番に並べたいです。 ただ、A列1行目に37が入っていますが 次の54はA列5行目に入っています。 B列以降に他のデータ(名前、住所等)を入れる際 一行では間に合わず、それぞれ2~5行程を使用している為なのですが この状態で並べ替えをすると、数字の入っている行のみが並べ替えられ 入っていない行は後ろの方にまとめられてしまいます。 数行まとめて並べ替えをするにはどのようにすればよいでしょうか。 お詳しい方、よろしくお願い致します。

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

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

こういう問題かな。下記のように実例を挙げて説明のこと。 例 B2:E14 B,C列はB、C列にした意味はない。 B列   C列   D列   E列 54 a 54 54001 b 54 54002 c 54 54003 d 54 54004 34 x 34 34001 y 34 34002 u 34 34003 65 w 65 65001 s 65 65002 t 65 65003 54 y 54 54005 u 54 54006 g 54 54007 D列は =IF(B2<>"",B2,D1) と入れて下方向に式を複写。 E列は =D2&TEXT(COUNTIF($D$2:D2,D2),"000") と入れて式を複写syる。 結果上記の通り。 ーー 残念ながら、関数の事情によりD列E列を一体化できない。2列も作業列を使わざるを得ないが。 E列でソートする。 B列が文字列でもうまくいくと思うがやってみてください。 E列のTEXT(COUNTIF($D$2:D3,D3),"000")の「000」の意味は、999行越えては、B列で、同じキーが出現しないと仮定しているため。

その他の回答 (2)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

No1さんの回答でよさそうな気がしますが、 A2=37 A3="" A4="" A5=54 A6="" なのでしょうか? >A2がA3、A4、A5・・・と変化するだけで、37.1のように >数字に変換されません。 A3A4,A5・・・が空白でないということでは?

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

1行目が項目行として、B列にて B2=IF(A2="",B1+0.1,A2) として下方にコピー A2=37 B2=37 A3="" B3=37.1 A4="" B4=37.2 A5=54 B5=54 A6="" B6=54.1 とB列が出来るのでこの列で並べ替えを行なう。 B列が不要なら並べ替え後に削除するか、列を非表示にする

mugi-chan
質問者

補足

ご回答ありがとうございます。 早速、やってみたのですが B列1行目にB2=IF(A2="",B1+0.1,A2)と入力して 下方にコピーしたところ A2がA3、A4、A5・・・と変化するだけで、37.1のように 数字に変換されません。 どこかが間違っているのでしょうか・・・ 恐れ入ります、もう一度お願いします。