• ベストアンサー

Excel絶対参照を相対参照にしたらファイルサイズが増加?

Excelにて、ファイルサイズを小さくしようと思い、絶対参照しているものを相対参照(「$」を外す)にしてみました。 素人考えでは、計算は変わらないし文字も減るから少しはファイルサイズが小さくなるだろうと思ったのですが、逆に大きくなってしまいました。 なぜこうなってしまうのでしょうか。 理屈のわかる方、教えてください。

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

  • ベストアンサー
  • _Kyle
  • ベストアンサー率78% (109/139)
回答No.2

書式の場合ほどあからさまではありませんが、 数式の場合も、個別に設定するより、フィルやCtrl+Enterで【まとめて設定】した方が ファイルサイズが小さくなる傾向があります。 直感的に考えても「A1は○○,A2も○○,A3も○○,…,A100も○○」 と記憶するより「A1,A2,A3,…,A100は○○」と記憶した方が情報量が少なくなりますよね。  ※これはあくまでイメージで、実際はそれほど単純でもないのですが…。 例えば、B1セルを =$A$1+A1 として B10セルまでフィルした場合、 「B1セルにある =$A$1+A1 という数式」も「B5セルにある =$A$1+A5 という数式」も、 「A1セルの値に左隣のセルの値を加える」という同一の式( R1C1形式で表記すればどちらも =R1C1+RC[-1] )なので、 Excelの内部的には「B1,B2,…,B10に、ある同一の数式が入力された」と認識されるようです。 ところが、置換を行うとそれぞれのセルについて数式を個別に修正(再設定)することになりますから、 "$"を"$"に置換した場合のように【数式が変化しない場合でも】 「B1セルに=$A$1+A1,B2セルに=$A$1+A2,B3セルに=$A$1+A3,…」と個別に記憶することになり、 ファイルサイズが大きくなるのだと考えられます。 ------------------------------------------------------------------ 例えば、私の環境(WinXP,El2003)では、 A. B1:B65536について =0+1 を Ctrl+Enter で一括入力した場合  ⇒ファイルサイズは3.39MBです。 B. B1:B65536について =$A$1+A1 を Ctrl+Enter で一括入力した場合  ⇒ファイルサイズはAと同様3.39MBです。 C. Bについて、"A"を"A"に置換した場合(数式はBと変わらない)  ⇒3.75MBに増えます。 D. Bについて、"$"を""(空白)に置換した場合  ⇒Cと同じく3.75MBになります。 E. Cについて、B1セルをダブルクリックしてフィルした場合(数式はB,Cと変わらない)  ⇒3.39MBに戻ります。 F. Dについて、B1セルをダブルクリックしてB列の数式を書き換えた場合  ⇒3.39MBに戻ります。 ------------------------------------------------------------------ なお、この件については、以前MSのサイトで  ・書式はまとめて設定した方がファイルサイズが…  ・数式はCtrl+Enterやフィルで入力した方がファイル…  ・配列数式にすればさらに… といったトピックを読んだような記憶があるのですが、今回見つけられませんでした。 私自身は長いこと「そういうもんだ」と思ってきたのですが、 リクツの部分についてはもしかすると思い違いがあるかもしれないので、 あくまで参考程度にお考えください。

hirumin
質問者

お礼

ありがとうございます。 いろいろと勉強になりました。 理屈についても参考ということですが納得できました。 今作成していたExcelファイルも、式の入れ方を変えることでファイルサイズを軽量化できました。 ただ… これはいい、と作業を進めていたところ、ファイルサイズが大きくなるという事象もでてきました。 またいろいろ試してみたいと思います。

その他の回答 (1)

noname#99913
noname#99913
回答No.1

ワードやエクセルの保存方法は少し特殊で、ファイルそのものを保存しているのではなく、変更部分(変更履歴?)を元のファイルに追加して保存します。保存速度を稼ぐ工夫です。 ですので、保存すればするほど、本体のサイズには関係なく、ファイルサイズは大きくなっていきます。そして、ある時点でリセットされて、本体そのものだけが保存されます。 あとは、これの繰り返しです。

関連するQ&A