プロが教えるわが家の防犯対策術!

歯抜けのデータをきれいに並べ替えたい


2 元木 大介
5 清原 和博
6 小久保 裕紀
7 二岡 智宏

これらのデータを

1
2 元木 大介
3
4
5 清原 和博
6 小久保 裕紀
7 二岡 智宏

としたいのです
データ量が半端じゃないので・・・
お願いします

A 回答 (5件)

ばらばらなら、シート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列をコピーして、形式を選択して貼り付けから値を選択して貼り付けると、空欄になります。

このような方法でいかがですか。
    • good
    • 0

元データがA列に番号、B列に名前が入っていると仮定します。



C1セルに1を入れ、オートフィルでC列に連番を作ります

D1セルに=IF(ISERROR(VLOOKUPC1,A:B,2,0)),"",VLOOKUP(C1,A:B,2,0))
を入れ、オートフィルで下方向へコピーします

この回答への補足

補足します
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列ではうまくいきました

補足日時:2006/03/13 14:01
    • good
    • 2
この回答へのお礼

なんとか出来ました

お礼日時:2006/03/13 14:19

2元木 大介


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

この回答への補足

説明不足で申し訳ない

A    B
1002  1002 本木 大介

Aが4桁の数字、Bが4桁の数字+名前
2列のデータリストです

並べ替えは1003や1004の抜けを空白として表示させたいのです
抜けた数だけ行をずらして C もしくは別のシートに写せますか?
うまく伝わったかなあ?^^;

補足日時:2006/03/13 12:31
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/03/13 12:46

実際には、先頭に入っている数値部分は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"」の部分は数値桁数にあわせて修正してください

この回答への補足

トライしたのですが

A           B
2 元木 大介      1
5 清原 和博     2 
6 小久保 裕紀     3
7 二岡 智宏      4

というふうになってしまいます

補足日時:2006/03/13 12:29
    • good
    • 0
この回答へのお礼

何度も補足してすいません

#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      ショート

こんな感じです

お礼日時:2006/03/13 13:10

まず、範囲をマウスでドラッグして選択してください。


その後、並べ替えをしたら・・・

隙間が開いていても並べ替えはできますが・・・
たとえば名前を昇順にした場合、
上位に来るのは、空白行になってしまいます。
    • good
    • 0

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