• 締切済み

巨大なシートを動かす方法

エクセルで大きな表を作成した結果、 6000列、1000行の表(ワークシート)となりました。 この1枚のワークシートだけは開くことができるのですが、 類似のワークシートを1つのブックの中に5枚作成し、それぞれ 関連付けています。現在のエクセルファイルの大きさは、136メガバイトです。 その結果、現在、2ギガつんでいるメモリの 使用容量が1.9ギガにまで増加し、エクセルがフリーズしてしまいました。どうしても、このワークシートを動かして計算してみたいのですが、方法はあるでしょうか。 考えられる方法として 1 メモリを2ギガから4ギガに増やす 2 エクセルではなく、それ以外の表計算ソフトを利用する。 3 グーグルのオンラインのスプレッドシートを利用する。 のいずれかの方法を考えています。 なお、3については、スプレッドシートで使用したいエクセルファイルを読み込ませようとしたところ、WEBサイトに問題が生じているというないようのエラーメッセージが発生して、使用できません。  何かよい方法があれば、教えてください。

  • nelton
  • お礼率60% (296/489)

みんなの回答

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

何でもエクセル族(エクセルしか知らない)エクセルに拘って、難題の質問を吹っかけているように思う。 600万のデータで何をしようというのか。 エクセルは関数などでデータ変更の即時反映などを優先しているため、そんなサイズのデータ処理は予想して無いと思う。 プログラムを勉強し、今のエクセルのデータを再組み換えして、データべースやレコードの形式にして、処理をすることお考えるべきだ。 学術的なことならその課題に適したソフトがあるかどうか検討しましたか。文系ビジネスならそんな多量データを処理しなくてもよいのではないか。質問者はシステム設計に自信あるのかな。

nelton
質問者

お礼

お礼が遅くなりました。 エクセルでの処理にこだわっているのは、グラフが作成できるからです。大量データを処理して、その結果を細部までグラフ表示し、計算式が正しいか、あるいは、入力したデータに誤りがないかなど確認する必要があるからです。 確かにあまりに大きいワークシートなので、その取扱いに苦慮していました。結果的には、列数を6000列から1000列に集約することによってシートを動かすことができるようになりました。

  • nori_007
  • ベストアンサー率35% (369/1048)
回答No.2

メモリーを 4G 搭載しても利用出来るのは 3G までです。 やっぱりデータが多すぎるように思います。 そのようなデータか判りませんが、データベースソフトは利用出来ないでしょうか。 個人的には、エクセルのシートがそのまま読込める、ファイルメーカがお勧めです。エクセルとは根本的に考え方が違いますので、必ずしもベストかどうか判りませんが、データの抽出や、特定セルの合計を等を出すのであれば、検討の価値はあると思います。 検討してみてください。無料評価版もありますので。 http://www.filemaker.co.jp/

参考URL:
http://www.filemaker.co.jp/
回答No.1

列数を増やすより、行数を増やすことでメモリの消費を抑えられます コピーして別のブックに行列を入れ替えて貼り付けてはいかが? 外部取り込みようのブックを作り、それぞれのシートに外部取り込みを行う その際、外部データのプロパティから 「ファイルを開くときにデータを更新する」 「保存前にワークシートから外部データを削除する」 にチェックを入れておきます ファイル自体は小さくなります (当方XL2002なのでXL2007では違うかも)

関連するQ&A

  • エクセルのsheetを増やすには?

    基本的な質問ですがお願いします。 表計算エクセルのsheetを増やしていくにはどの操作をすればよいでしょうか? ファイル>新規作成とすると新しいファイルが出てきます。が、ほしいのはこれではないのです。現在、左下にsheet1~3が出ていますが、データの種類に応じて4~を増やしたいのです。よろしくお願いします。

  • エクセルシートの非表示

    業務でエクセルにマクロが入ったものを作っています。 一応クライアントごとのオーダーメイドで、あるスプレッドシートに条件を入れると、別のスプレッドシートで計算をして、最初のシートに結果を示すようにしています。  さて、その計算過程について、秘密にしたいのですが、計算に用いているシートを非表示にする(パスワードで見えるようにする、とか)ことは可能でしょうか?

  • マクロでシートを分ける

    エクセル初心者です(簡単な表作成と四則計算程度)。 30シートある1つのファイル(シート名は1、2、3…30)を、それぞれ1シートずつ1つのファイルに分けて 30のファイルにしたいのですが、マクロを使うと簡単に分けられると聞きました。 どうやったらいいのでしょうか? 初心者には難しいでしょうか? 初心者にもできるようでしたら、わかりやすく説明していただけると助かります。

  • シート2に作成された、エクセルの表を、シート1のエクセルのページに貼り付けできるでしょうか?

    シート2に作成された、エクセルの表を、シート1のエクセルのページに貼り付けできるでしょうか?しかも、ワークシートの機能をもったままの貼り付けは出来るでしょうか?(ワードをはりつけると、MicroSoftワードシートオブジェクトとして、更新、入力などできますが、、エクセルをエクセルに、ワークシートの機能をもったままの貼り付けは無理でしょうね?)リンク貼り付けではなくて、エクセルシートのなかに、エクセル作成の表を貼り付けて、その、貼り付けられた表をダブルクリックすると、エクセルのワークシートが立ち上がるようなこと出来るのかな?と思ったのですが、、、、?エクセルにエクセルを貼り付けて、その貼り付けたエクセルを開くと(Wクリックすると、エクセルが開いてきて、修正などもかのうな状態)にならないでしょうか

  • エクセルのワークシートをUSBメモリにコピー

    Excel2007を使用しています。一つのエクセルファイルに複数のワークシートがあります。 そのうち1枚のワークシートのみをUSBメモルにコピー(保存)しようとしてもコピー出来ません。 ワークシート単体をUSBメモリなどエクセルブック以外にコピーする方法はありますでしょうかアドバイス下さい。

  • Excelでワークシートの計算式の反映方法

    エクセルで1つのワークシート内で計算式を入力して計算していく方法は分かります。その結果を次のワークシートへ反映させる方法があったら教えて頂きたいのです。 例えば1枚目のシート(sheet1)でC1セルに「=A1+B1」の計算式を入れて答えが出ますよね。 そのC1セルに出た答えを2枚目の(sheet2)のA1セルに反映させる(表示させる)方法を知りたいのです。 ヘルプで検索しても思うようにいきません。 もしご存知でしたらよろしくお願い致します。

  • 1枚のワークシート上で列幅が違うレイアウトを作成する方法。

    1枚のワークシート上で列幅が違うレイアウトを作成するには、どの様にすればいいでしょうか。 エクセルのデフォルト設定では列幅は8.38になっています。1行目から10行目まではこの列幅で表計算を組んでいます。 11行目から20行目に列幅が10.50の表計算を組みたいのですが、そうすると1~10行目の列幅も10.50になってしまいます。 何かやり方があるとは聞いているのですが、周りに知っている人が居ません。 ご指導宜しくお願い致します。

  • ワークシートの軽量化

    エクセル2000の質問なのですが、 ワークシートが20枚程度あるブックを使用しています。 すべてのシートには表があり、印刷範囲外に表に入力する値が記載してあり、その値を参照して表を作成していました。 似たような表ばかりなので、新しいシートを追加しそのシートに表をまとめ、そのシートから値を取得するように変更したのですが、 元のデータの倍(1.6M)の重さになってしまい かなり重たいブックになってしまいました。 どうしたら軽くなるのか教えていただきたいです。 VBAを使用すれば問題が解決するのであれば その方法も教えていただきたいです。

  • シートAとシートBのあるセルの合計をシートCに出したい

    Office2003のVBAを勉強中です。 2つのエクセルファイル(ファイルA、ファイルB)があります。 ファイルA、Bにはシートが一つづつあり、そこには同じフォーマットで表が書かれています。 ファイルA、Bのシートに書かれている表の合計を新規に作成したエクセルファイルCに書き込みたい場合、皆さんならどのようにされるでしょうか? 僕は下記のように考えました。 1.ファイルCを作成 2.ファイルAの対象シートをファイルCのシート1へコピー 3.ファイルBの対象シートをファイルCのシート2へコピー 4.ファイルCのシート3にシート1とシート2の合計を計算表示 「そんな手間な事をせずとももっと・・・」だとかあるようでしたら、 皆さんのご意見をお聞かせください。 それともう一つ、シート1の指定セルとシート2の指定セルの合計をシート3の指定セルに計算表示するのはどのようなロジックを書けばよいのでしょうか?

  • PHPExcel使用で2枚目のシートを作る方法

    閲覧ありがとうございます。 さっそく質問なのですが、私は現在PHPExcelを使用しています。 このクラスを利用してExcelのファイル形式に出力することはできるようになりました。 しかし、シートを1枚しか使う事ができません。 2枚目、3枚目と、シートを作る方法を教えて頂きたいです。 使用環境はxamppです。 よろしくお願いします!

    • ベストアンサー
    • PHP

専門家に質問してみよう