Excelについて質問です。

Excel2003・XPと2000の動作が違うので困っています。
この現象の回避方法などあれば教えてください。
説明が長くなりしかもわかりにくいかもしれませんが・・・。

1.以下のようなデータの入ったセルを作ります。
列1 列2
1000 1
1000 2
2000 3
3000 4
※空行
※空行

2.上記のデータ全体に格子罫線を付けます。またデータすぐ下のデータの無い2行のセルにも罫線を付けます。

3.罫線を引いたセルを全て選択して、ツールバーの「データ(D)」→「集計」をクリックします。

4.表示されるダイアログでデフォルトのまま「OK」を押します。

以上まったく同じ手順で行うと2003・XPと2000では結果が以下のように違ってしまいます。

2000の場合
列1 列2
1000 1
1000 2
1000 計 3
2000 3
2000 計 3
3000 4
3000 計 4


総計 10

2003・XPの場合
列1 列2
1000 1
1000 2
1000 集計 3
2000 3
2000 集計 3
3000 4


3000 集計 4
総計 10

このように2003・XPの場合、集計4の行が何故か最後の総計のひとつ上に来てしまいます。
現在マクロでこのような処理を行っているのですがこの現象のため結果がずれてしまい困っています。
なにか回避方法は無いでしょうか?

回答の条件
  • URL必須
  • 1人5回まで
  • 登録:
  • 終了:2006/09/14 15:49:27
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:llusall No.1

回答回数505ベストアンサー獲得回数61

ポイント100pt

こちらでしょうか??


Excel 2002 および Excel 2003 で複数レベルの集計の表示位置が正しくない

http://support.microsoft.com/kb/831824/ja


解決方法

Excel 2002

この問題は、Excel 2002 Service Pack 3 以降の修正プログラムで修正されています。


Excel 2003

この修正は、Microsoft Office 2003 Service Pack 1 (SP1) に含まれています。

id:matttsu

ビンゴでした。ただServicePackだけでは直らないのですね。

レジストリはつらいですが・・・

2006/09/14 15:48:13

その他の回答1件)

id:llusall No.1

回答回数505ベストアンサー獲得回数61ここでベストアンサー

ポイント100pt

こちらでしょうか??


Excel 2002 および Excel 2003 で複数レベルの集計の表示位置が正しくない

http://support.microsoft.com/kb/831824/ja


解決方法

Excel 2002

この問題は、Excel 2002 Service Pack 3 以降の修正プログラムで修正されています。


Excel 2003

この修正は、Microsoft Office 2003 Service Pack 1 (SP1) に含まれています。

id:matttsu

ビンゴでした。ただServicePackだけでは直らないのですね。

レジストリはつらいですが・・・

2006/09/14 15:48:13
id:taknt No.2

回答回数13539ベストアンサー獲得回数1198

ポイント20pt

下にある「※空行」の2行が問題の原因でしょう。

マクロでやるのならば、集計前にその2行を削除して

それで集計を行い、その後に削除した2行を挿入したらいいと思います。


http://q.hatena.ne.jp/1158211864

id:matttsu

ちょっとレイアウト的に2行は削除できないんです…。

2006/09/14 15:48:35
  • id:llusall
    たくさんのポイントとイルカ君ありがとうございました。

    回答後にレジストリの修正が必要だと気付き、再回答入れようかと思っているところでした。
    すみませんでした。
  • id:taknt
    2003のSP1が入ってる環境だけど そのままじゃダメだったんですね。

    あと、なんで「総計 10」になるのかは わからなかった。

    出てる内容で 確認したら「総計 9」になったけど。

    レイアウト的に 削除できないという話ですが
    マクロで一時的に そこを使用しない状態にしてから 集計して
    終わったら 戻せばいいだけだから、レイアウトは 関係ないと思うのですが・・・。
    戻すのは ちょっと面倒だけど。

  • id:llusall
    takntさん、どうもです。

    >マクロで一時的に・・・
    要望は、対処方法でなく、回避方法かと思います。
  • id:taknt
    対処することにより回避できるかと思います。
  • id:llusall
    んっ?
    そう言うのは「回避」とは言わないですよ。
  • id:ootatmt
    的外れな回答をごり押しするのはやめましょう。
  • id:matttsu
    再度質問させていただきました。
    もしわかれば回答お願いします。

    http://q.hatena.ne.jp/1158291640
  • id:taknt
    http://support.microsoft.com/kb/870757/ja?spid=2533&sid=288

    これで レジストリ登録だと思うが・・・。

  • id:rikuzai
    どうしてもsubtotalでないといけないのでしょうか。
    pivottableでも同じような表は算出できると思うのですが。
    値だけが必要なら、マクロでpivottableの算出結果を値コピーすればいいように思いますし。
    レジストリをいじるよりは安全な気がします。
  • id:matttsu
    pivottableでも同じような表が出来るのでしょうか?
    Workbooks(BookName).Worksheets(SheetName).Range(x).Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(10),Replace:=True, PageBreaks:=False, SummaryBelowData:=True
    というようにVBAを記述しています。
    自分でもこれから調べようと思いますが、Excelに詳しくないためもしよろしければ
    http://q.hatena.ne.jp/1158291640
    に回答お願いします。
    ポイントも差し上げたいので・・・。
  • id:taknt
    罫線を消したほうが 早いと思う。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません