- ベストアンサー
エクセルで行列計算を行う方法
- エクセルを使って行列計算を行う方法について説明します。
- 行列計算の入力方法や数値を他のセルから取得する方法について解説します。
- エクセルを使用して行列計算を行う際に便利な機能や注意点について紹介します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
例えば {B2,D3;F5,H99} などの様にセル番号で指定した配列にしたいという事ですね。 回答No.1様が仰っておられる様に、直接そうする方法はおそらく無いと思いますが、例えば前もって X1セルに =$B$2 Y1セルに =$D$3 X2セルに =$F$5 Y2セルに =$H$99 と入力しておいた上で、関数の中の {B2,D3;F5,H99} という部分の代わりに $X$1:$Y$2 というセル範囲を指定しておけば同じ結果が得られます。(回答No.2様が仰っておられるのはこの事です) 又、上記の$X$1:$Y$2という値を一時格納するために用いているセル範囲は、何も同一シート内に設定しなくとも良いのですから、例えば {Sheet1!$B$2,Sheet1!$D$3;Sheet1!$F$5,Sheet1!$H$99} 等としたい場合には、 Sheet2!A1セルに =Sheet1!$B$2 Sheet2!B1セルに =Sheet1!$D$3 Sheet2!A2セルに =Sheet1!$F$5 Sheet2!B2セルに =Sheet1!$H$99 としておいた上で、配列部分を Sheet2!$A$1:$B$2 とすれば良い訳です。 この方法では駄目なのでしょうか?
その他の回答 (3)
- bunjii
- ベストアンサー率43% (3589/8249)
>私としては別のセルにある数値や計算結果等をこの部分、たとえば「1」のところの値にしたいのですが、どうすればよいのでしょう? マトリクス演算の場合は{数列}×{数列}や{数列}+{数列}のように計算されると思いますが、提示の数列は2行×2行の1組であり数式を書けません。 例えば={1,2;3,4}×{5;6}としたときにセルへ値を入力してあればセルを対象に数式を書けます。 A1=1 B1=2 A2=3 B2=4 C1=5 C2=6 =A1:B2*C1:C2 → {1,2:3,4}*{5;6} → {5,10;18,24} =A1:B2+C1:C2 → {1,2;3,4}+{5;6} → {6,7;9,10} しかし、1つのセルには1つの値しか収容できませんので配列の戻り値のどれを採用するか定めなければなりません。 戻りの配列の合計を求めるにはSUMPRODUCT関数を使います。 =SUMPRODUCT(A1:B2*C1:C2) → 57 =SUMPRODUCT(A1:B2+C1:C2) → 32
お礼
ご回答ありがとうございます。
補足
結局、行列の演算結果として個々に別セルで表示させることは可能だが、行列形式として入力することは不可能と言うことでしょうか? 例えば提示した2×2の行列の逆行列を、エクセルの行列形式として別のセルに表示するというとは不可能と言うことでしょうか?
- f272
- ベストアンサー率46% (8467/18129)
わざわざ,={1,2;3,4}のように入力しなくてもよい。 A1に1 B1に2 A2に3 B2に4 と入力しても同じように扱えます。 もちろん A1に=A100 と入力することも可能です。
お礼
ご回答ありがたいのですが、それで行列計算ができるのでしょうか?
- keithin
- ベストアンサー率66% (5278/7941)
>たとえば「1」のところの値にしたいのですが、どうすればよいのでしょう? { }で囲った配列入力にセル参照を読み込ませる方法はありません。 2×2個の4セルに4要素を記入し,A1:B2のようにセル範囲を指定して計算します。
お礼
基本的に不可能ということですね、わかりました。ありがとうございました。
お礼
ご回答ありがとうございました。 まさにこれです、感謝いたします。