Excelについての質問です。複数拠点が共有フォルダに置いたそれぞれのExcelファイルに入力し、そのファイルを参照して一覧にしています。5001200180012000といったように入力されたデータをsumifsを使い各支店で一覧にし、その結果を引っ張っています。各支店の一覧表-1000 1000-9999 10000-1 2 1 集計表 -1000 1000-9999 10000-拠点1 1 2 1拠点2 2 3 0ここで、各支店のExcelのバージョンが古く、sumifsを使ったセルはname?となります。各支店はExcelのバージョンを上げるのが難しい状態です。そのため、支店が入力後にExcelのバージョンが新しいPCでファイルを開き、上書き保存することを考えました。しかし、支店数がある程度あり面倒なので、回避策を考えています。①sumifsを使わずに集計できないか②ファイルを開き上書き保存するマクロを用意するで考えたのですが、どちらが現実的でしょう?また、サンプルをいただけると幸いです。VBAは操作を記録したものを修正したことがある程度です。もしくはそのほかに良い方法はあるでしょうか?

Excel

1件の回答

回答を書く

1119860

2026-04-07 17:45

+ フォロー

結論としては、各支店ファイルの式をSUMIFSから旧バージョンでも使える式(COUNTIFやSUMPRODUCTなど)に置き換える方法が現実的です。マクロで「開いて上書き保存」は管理が大変なわりに、支店側で開いた時の「#NAME?」は解決しません。

理由と具体例を挙げます。

旧バージョンのExcelでも
・SUMIF / COUNTIF
・SUMPRODUCT
は使えますので、これらでSUMIFSやCOUNTIFSの代わりが作れます。

例えば、金額がA2:A100に入っていて

区分
-1000 … 1000以下
1000-9999 … 1000以上9999以下
10000- … 10000以上

の「件数」を出したい場合、各支店ファイルで次のようにできます。

1000以下の件数
=SUMPRODUCT(($A$2:$A$100\u0026lt;=1000)*($A$2:$A$100\u0026lt;\u0026gt;””))

1000〜9999の件数
=SUMPRODUCT(($A$2:$A$100\u0026gt;=1000)*($A$2:$A$100\u0026lt;=9999))

10000以上の件数
=SUMPRODUCT(($A$2:$A$100\u0026gt;=10000)*($A$2:$A$100\u0026lt;\u0026gt;””))

このようにして各支店の一覧表を作っておけば、今と同じように集計表から参照できますし、どのExcelバージョンで開いても「#NAME?」になりません。

もう一つのやり方として、支店ファイルに「区分」用の補助列を作り、そこに

B2セル
=IF(A2\u0026lt;1000,”-1000”,IF(A2\u0026lt;=9999,“1000-9999”,“10000-”))

と入れて下までコピーし、その上で

=COUNTIF($B$2:$B$100,”-1000”)
=COUNTIF($B$2:$B$100,“1000-9999”)
=COUNTIF($B$2:$B$100,“10000-”)

という形で件数集計する方法もあります。こちらの方が式は分かりやすいと思います。

一方、②の「ファイルを開き上書き保存するマクロ」は、たしかに新しいExcel側で

・共有フォルダ内の全ブックを順番に開く
・再計算して上書き保存する

といった処理を書くことは可能ですが

・マクロを置くPCを決めて定期的に実行する必要がある
・実行忘れやエラー時の対応が必要になる
・支店の古いExcelで開いたときにはやはりSUMIFSが解釈できず#NAME?になる

といった問題が残ります。VBAにあまり慣れていないとのことですので、あまりお勧めしにくいです。

まとめると、
・各支店ファイルの式をSUMIFS依存から、SUMPRODUCTやCOUNTIF+補助列に置き換える
・集計表は、今と同じように各支店の一覧結果だけを参照する

というやり方が、設定後の運用も含めて一番安定した解決策だと思います。

うったえる有益だ(0シェアするブックマークする

関連質問

Copyright © 2026 AQ188.com All Rights Reserved.

博識 著作権所有