• ベストアンサー

エクセルファイル ZIP圧縮

下記のようなエクセルファイル(約1.2M)をZIPで圧縮したところ、約0.16Mになりました。 圧縮率の高さに驚いているのですが、エクセルファイルに何か無駄な部分があるのでしょうか? 数式部分は高圧縮されるものなのでしょうか? 伝わりにくいとは思いますが、教えてください。 エクセルファイル  ・シートAとシートBの2つ  ・シートAは約2700のセルに数値が入っている  ・シートBには約6000のセルにVLOOKUPなどの数式が入っている

質問者が選んだベストアンサー

  • ベストアンサー
  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.1

高圧縮がかかる部分は、セルの属性や書式のデータと思われます。 両方のシートの約8700個のセルの内容が全部違ったとしても「セルの書式」は全部同じになっていると思います。 そうすると「セルの書式を示す実データ」が全部同じになり、同一のパターンが約8700個、ファイルの中で繰り返す事になります。 ZIP圧縮では、同一のパターンが多数出現すると、出現数の最も多い物を最も短いデータに圧縮します。 つまり「セルの書式の実データ」など、同一パターンのデータが多ければ多いほど、高圧縮になります。

nonboo
質問者

お礼

早速のご回答ありがとうございます。 なるほど、そうなんですか。。。 勉強になりました。

関連するQ&A

  • 圧縮したいファイルがなくてもzipが作られてしまう

    7Zipを使って圧縮ファイルを作る処理を作っています。 Windows環境で下記のコマンドを実行しています。  7z.exe 〇〇.zip a 〇〇.text 圧縮したいファイルがない場合、ファイルがありませんとメッセージ がでますが、zipファイルが作られてしまいます。 ファイルがない場合、zipファイルが作られないようにするオプション とかありましたら教えて下さい。 よろしくお願いします。

    • ベストアンサー
    • Java
  • Excel 複数ファイルの参照

    説明が難しいのですが、 例えば、デスクトップに[1.xls], [2.xls], [3.xls] ・・・ と連続したエクセルファイルがあり、 新規作成で以下のようなシートを作製して、   A B C D E F 1 1 2 2  3 3 4 4 5 5 6 6 B列にデスクトップ上の各ファイルのセルA1の値を入力したい場合、 数式を「='C:\…\デスクトップ\[***.xls]Sheet1'!$A$1」 として、***部分にセルA1~の数値を代入できるようにしたいのですが、可能でしょうか。

  • 7-Zipで圧縮

    圧縮率がいいと噂を聞き7-Zipで圧縮してみたら元のファイルの容量より増えてしまいました。超圧縮で実行しました。 何かやり方が間違っているのでしょうか? winrarで同じファイルを圧縮したら、ちゃんと元の容量より少なくなりました。 ちなみにこのサイトの(5)の項目を見ながらやりました。 http://www.xucker.jpn.org/pc/7zip_use.html

  • ExcelでVLOOKUPの引数にMID関数を使う?

    ・Sheet1のA1セルの数値をVLOOKUPの検索値にする ・Sheet1のA1セルの数値が6桁あって、左から2・3・4番目の数値を使う ・Sheet2にVLOOKUPの「範囲」になる表がある 以上の条件のとき =VLOOKUP(MID(A1,2,3),Sheet2!$表のセル範囲$,列,型) という数式を作ったのですが、「NAME#」エラーがでました。 正しい数式を教えていただければ助かります。 よろしくお願いします。

  • エクセルのVLOOKUP

    エクセルのVLOOKUPで違うシートにあるデータをひっぱりたいのですが シート1のA2~A50まで 20100110~20111011 までランダムに入っています。 この数値は、年月日の 8桁です  (シート1は他人が作ったデータです )シート2のA1~A7まで、8この数値は自分で打ち込みました) 20101001 20111001 20101011 20111001 20110201 20110201 20110301 シート2のB1~B7まで  あ  い  う  え  お  か  き  とはいています。 これをシート1のB2~B50まで B1~B7まで入っている  あ  い  う  お   か  き をひっぱりたいのです。シート1に入っている ですが、VLOOKUPで引っ張っても エラーになってしまいま8ケタの数値をクリックして セルの書式設定でシート1とシート2の8ケタの数値を数値にしても エラーになります エラーになる原因はなんですか?

  • エクセルのVLOOKUP

    エクセルのVLOOKUPで違うシートにあるデータをひっぱりたいのですが シート1のA2~A50まで 20100110~20111011 までランダムに入っています。 この数値は、年月日の 8桁です  (シート1は他人が作ったデータです )シート2のA1~A7まで、8この数値は自分で打ち込みました) 20101001 20111001 20101011 20111001 20110201 20110201 20110301 シート2のB1~B7まで  あ  い  う  え  お  か  き  とはいています。 これをシート1のB2~B50まで B1~B7まで入っている  あ  い  う  お   か  き をひっぱりたいのです。シート1に入っている ですが、VLOOKUPで引っ張っても エラーになってしまいま8ケタの数値をクリックして セルの書式設定でシート1とシート2の8ケタの数値を数値にしても エラーになります エラーになる原因はなんですか?

  • ZIP圧縮の短所はありますでしょうか?

    圧縮ファイルについて質問です。 LZHとZIPでの圧縮を使用しています。 今まで、LZHしかしらないで、使っていたのですが、ZIPで圧縮すると、圧縮してもファイルの内容がみれるので、こちらのほうが便利だなぁと思っています。 win98でも2Kおよびxpでも大丈夫でした。また、EXCELファイルを圧縮したのですが、LZHとZIPでほとんど圧縮後のファイルサイズがかわりませんでした。 1)今のところ、ZIPの短所がみあたらないのですが、なにか、短所のようなものはあるのでしょうか? 2)ZIPとLZHはどのような原理の違いがあるのでしょうか? 以上、よろしくお願いします。

  • 複数のEXCELファイルより結果検索(VLOOKUP)

    はじめましてご教授お願いいたします。 現在エクセル関数Vlookupを使用しているのですが 外部の複数エクセルファイルよりデータを抽出するには どうすればよろしいのでしょうか? エクセルファイルA,B,C,Dがあるのですが ファイルAには結果表示用のシートがあります B,C,Dにはそれぞれデータが同じように配置されおります。 ファイルAのシート2セルA1に以下のような関数を記述しております =IF(ISBLANK(A2),"",IF(VLOOKUP(A2,Sheet1!$A$2:$K$60000,2,FALSE)=0,"",VLOOKUP(A2,Sheet1!$A$2:$K$60000,2,FALSE))) 上記関数[Sheet1!A2:K60000]の部分に別ファイルB,C,Dの データ(範囲は同じ)も検索できるようにしたいのですが どのような関数で可能なのでしょうか? ご教授よろしくお願いいたします。

  • ZIPファイル

    ZIPファイルに圧縮する際に一番圧縮率のいい フリーソフトってどれでしょうか!

  • 別のエクセルファイルからリンクの数式をコピペ

    ファイル1と2があるとして、 それぞれファイルにはシートA、Bがあります。 ファイル1で、シートBにはシートAからリンクがしてあり、 セル内の数式が='シートA'!$D$10というセルがあります。 このセルをファイル2のシートBの全く同じ場所に、 ファイル1と同様に、ファイル2のシートAからリンクしようと ファイル1のセルをコピーして、ファイル2に貼り付けると、 セル内は='[ファイル1.xls]シートA'!$D$10 で、データ自体はファイル1から飛んできてしまいます。 ファイル1の数式そのままをコピーして、ファイル2に 同じ数式になるように貼り付けることは可能なのでしょうか? 誰か御存知でしたら、教えてください。。。

専門家に質問してみよう