重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

エクセル・シート数をカウントする関数=INFO("numfile")について。

エクセルで1book内にsheetが複数あり、1式の書類なので、ページ数を●/○という形にしています。
●・・・シート名を表示させる関数、
○・・・シート数をカウントする関数=INFO("numfile")
を使用していますが、

シートの数は全部で6枚しかないのに、
●には6ではない数字が返ってきます。

なぜ起こるのか謎の解明はできませんでしたが、
=INFO("numfile")-△ といった具合で対応してみたところ、
毎回、エクセルを立ち上げると●で返ってくる数字は可変しているようで、
毎回-△ を打ち直さないといけない状態で、困っています。

この現象は何で起こるのか、対処方法等ご存知の方がいらっしゃいましたら
教えてください><

使用OS:win7
エクセルver:2010

A 回答 (1件)

関数のヘルプにある「開かれているワークシートの枚数」とは,「現在のブックのシートの枚数」という意味ではありません。


今現在,同時に開いている「全てのブックのシートの合計枚数」が計算されます。
ちなみにこれには,「アドイン」とかも含みます。

従って例えば同時に開いているブックの数が増減すると,関数の結果も変わります。


「今あるブックのシート数」を数えたいのが発端のようですが,ワークシート関数であまり上手い方法は正直ありません。
各シートのどこか共通のセルに「何か」を記入しておいて,
=COUNTA(Sheet1:Sheet6!A1)
などのように串刺しで数えるような事はできます。



#参考:古いマクロを使った方法
数式タブの名前の定義で
 名前 sheetscount
 参照範囲 =GET.WORKBOOK(4)
と登録します。

=sheetscount
のように計算すると,シートの枚数が出てきます。
    • good
    • 0
この回答へのお礼

家族全員、インフルエンザになってしまい、
寝込んでいた為、お返事が遅くなりすみません。

とてもわかりやすく教えて頂き、勉強になりました。

古いマクロを使った方法である、
名前の定義を行ったところ、
思っていた通りの事ができました!

大変助かりました、ありがとうございました。

お礼日時:2012/02/10 10:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!