【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?

Excel2007で複数の列のデータの相関を求めようとしています。

A列のデータに対してB,C,D...列のデータとの相関を求め、
結果をX列の行方向に表示したいと考えています。

以下のような数式で行けるのではないかと期待していたのですが
計算できず、#N/A!となっています。
=CORREL(A1:A3000,INDIRECT(ADDRESS(3000,ROW()+1)&":"&ADDRESS(3000,ROW()+1)))

どうやらROW()の値が配列として返されているようなのですが、
解決法はありませんでしょうか?

できればVBやマクロを使わず関数だけで済ませたいと考えています。
よろしくお願いいたします。

A 回答 (2件)

確かに、配列で返されますね。



=CORREL($A$1:$A$3000,OFFSET($A$1:$A$3000,,INDEX(ROW(),1)))

のように、INDEX関数で値を取り出すとうまくいくようです。
    • good
    • 0
この回答へのお礼

CORREL()ではなくSUM()の時はうまくいってたのですが、
INDEX()関数を使ったらうまく行きました。

ありがとうございました!

お礼日時:2008/10/29 16:56

よくわからないのですが


各列3000行まであって、
A列とB列の相関係数をX1
A列とC列の相関係数をY1
A列とD列の相関係数をZ1 に表示させたいということでしょうか?

ならば、X1に
=CORREL($A$1:$A$3000,B1:B3000)
として、右にドラッグすればいいのでは・・・。

この回答への補足

説明が不十分で申し訳ありません。
A列とB列の相関をX1
A列とC列の相関をX2
A列とD列の相関をX3
という具合です。

X1から下方向にドラッグすると行番号がインクリメントしますが、
下方向にドラッグして列番号をインクリメントするのが目的です。

補足日時:2008/10/29 16:53
    • good
    • 0

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


おすすめ情報