• ベストアンサー

Excelの関数に日付を指定する方法を教えてください。

他のExcelのファイルからデータをリンクしています。 その元のExcelファイルは、日付ごとに作成したフォルダにいれて毎日作成しています。 年間で自動的に集計したいと考え、下記のような関数から必要なデータを取り出しています。 =SUMPRODUCT(('F:\出欠関係\4月24日\[1nen.xls]11'!K4:K45=1)*1) 教えていただきたいのは、「4月24日」の箇所を自動的にコンピュータの日付にしたいのですが上手い方法が思いつきません。 アドバイスをお願いいたします。

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

  • ベストアンサー
  • pkh4989
  • ベストアンサー率62% (162/260)
回答No.4

VBAを利用する方法は如何でしょうか? Sub auto_open() Dim wStr As String today = Format(Now(), "m月d日") ActiveSheet.Range("A1") = "=SUMPRODUCT(('F:\出欠関係\" & today & "\[1nen.xls]11'!K4:K45=1)*1)" End Sub (1) Alt+F11 (ツール -> マクロ -> Visual Basic Editor) (2) 挿入 -> 標準モジュール -> 上記のモジュールを貼り付ける (3) 一旦ブックを保存して終了。 (4) ブックを開くと自動的にマクロが設定される。

その他の回答 (3)

  • nobu555
  • ベストアンサー率45% (158/345)
回答No.3

>このような感じにするのでしょうか? >=SUMPRODUCT(('F:\出欠関係\TEXT(TODAY(),"m月d日")\[1nen.xls]11'!K4:K45=1)*1) >うまくいきませんでした。 失礼しました。フォルダ名なので、INDIRECT関数を使って 下記のようになります。 =SUMPRODUCT((INDIRECT("'F:\出欠関係\"&TEXT(TODAY(),"m月d日")&"\[1nen.xls]11'!K4:K45")=1)*1) ただ、INDIRECT関数は該当ファイルを開いて置かないと 参照しないという不便な点があります。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.2

>うまくいきませんでした。 ファイルを開いたあと、計算前に手動でリンクの更新をしないと駄目かと思います。 [編集]-[リンクの設定] を開いて、 [今すぐ更新] をクリック。

  • nobu555
  • ベストアンサー率45% (158/345)
回答No.1

以下の数式で如何でしょう。 =TEXT(TODAY(),"m月d日")

demiguru
質問者

お礼

nobu555様 ありがとうございます。 このような感じにするのでしょうか? =SUMPRODUCT(('F:\出欠関係\TEXT(TODAY(),"m月d日")\[1nen.xls]11'!K4:K45=1)*1) うまくいきませんでした。 どこに数式を入れればよいのでしょうか?

関連するQ&A