• ベストアンサー

エクセルでデータを並べ替えたい

歯抜けのデータをきれいに並べ替えたい 例 2 元木 大介 5 清原 和博 6 小久保 裕紀 7 二岡 智宏 これらのデータを 1 2 元木 大介 3 4 5 清原 和博 6 小久保 裕紀 7 二岡 智宏 としたいのです データ量が半端じゃないので・・・ お願いします

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

  • ベストアンサー
  • dejiji-
  • ベストアンサー率38% (327/858)
回答No.4

ばらばらなら、シート1のA1からB7に元のデータが入っているとしましょう。 別シートのA列に連番を必要な範囲に付けて下さい。1001を入力して、右クリックしながら、ドラッグして連続データ そして、B1に =IF(ISERROR(VLOOKUP(A1,Sheet1!$A$1:$B$7,2,FALSE)),"",VLOOKUP(A1,Sheet1!$A$1:$B$7,2,FALSE)) と入力する。これはそのまま下にドラッグしてコピー。 Sheet1!$A$1:$B$7は元データの有る範囲。選択したらF4を押し行列絶対参照にして下さい。A1は連番の有るセルこちらはそのままの行列相対参照。 基本的に空欄の表示になりますが、中には式が入っているので、後でまた並べ替えなどをすると、普通には行かないので、この2列をコピーして、形式を選択して貼り付けから値を選択して貼り付けると、空欄になります。 このような方法でいかがですか。

その他の回答 (4)

  • keirika
  • ベストアンサー率42% (279/658)
回答No.5

元データがA列に番号、B列に名前が入っていると仮定します。 C1セルに1を入れ、オートフィルでC列に連番を作ります D1セルに=IF(ISERROR(VLOOKUPC1,A:B,2,0)),"",VLOOKUP(C1,A:B,2,0)) を入れ、オートフィルで下方向へコピーします

yu-yake
質問者

お礼

なんとか出来ました

yu-yake
質問者

補足

補足します C D にもデータがありましたすいません 4列のデータリストでした 行のデータはそのまま変わらず移動もしくは複写したいのです 例 A    B             C       D 1002 1002 元木 大介   30      セカンド 1005 1005 清原 和博   36      ファースト 1006 1006 小久保 裕紀  33     サード 1007 1007 二岡 智宏   29      ショート これが A    B             C       D 1002 1002 元木 大介   30      セカンド 1003 1004 1005 1005 清原 和博   36      ファースト 1006 1006 小久保 裕紀  33     サード 1007 1007 二岡 智宏   29      ショート ちなみに2列ではうまくいきました

  • dejiji-
  • ベストアンサー率38% (327/858)
回答No.3

2元木 大介 とあるのは、一つのセルですか。それとも、2と元木大介は別のセルですか。それによっても回答が変わると思いますが。別のセルならば関数を使いできますが。

yu-yake
質問者

お礼

いやいや 写さなくてもいいんです、そのまま並べ替えてもいいんです

yu-yake
質問者

補足

説明不足で申し訳ない A    B 1002  1002 本木 大介 Aが4桁の数字、Bが4桁の数字+名前 2列のデータリストです 並べ替えは1003や1004の抜けを空白として表示させたいのです 抜けた数だけ行をずらして C もしくは別のシートに写せますか? うまく伝わったかなあ?^^;

noname#16474
noname#16474
回答No.2

実際には、先頭に入っている数値部分は1桁ではないんですよね? あと、数値と文字の間に入っている区切り形式は半角スペースでよろしいでしょうかね。 まっ、実際の値が書かれているとそれに応じて関数を作れるのですが、 3桁数値+文字を半角スペース区切り、として回答しますね。 (実際の文字列に当てはめて、修正してください) A列を作業列として追加します A1に =TEXT(LEFT(B1,FIND(" ",B1,1)),"000") と入力 FIND(" " の 「" "」は半角スペース。区切り文字にする 「"000"」の部分は数値の桁数分「0」を指定 ソートを表示したい列の1行目に =IF(ISERROR(VLOOKUP(TEXT(ROW(),"000"),A:B,2,FALSE)),TEXT(ROW(),"000"),VLOOKUP(TEXT(ROW(),"000"),A:B,2,FALSE)) と入力し、下方向へ複写 ここも、「"000"」の部分は数値桁数にあわせて修正してください

yu-yake
質問者

お礼

何度も補足してすいません #3の補足に再度補足します C D にもデータがあります4列のデータリストでした 行のデータはそのまま変わらず移動もしくは複写したい 例 A    B             C       D 1002 1002 元木 大介   30      セカンド 1005 1005 清原 和博   36      ファースト 1006 1006 小久保 裕紀  33     サード 1007 1007 二岡 智宏   29      ショート これが A    B             C       D 1002 1002 元木 大介   30      セカンド 1003 1004 1005 1005 清原 和博   36      ファースト 1006 1006 小久保 裕紀  33     サード 1007 1007 二岡 智宏   29      ショート こんな感じです

yu-yake
質問者

補足

トライしたのですが A           B 2 元木 大介      1 5 清原 和博     2  6 小久保 裕紀     3 7 二岡 智宏      4 というふうになってしまいます

  • mi-tan
  • ベストアンサー率32% (26/79)
回答No.1

まず、範囲をマウスでドラッグして選択してください。 その後、並べ替えをしたら・・・ 隙間が開いていても並べ替えはできますが・・・ たとえば名前を昇順にした場合、 上位に来るのは、空白行になってしまいます。

関連するQ&A