• 締切済み

エクセルで並び替えをしたあとで(しばらくしてから)データがおかしくなった!

こんにちは、komo-moと申します。 Excel2002を使っています。説明が難しく長くなって申し訳ないのですが、私は3000名くらいの名簿を元にして各イベントごとに参加者にナンバリングをして1番から昇順に並べ替え、その並べ替えたデータをコピーして別の名簿を作っております。 ところがたまたま気がついたのですが、その番号の一部分が間違っているのです。たとえば100人抽出したとして、1番から3番までは合っていて4番と5番が全く違う人のところに4番5番と入っているのです。 えーっとつまり最初にAさんを4番、Bさんを5番と入力していたのが、4番がXさんに、5番がYさんにという具合に入れ替わっています。 最初に入力して並べ替えた時にはちゃんと正しくできていて名簿も普通に作成できましたが、今現在、元の名簿をそのイベントごとに並べ替えてみると、どのイベントも気まぐれに数字が入れ替わっています。どうしたことでしょうか? 訳が分からずとにかく今は一から入力をし直しているのですが、原因が分からないとまた同じようなことが起こるかもしれないので不安で仕方ありません。 入力し直すのにもすべて間違っているのではなく、とびとびに間違っているので一件一件チェックをしながら再入力するのでとても時間がかかります。 それから、さきほど「気まぐれに」と書きましたが、その間違って数字が入ってしまうところはほとんどが最近新しく登録した人たちのところなんです。何か関係があるのだろうなと想像するのですが、いったいどのように関係があるのか見当もつきません。 今までずっとエクセルを使い続けてきましたがこんなおかしなことは初めてです。 どなたかお分かりになる方ご回答をお願いします。 よろしくお願いします。

みんなの回答

  • mktoolll
  • ベストアンサー率22% (20/88)
回答No.6

フィールド名は各列の先頭に全て入力されていますか? フィールド名とは通常「番号、氏名、性別、住所」というようにデータフィールドの先頭に属性判別のために必ずつけられているもの(つけなければならないもの)です。 もしも、フィールド名の行に空白のセルがある場合、ソートするときに配列エラーが発生します。データが入力されている列には必ずフィールド名をつけるように心がけましょう。 これで、解決すればいいなーという感じですが、いかがですか?

komo-mo
質問者

お礼

mktoolllさん、ありがとうございます。 フィールド名はすべて入力しています。一度並び替えた時は正しく並べ替えが出来ていて、その後フィールドに一切変更は加えていません。次に並び替えた時にも一見なんの問題もなく普通に1番から昇順に(洩れなく)並べ替えられるのですが(エラーもなく)一件一件をチェックしていくと所々の内容が入れ替わっているのです。180件のうち20件くらいが選んでない人に番号が附番されて並べ替えられ、そのかわり選んでいたはずの人が置き去り状態になっていたんです。

  • sai2003
  • ベストアンサー率36% (28/77)
回答No.5

思いつくような回答はすでに出ているようなので、もっと基本的なアドバイス?をひとつ。 スプレッドシートでこれほど多くのデータベースを作成するのはあまり良いこととは思えません。 理由は、今回のようなことが発生する危険性が高い、データの量が増えると処理が遅くなる(最近はパソコンの高性能化に伴いあまり気にはならないかもしれませんが)などが理由です。 簡単に作成できるという気持ちはわかりますが、安全性と将来への布石として、専門のデータベースソフトを検討されたらいかがでしょうか? 個人的には、アクセスは嫌いです。フリーソフトのカード型のデータベースなど良いのではないでしょうか。 それか、将来の自動処理のために桐もいいですね。(桐は私も使っています。生産性はいいですよ)

komo-mo
質問者

お礼

sai2003さん、ありがとうございます。 データベースソフトですか?実はそれは考えたことがあるのですが、やっぱりアクセスかな?でもとても難しいと聞きますし値段も高いようで敬遠してました。 フリーソフトがあるのですね?探してみます。「桐」ですか?それも検討してみます。今後のためにも。

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

私は#2のご回答のタイプを推測します。 誤りは誤った時点では気づかないから誤ってしまうわけで 全体の理屈はよくご存知でも、範囲指定は早く操作すると 結構指定洩れ(上部・下部・左端列・右列・行・列とも)が起こる場合があると思います。 また本件再現性があれば、原因究明が進むと思いますがないでしょうね。 あとは#1のご回答のコードの問題でしょう。 まさかオプションの並べ替え順序の指定に特殊なものが 入っているかとか。 先頭行をデータなのに、タイトルと指定してソートに取り残されたとか。 列指定を間違って、振りガナを使うにしたとか。 ただ全世界の何千万?人が使っているエクセルでソートプログラムに誤りがあることを発見されたら、時の人になるように思います。インテルのプロセッサの誤りが見つかった時のように。この可能性は少ないでしょう。

komo-mo
質問者

お礼

imogasiさん、ありがとうございます。 おっしゃるとおり何かを間違えているはずですよね?それが解ればよいのですが・・・。私が毎回やっていることは実に単純なことなのに不思議です。 >範囲指定は早く操作すると結構指定洩れ(上部・下部・左端列・右列・行・列とも)が起こる場合があると思います。 そうですね。あり得ますよね。もう一度よく考えてみます。月曜日になりますが。

  • BG4
  • ベストアンサー率18% (10/53)
回答No.3

今ひとつ質問の雰囲気がつかみにくいのですが、 私も経験したことのあるような?ないような? でも違うような? 私がとった方法は、その列にオートフィルタを使って、 データをまとめて本当に「全く同じ形式」なのか 確認したら、見かけとはちがって、形式が違った のを発見した覚えがあります。特にコピーをして いった場合にはそんなことが多いような気がします。 ところで、計算式は入っていませんよね? セルのクリアで消してから入れなおすと良い場合も ありますよね。 何か外れているような気がします。 ごめんなさい。

komo-mo
質問者

お礼

BG4さん再度のご回答ありがとうございます。 一応、最初の回答をいただいた時にチェックしてみました。同じ形式なんです。おっしゃる意味はよく分かります。 昇順に並び替えを実行したら1番から100番まできれいに洩れなく並べ替えてくれるのです。もちろんおっしゃるようにオートフィルタでも確認してるのです。 とにかくAさんが1番のはずなのに、勝手にBさんが1番に入れ替わっていて、Aさんのところにはなんにも番号が入ってない状態になっているのです。サッパリ分かりません。 あ、計算式は入ってません。

  • nao-chan
  • ベストアンサー率30% (9/30)
回答No.2

並べ替える時に、並べ替えたい表全体を選択してから 並べ替えを実行されましたか。 一列だけ選択して並べ替えを実行するとその列しか 並べ代わりませんので注意が必要です。

komo-mo
質問者

お礼

nao-chanさんありがとうございます。 並べ替えはもちろん全体でやってます。問題はデータの内容の一部が入れ替わっているところです。それが並び替えに関係しているのかどうかは分からないのです。

  • BG4
  • ベストアンサー率18% (10/53)
回答No.1

データの形式が違うのではないですか? 文字データと数値データではその並べ替えをした時に かわってきますよ。

komo-mo
質問者

お礼

BG4さん早速ありがとうございます。 ご指摘の形式なのですが、特に形式は決めず「標準」で、入力するのは必ず半角英数字で入れておりますがどうでしょう? 第一、一度は入力したとおりに正しく並べ替えが出来ていて、ある日突然数字が入れ替わっているのです。 どうしたらいいんでしょう?