• 締切済み

エクセルで表がずれる・・・

エクセルでデータベースとして表を作りました。データ数は約1000件です。これを、並べ替えようと思い、データ→並べ替えで優先されるキーを設定してからやっていました。最初は最優先キーしか使わなかったのですが、もっと細かく、上手に並べ替えようと思い、二番目に優先されるキーにも入れてやってみました。うまくいったと思い、しばらくは気が付かなかったのですが、よく見ると、個々のデータがずれて、ばらばらになっていました。そこで、お聞きしたいのですが、それぞれのデータの属性というのでしょうか、固定してしまう方法はないのでしょうか。

みんなの回答

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

仰っていることは何となく分かりかけてきました。 項目がソート前に    第1行A1、A2、A3、A4,A5、A6    第2行B1、B2、B3、B4、B5、B6 として、それがソート後に    第1行A1、B2、A3、B4,A5、A6    第2行B1、B2、A3、B4、B5、B6 のように「他のレコード(行)の項目が混じる」と言うことでしょうか。 普通は絶対おこらないことなので、原因を探るより他ありません。 (1)私の推測もネタ切れですが、関数式が一部の行かセルに設定 されていませんか。それがソートにより別行に移動して、予期せぬ結果になっているとか。 (2)オプションの列単位でソートにはなってないでしょうね。 (3)ソート前の元データは別にありますか。あればもう一度注意深くやって、結果が再現するかチェックできますか。プログラム等はそれが残っているが、操作は結果しか 残らないので、追求が難しい。 (4)この手の質問は、誤操作による可能性があり、自分では 気付いていないので、第三者はあてずっぽうの推測しか、しようがなく難しい。 (5)今でも範囲指定してソートの操作に入るのですが、 全列範囲指定してなかった可能性が捨てきれないと思う。

clint
質問者

お礼

何度も、つまらない質問のために、回答いただきましてありがとうございました。まさに、そのとおりなのです。それで、データから並べ替えを2回やるとくずれずにできているので、今はそうしてます。(最優先キーのみ入力して、それをもう一度入力しなおして実行) 第二、第三と一度に入れてやると、必ずずれてくるので困ります。どうしてなのかわかりません。ありがとうございました。

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

>「第二のキーとして時間を入力したりすると、それぞれのデータがばらばらになるということです。1行のビデオに関するデータがほかのデータに変わってしまうということなのです」この状況がわからない。 第一キー(A、Bの入っている列)でソートすると A・・・03  (1番目) A・・・08  (2) A・・・05  (3) A・・・01  (4) B・・・08  (5) B・・・02  (6) のようになりますね。 次に第1キー(ABの列)+第2キー(03、08の入っている列)を指定してソートすると A・・・01  (4番目) A・・・03  (1番目)  A・・・05  (3番目) A・・・08  (2番目)  B・・・02  (6番目) B・・・08  (5番目) になりますが、これが都合が悪いのですか。ソートとはそういうものです。 どのようにしたいのですか。 ●時間の入力をどうしていますか。3:30のように入力していますか。3/30などといれてないでしょうね。 日付になってしまう。 ●「五十音順にただソートするだけであれば」 五十音順と言うのが曲者です。五十音順のためにはカナ(カナ。(株)など付いていないこと)が必要ですがありますか。 =Phonetic()でやるのは、少し注意事項を知っていないと 危ないですが。

clint
質問者

補足

早速返答していただき、ありがとうございます。でも、おっしゃってる意味が理解できません。私の説明が悪いのかもしれませんが。入力については特に問題がないと思っています。とにかく、ひとつのデータに違うデータが混ざってしまうということなのです。それぞれの項目のデータは固定されなければならないはずです。前例でいうならば、映画名と監督名はいっしょなのに、それ以外のデータがほかのものとすり替わるという現象を何とかしたいのです。いかがでしょうか。

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

>「個々のデータがずれて、ばらばらになっていました」 実例でも挙げて説明してもらえませんか。」 言っている現象・結果がよく掴めません。 エクセルは1000件ぐらいで処理がおかしくなるものではありません。全世界でユザーが見張っているようなものですから、そんなことであれば大変なことでそういうことは聞いたことがありません。 まず全データの範囲を指定してソート操作をしたかチェックしてください。わたしはA-S列のデータを誤ってA-J列までしか指定せずソートしてしまったため、痛い目にあったことがありました。

clint
質問者

補足

たとえば、ビデオリストを作ったとします。A列に作品名、B列に監督名、C列に出演者、D列に時間などというように作ったとしますよね。それを、五十音順にただソートするだけであれば、何も起こらないのですが、第二のキーとして時間を入力したりすると、それぞれのデータがばらばらになるということです。1行のビデオに関するデータがほかのデータに変わってしまうということなのです。ですから、どんな並べ替えをしても、それぞれの行ごとに入力してあるデータが勝手に動かないようにしたいのですが。

  • Hageoyadi
  • ベストアンサー率40% (3145/7860)
回答No.2

1行に1データある表で行を固定したいのですよね? Excelも95以降しか知らないので、自信ありませんが、並べ替えでデータがばらばらになるのはExcelがデータ範囲を正確に把握できていないからだと思います。 2番目のキー列に空白行はありませんか? また、範囲の選択をExcel任せにするのではなく、範囲名をつけるなどしてユーザー側で範囲を指定してから並び替えるとズレは防げると思います。 確かにAccessでは、このような不具合は狙わないと出来ませんのでお勧めですが、数千件の並び替えでしたらAccessのクエリーよりもExcelのほうが短時間ですみますね。

clint
質問者

お礼

どうもありがとうございました。参考になりました。

回答No.1

そこまでのデータ量で、DB化するんでしたら、もう、Excelでやる範疇ではないですね MicrosoftのOfficeグループに、Accessがありますから、そちらでされれば良いですよ データの共有も簡単ですからね

clint
質問者

お礼

どうもありがとうございました。参考になりました。

関連するQ&A

専門家に質問してみよう