• 締切済み

データ量の多いデータでエクセルが固まります

win7 Professional office2010。 エクセルで動きが固まってしまいます。何かの設定で固まる時間を短縮できないでしょうか。 ファイルA、ファイルBがあります。 それぞれ 行:80,000 列:100 のデータ量です。 別BOOKへ、その2データをのシートを分けて貼ります。(ファイルA をsheet1、ファイルBをsheet2) そして、sheet3 は、sheet1とsheet2の同一セルに差異がないかを調べるシートです。 sheet3に関数が 80,000 x 100 個(本当はその2倍くらい)定義してあります。 sheet3の関数などを変更したりしたときに F9 押下で再計算がされますが、その”再計算”の動きがなかなか完了の100%になりません。(再計算は”手動”にしてあります) CPUは100%いってますし、メモリーも2Gほどくっています。 メモリーの割り当てとかを変更?などしてなるべく待ち時間を減らしたいのです。 現在3時間以上かかってます。 何かよい方法はないものでしょうか。 よろしくお願いします。

みんなの回答

  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.3

私なら 自動再計算を止めさせ 手動計算にし 全て入力、編集、 此が、終わって 其から、再計算 させます

  • rav4rav4
  • ベストアンサー率20% (450/2151)
回答No.2

パソコンのスペックが貧弱なのが原因。メモリは最低でも16G積んでますか?。

magohati
質問者

補足

確か4Gだったと思います。メモリーだけpuして大幅に改善できますか?

noname#224282
noname#224282
回答No.1

8万行のレコードをエクセルとなるとちょっときついですね。ホントならデータベースソフトでやるべき作業でしょう。 関数で得られた結果が変動しないなら、その結果だけを別ファイルに貼り付けて作業するなど工夫が要るでしょう。 そもそもでいうと、演算なのでCPUの性能がそのままモロに影響します。高性能なPCに替えるのが確実と思いますが。 ※演算(関数)の結果を、範囲選択してコピー、新しいブックに形式を選択して貼り付け(値) これでシートは軽くなります。

magohati
質問者

お礼

手だては高性能PCですか…有難うございました。

関連するQ&A

  • エクセルについて

    シート2に累計を入力するとシート1の累計との差異をシート2の 別フィールドへ表示するように設定したんですが つまりは・・・ シート1(累計)100と入力 シート2(累計)110と入力 シート2へ差異10(自動表示) になるように設定したんですけど それをシート1~シート20までの累計と差異を別のファイルのシート1へ まとめて表示しようとリンクさせたんですが ようするに・・・ 別ファイル=シート1に上記シートの(シート1累計)をA1に(シート1差異)をB1へ         上記シートの(シート2累計)をA2に(シート2差異)をB2へ と別ファイル=シート1をリンク専用にして表示させたいのですが 実際に最初の数値を入力すると 別ファイル=シート1 A1(累計)100  B1(差異)0         B2(累計)未入力 B2(差異)-100 となります、何を言いたいかというと6月12日の報告書(A1)を入力 リンクさせた別シートを月間報告書として活用したいんですけど まだ始まってない6月13日の差異欄(B2)に「ー100」と 表示されると報告書の計算に意味がなくなるのですが なにか良い方法はないか教えて下さい。

  • エクセルデータを軽くしたい。。。

    いつもお世話になっています。今回もよろしくお願いします。 エクセルデータで発送表を管理しているのですが、それを次の工程の方に渡す際、オープンに時間がかかるといわれたので軽くしたいのですが。。。 1シートで ・ファイルの大きさ  1.6MB ・データの件数    9行のADまで使用(多いときは400行) ・関数の種類     roundup/sum/mod/自動日付表示ぐらい。。。? ・ファイルが重く動きが悪い ・ファイルを開いたり保存したりするのに時間がかかる。 ・1枚シートをコピーするにしても時間がかかる。 次の工程の人には再計算の必要はなく、値化したデータを渡しても問題ありません。基本が分かっておりませんので、出来ればわかりやすくお願いできると助かります。

  • Excelで離れたセルへのデータ貼り付け

    【前提条件】 Excelで、データ表があります。 横軸に年月、縦軸に品目名が入ったもので、品目は1000品程度あります。  ,A,B,C,D,E,F 1,品目,4月,5月,6月,7月,8月 2,あ,60,26,18,13,25 3,い,88,17,15,72,25 4,う,9,25,28,83,60 5,え,24,90,35,85,86 6,お,35,91,4,31,64 7,か,94,82,70,22,68 ・ ・ (実際には、品名は数字とアルファベットの羅列です。  また月は12か月分あります。) このデータはExcelファイルになっており、アップデートされていきますが、 次の月は5月から始まって、4月で終わるというようになっています。 さらに、品名は順不同の(先月と今月では、品名の並び順が違う)データです。 月々の数値が以降12か月分ゼロの場合は、その品目そのものがデータ表に載りません。 (先月あったものが今月無くなることがある、またその逆もある。) また、作成日がファイル名に入るため、毎月ファイル名が異なります。 このデータを用いて、全く別のExcelファイルに下記の表を作りたいと思います。 ワークシートは何枚にも分かれており、以下のような感じです。 [Sheet 1] ,A,B,C,D,E,F,G 1,品目,-,4月,5月,6月,7月,8月 2,あ,目標,60,26,18,13,25 3, ,実績, , , , ,  4, ,差異, , , , , 5,え,目標,24,90,35,85,86 6, ,実績, , , , ,  7, ,差異, , , , , ・ ・ [Sheet 2] ,A,B,C,D,E,F,G 1,品目,-,4月,5月,6月,7月,8月 2,い,目標,60,26,18,13,25 3, ,実績, , , , ,  4, ,差異, , , , , 5,か,目標,94,82,70,22,68 6, ,実績, , , , ,  7, ,差異, , , , , ・ ・ [Sheet 3] ,A,B,C,D,E,F,G 1,品目,-,4月,5月,6月,7月,8月 2,う,目標,9,25,28,83,60 3, ,実績, , , , ,  4, ,差異, , , , , 5,お,目標,35,91,4,31,64 6, ,実績, , , , ,  7, ,差異, , , , , ・ ・ 差異の部分には計算式が入っており、実績を記入していくと差異が計算されるようになっています。 また、品目は、ある決まったルールに基づいて、シートに分類されています。 そこで質問です。 オートフィルタを使って元のデータ表から必要な部分を表示させ (ある法則に従って品名が付けられているので、あるシートに載せたいデータだけを 表示させることは可能)、その部分を一括でコピー&ペーストしようとしても、 2行空けたペーストはできません。 1行1行コピー&ペーストしていけばこの表の作成は可能なのですが、時間がかかって 仕方ありません。 一発でコピー&ペーストできるような工夫はできませんか? なお、ExcelのバージョンはXP(2002)です。

  • EXCEL シート間でのデータ参照

    例えば同じファイル内のSheet1に    A  B ←行 1  2  3 ↑ 列  のデータがあってSheet2にSheet1のデータを参照した関数を。何でもいいんですが例えば    A   1 合計 ←タイトル 2  5 Sheet1のデータの合計数をSheet2のA2に表示させるようなことって可能でしょうか? 同一のデータをシート単位で異なる関数を使って加工出来ればと思い投稿しました。よろしくお願いします。

  • エクセル:複数範囲のデータでpercentile

    エクセルで複数のシートのデータ範囲にたいして、 percentile関数の計算を行う方法はありますでしょうか? 得たい結果をイメージで書くと =percentile([sheet1!a1:a100,shhet2!a1:a120,sheet3!b1:b100],0.1) というものです。 エクセルの関数のみで実現する方法をご存知でしたら教えてください。

  • エクセルのデータを利用して集計表(1日ごと)をつくりたい

    エクセルに下記のような入力データがあります。 (AやBは品番が入ります) 6月1日 A 東京 バス    6月1日 B 大阪 車 6月1日 A 東京 車 6月2日 C 京都 バス 6月2日 D 京都 車    ¦   ¦ 6月30日 A 大阪 車 これを、 日にちごとに次のような表で集計したいです。 (集計表は様式が決まっていて、エクセルで作成されている) 『車』   東京 大阪 京都 A ○個 ○個 ○個 B ○個 ○個 ○個 C ○個 ○個 ○個 『バス』   東京 大阪 京都 A ○個 ○個 ○個 B ○個 ○個 ○個 C ○個 ○個 ○個 このとき、日にちごとのエクセルシート (2007.6.1シート ~~ 2007.6.30シートまで) 30シートで集計することは可能でしょうか? 面倒でも一度作ってしまえば、 来月からも、入力データを変更するだけで、 集計は可能かと思ったのですが・・・ 日付ごとのシートにしたときに、 どのような条件で集計すればよいのかわからなくなってしまいました。 エクセル初心者で申し訳ないですが、教えていただけますか? よろしくお願いします。 ※ちなみに、ワードの様式(集計表)へ差し込んでの作成は  難しい(面倒でしょうか?)

  • エクセルの異なるデータについて

    エクセルの異なるデータについて 2つのデータに差異があります。(氏名、生年月日、会員番号などのリストです) Aのエクセルには、389件のデータ。Bのエクセルには684件のデータ。 重複しない295件を取り出すには、どんか関数を使えば出来るのか教えて下さい。 VLOOKUPかとも思ったのですが、うまく出来ませんでした。

  • 別excelのデータを引き出す時に、そのexcel名称を可変にしたいと思っています。

    別excelのデータを引き出す時に、そのexcel名称を可変にしたいと思っています。 なるべくマクロを使わないで出来るでしょうか? 例: =VLOOKUP(A1,[B.xls]Sheet1!$A$1:$E$10,4,FALSE) という関数を指定したとします。 [B.xls]Sheet1 この部分をセルA1に入れて、内容を変更することで 引き出し元のファイル&シートを変えたいと思っています。 つまりA1のセルの値を[C.xls]Sheet2にすることで、C.xlsファイルのSheet2からデータを引っ張って来たいのです。 出来るでしょうか? ご存知の方いらっしゃいましたら、宜しくお願い致します。 環境は OS:WINDOWS98 EXCEL2000 です。

  • エクセル 関数を使わずにデータを取りたい

    EXCELを使ってデータ入力をしたいです。 下の図のように、シート1のA列にコードを入力すると、シート2のテーブルから値を引っ張ってくるようにしたい。 たとえば、シート1のA1に"C001"を入力したら、B1に"赤"が自動入力されるようにしたい。 シート1 A列 B列 行1 C001 シート2 A列 B列 行1 C001 赤 行2 C002 青 行3 C003 黄色 ただし、シート1のB列の値は、入力後に編集するため、ここには計算式を入れたくないのです。 なので、通常ならばB列にVLOOKUP関数を使えばすむことですが、計算式を入れずに上記を実現する方法を教えてください。

  • エクセルのマクロで作成した関数を他のエクセルのファイルから参照できるのですか?

    エクセルVBAに関して質問です。 a.xlsというファイルに複数のシートがあり すべてのシートにあるデータと「計算」ボタンがあります。 「計算」ボタンを押下すると、マクロが実行され 計算結果が同じシートに表示されます。 データの内容はシートごとに違いますが、 「計算」ボタンで呼び出したいマクロはすべて同じです。 この「計算」ボタンを押すと実行されるマクロを b.xlsに記述したいのですが、 (他のエクセルのファイルにも使いまわしたいので) そのようなことは可能なのでしょうか。 またどのようにマクロを記述すればこのマクロを 呼び出すことができるのでしょうか。 分かりにくい文章で申し訳ございませんが ご教授くださるとうれしいです。

専門家に質問してみよう