- ベストアンサー
エクセル 件数を数えるとき
A.xls(件数計算用)と2月B.xls(日常データ)というエクセルがあるとします。 A.xlsに件数に下記のような計算式を入れているのですが、 =COUNTIF('[2月B.xls]Sheet1'!$A$2:$A$500,"2/1") 毎月A.xlsを使用するので、2月B.xlsという名前をA.xlsのデータから 読み取らせたいのですが・・・。 A1セルに2月B.xlsと表記し、下記のように計算式を入れてもカウントされません。 どこがいけないのでしょうか? =COUNTIF('[$A$1]Sheet1'!$A$2:$A$500,"2/1") ご教授いただけたらと思います。 よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
=COUNTIF(INDIRECT("["&$A$1&"]Sheet1!$A$2:$A$500"),"2/1")
その他の回答 (4)
- TON-KATSU
- ベストアンサー率32% (27/84)
違うファイルを指定すると何かと不便になります。 (VBAを知っているのであれば解決策は広がりますが…) いっそ1つのファイルにすれば良いのですが。 例) A.xlsをシート1にし、 以降をB.xlsにある月ごとのデータシートに。 Sheet2が1月、Sheet3が2月、、、というように。 シート名も変えられるので分かりやすくなるのかなと思います。
お礼
ファイルはネットワークに置いてあるものを加工せずに使いたいので、 できれば分けてやりたいのですが。。 VBAは多少組めるのですが、 VBAの知識がない人でもできるようなものを作りたいのです。 何度もご回答ありがとうございます。
- yambejp
- ベストアンサー率51% (3827/7415)
#3です。 念のため$a$1には「2月B.xls」と書いていますよね? またA.xlsと2月B.xlsは同じフォルダにありますよね?
お礼
はい。同じフォルダ内に存在するファイルです。
- TON-KATSU
- ベストアンサー率32% (27/84)
ANo.1です。 投稿してから思い浮かんだのですが おそらくA1セルに書くBのファイル名は、 フルパスで入力しないとダメなんじゃないかと思います。
補足
早急にアドバイスありがとうございます。 フルパスで書いても駄目でした。 なぜ、この処理が必要かということですが、 1ヶ月のデータを全て表示する必要があり、 毎月エクセルの名前がかわります。 セルの値をひとつづつ更新するのが手間なので、 参照すると、一箇所だけ変更したら楽だと感じました。 他によい方法が思いつかなかったので、何か方法がありましたら教えていただきたいです。
- TON-KATSU
- ベストアンサー率32% (27/84)
=COUNTIF('[$A$1]Sheet1'!$A$2:$A$500,"2/1") やりたい事は理解できるのですが、 これをする意図がわかりません。必要ない気がします。 とりあえず、ためしにどこかのセルに ='[$A$1]Sheet1'!$A$2 と入力したら、どのように表示されるでしょうか??
補足
早急にお返事いただき、ありがとうございます。 上記の方法でしますと、 REF!と表示されてしまいました。