• 締切済み

相関係数の式の中にファイル名を入れたい

相関係数の式の中にファイル名を入れたい 状態 ・csvがひとつのフォルダに300くらいあります ・csvにはE3~E2000くらいに数値が入っています (それ以外も入っていますが、使いたい値はE列) ・ファイル名=シート名になっています 今回やりたいのは相関係数です。 たとえば↓みたいにしたい CORREL('XXXX.csv'!$E$3:$E$2000,'YYYY.csv'!$E$3:$E$2000) これをやるのに考えてみたことは ・A1とB1にcsvのファイル名を入れる(300×300行くらいになる?) ・C1にA1とB1のファイル名を使った計算式を入れる これを全部の組み合わせを手作業でやるのは難しいので、 CORREL(CONCATENATE(A1,"!$E$3:E2000"),CONCATENATE(B1,"!$E$3:E2000")) のようにしてみましたが、#VALUE!となってしまいます。 INDIRECTを使えないかと思いましたが、csvファイルを開いてないと使えないし。 そもそもこのやり方がいいのか良くわからないし。 どうにかして計算式の中にファイル名を入れてCORRELを使うことはできないでしょうか。

みんなの回答

  • mo2yakko
  • ベストアンサー率54% (30/55)
回答No.2

開いていないEXCELファイルなら参照可能です。 例 =SUM('C:\temp\[test.xls]sheet1'!A1:A10) しかしCSVファイルでは無理です。

i-i
質問者

お礼

ありがとうございます。 excelのファイルならできるとは! csvをxlsに変換しておけばいけるのかな? 試してみます。

  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.1

開いていないファイルのセルを計算式で参照するのは無理でしょうね。 手作業でやるのが面倒ならマクロを組むしかないでしょう。

i-i
質問者

お礼

ありがとうございます。 開いていたらできるのでしょうか。 (まだ試していないのですが) ただ、300ものファイルを開くのは現実的じゃないし。 やはりマクロに挑戦するしかないのかな。

関連するQ&A

専門家に質問してみよう