- 締切済み
excelでマトリックスを作成したいのですが…
仕事でexcelを使用したマトリックスを作成を要しており、 通常の関数では対応できないようで(私の不勉強かもしれませんが…^^;) 、ご存知の方がいらっしゃいましたら、お応え頂けましたら幸甚です^^ 【質問内容】 2変数を擁する算式に基づき、得られる解(以下、「Z」とします。)をマトリックス(二次元)上に配置したいと考えています。 (算式) 2X+Y=Z (マトリックス) マトリックスのタテ・ヨコを、それぞれ変数(以下、タテの変数を「X」、ヨコの変数を「Y」とします。)とし、上記算式に基づき得られる解Zをそれぞれマトリックス上に配置します。 Y1 Y2 Y3 Y4 Y5 X1 Z11 Z12 Z13 Z14 Z15 X2 Z21 Z22 Z23 Z24 Z25 X3 Z31 Z32 Z33 Z34 Z35 X4 Z41 Z42 Z43 Z44 Z45 X5 Z51 Z52 Z53 Z54 Z55 (留意事項) ・XとYは自由に変更できる(もしできれば・・・) ・変数・解ともに数字が入ります。 ・変数の入力後、一度でマトリックスが埋まるような式(マクロ?)が理想です。 もし、ご不明な点などありましたら、質問お願いします。 不勉強なままお伺いして厚かましい限りですが^^; 宜しくお願い致します^^
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- Wendy02
- ベストアンサー率57% (3570/6232)
>財務諸表三表cf表です。(中身は四則演算の組み合わせです。) きちんと、最初から正しい質問を出してください。Excelというものは、同じようなものでも、まるっきり違うものがあります。マトリックスというのは、「行列」という意味です。[テーブル」を知っているなら、だれでも同様の発想します。 財務諸表なら最初から、そう言っていただきたいものです。今のままで応用できるなら、それを利用してください。数式の複雑さは関係ありません。今の[テーブル]を応用できないか考えてみてください。 つけたしの質問は、少なくとも、現在の回答者の回答を延長するものに限ります。現在とかけ離れたものは、少なくとも、私は、同スレッドでは回答できかねます。目的のものでないようでしたら、もう同じ人が回答する可能性は低くなりますが、一旦、ここを締めて、新たに質問を出していただいたほうが、回答は付きやすいかと思います。
- dr-9
- ベストアンサー率47% (24/51)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 #1-2 さんのところで同じ回答が出ていますが、図を見ていただけると分かるはずです。 まず、表のx1 ~x5 の列(A3:A8)、y1~y5(B3:F3) を入れます A3 には、 =2*A1+B1 と入れます。 A3:F8 まで、範囲をマウスで選択します。 [データ]--[テーブル] 行の代入セル A1 列の代入セル B1 OK をクリック '------------------------------------------- そうすれば、テーブルの中に計算がされているはずです。 テーブルの中の数式は、すべて以下のようになっています。 {=TABLE(A1,B1)}
お礼
Wendy02様 画像までご用意頂き、ありがとうございました。 然しながら、(また大変失礼ながら)実際の算式大変複雑であり、恐らく式が50以上は含まれてZが求められるようになっております。 従って、一つのセルに纏める事が困難です。 具体的には、財務諸表三表cf表です。(中身は四則演算の組み合わせです。) ※ 以下ご回答頂いた方々にも御礼申し上げますが、上記の通りですので再度ご教授頂けますと幸甚です。 質問者の不備でありました、申し訳ありません。。。
- Sinogi
- ベストアンサー率27% (72/260)
一般的な数式です。 このような質問にあるということはエクセルをほとんどご利用になっていないと判断できますので少し解説します。 XはA列に入力されるとします。 すなわち X1→セルA2 X2→セルA3 X3→セルA4 X4→セルA5 Yは1行目に入力されるとします。 すなわち Y1→セルB1 Y2→セルC1 Y3→セルD1 Y4→セルE1 Z11はセルB2になります。 セルB2に入力する数式は =$A2*2+B$1 とします。 セルB2をコピーしてからZ対象範囲をすべて選択し貼り付けをします。 これで質問者様の目的を達します。 エクセルではセル番地(A2 B1 など)を参照して計算できます。 そして計算式をコピーして貼り付けすると、計算式に使用しているセル番地を相対位置として変化させます。 例)セルB1に =A1 と入力してあるとき、 C1に貼り付けると =b1 B2に貼り付けると =a2 と常にそのセルのすぐ左を参照します。 ところで数式にある $ は絶対参照を意味し、セル番地の列または行を表す値の前に付すとコピーしても変化しないようになります。 今回提示した式 =$A2*2+B$1 は $A2 の 列(A) は変動せず 行(2)が相対的に変動します。 B$1 の 列(B) は相対的に変動し 行(1)がに変動しません。 どのように$をつければ式をコピーしたときにどんな結果になるかいろいろ試してください
お礼
Sinogi様 ご丁寧に解説頂き、ありがとうございました。 然しながら、(また大変失礼ながら)上記の回答頂いた方々にお礼申し上げた通りですので、再度ご教授ご検討頂けますと幸甚です。 質問者の不備でありました、申し分けありません。
- BrueBreeze
- ベストアンサー率52% (83/159)
No1です タブで区切ったつもりがうまく入りませんでした。 入力例は下記のとおりです。 A B C D -+------------------------------------- 1| 1 2 3 2| 1 3| 2 4| 3 5| 6| X 1 7| Y 1
お礼
BrueBreeze様 ご丁寧に解説頂き、ありがとうございました。 然しながら、(また大変失礼ながら)上記の回答頂いた方々にお礼申し上げた通りですので、再度ご教授ご検討頂けますと幸甚です。 質問者の不備でありました、申し分けありません。
- BrueBreeze
- ベストアンサー率52% (83/159)
データテーブル(複入力テーブル)機能を使えばマクロを組む必要はありません。 excel2003での例です 以下のようにワークシートに入力します | A B C D -+------------------------------------- 1| 1 2 3 2| 1 3| 2 4| 3 5| 6| X 1 7| Y 1 A1セルに右の数式を入力します =B6*2+B7 A1:D4を選択し、メニューバー「データ」~「テーブル」とクリックし “テーブル”ダイアログボックスの“行の代入セル”に $B$6 と入力(セルクリックでOK)し`“列の代入セル”に $B$7 と入力し「OK」ボタンクリック
お礼
おっしゃる通りです。 大変失礼であったと反省しております。申し訳ありませんでした。 改めて質問させていただこうと思います。 ありがとうございました。