プロが教える店舗&オフィスのセキュリティ対策術

今までは、実験データは全て自分で計算し、全部を自分で入力してきました。
でも、次のようなことがしたいのでアドバイスよろしくお願いします。
エクセル2000を使っています。

1.自分で任意の数を4つ決めます。(a,b,c,dとする。)
2.それを(x-a)*(x-b)*(x-c)*(x-d)とした計算結果がx^4+Ax^3+Bx^2+Cx+Dとします。
3.2.の計算結果のA,B,C,Dを取り出して、他の式に組み込むことって出来ますか?関数かマクロとかで。

関数とかマクロとかよく分かりません。EXCELで実験のデータなどを処理する方法って、皆さんはどのようにして勉強されているのでしょうか?
適当な本などがないような気がするのですが。(会計などの本はあふれかえっているのに。)
良ければ本も紹介して下さい。
あと、エクセルで行列の計算とか出来ますか?

A 回答 (3件)

質問が多すぎませんか?


出来るだけ分けた方が、みなさん答えやすいですよ。

1.とりあえず、(x-a)*(x-b)*(x-c)*(x-d)については、他の方と同じなので、省略します。
  >マクロってどんなことが出来るのでしょうか?
   色々出来るとしか言いようがありません。
   関数で出来る事は全てマクロで出来ます。
   教えてGoo!の中にもたくさんの質問をマクロで解決しているものがあります。
   今回の#1、#2の回答をマクロで作ることは可能です。
   必要ならばサンプルを載せますので補足して下さい。

2.本については、あまり詳しくありませんのでどの本とは言えませんが、
  今回の場合、EXCELの本よりも数学の参考書を読むしかないのでは?
  EXCELの本を読んでも
  (セルA2)=-(A1+B1+C1+D1)
  という記述の仕方はEXCEL説明本やヘルプにも載っていますが、
  (x-a)*(x-b)*(x-c)*(x-d)
  ={x^2-(a+b)x+ab}*{x^2-(c+d)x+cd}
  =x^4-(a+b+c+d)x^3+{ab+cd+(a+b)(c+d)}x^2-{ab(c+d)+cd(a+b)}x +abcd
  のような展開の仕方は載ってませんよ!

3.エクセルで行列の計算とか出来ますか?
  少し用途は広いですが、配列数式というものがあります。

  例えば
  ┌5 6┐ ┌2 3┐
  └3 2┘ └8 2┘は

  列   A  B  C  D  E
1行目   5  6     2  3
2行目   3  2     8  2
と入力し
G1~H2を選択し(G1にカーソルをおき、マウスで左を押しながらH2を選択)
=MMULT(A1:B2,D1:E2)
と入力し、[Ctrl]+[Shift]+[Enter]を押す
G1~H2が{=MMULT(A1:B2,D1:E2)}となり

  列   A  B  C  D  E  F  G  H
1行目   5  6     2  3     58 27
2行目   3  2     8  2     22 13
と表示されます。
MMULTは配列同士を掛け合わせる関数です。
この関数は、配列を返すので、配列数式でないと使えません。

配列数式については、EXCELの基本の本では,ほとんど紹介してないと思います。
私も配列数式は、覚えたてで、まだ手探り状態で色々試しながらやってます。

というように、質問が多すぎて、見ずらくなってしまいます。

私の回答で分かりますでしょうか?
分からない所は、補足して頂ければ、私のわかる範囲でお答えします。
    • good
    • 0

(x-a)*(x-b)*(x-c)*(x-d)



=(X^2-bX-aX+ab)*(X^2-dX-cX+cd)

=X^4-X^3d-X^3c+X^2cd
-X^3b+X^2bd+X^2bc-Xbcd
-X^3a+X^2ad+X^2ac-Xacd
+X^2ab-Xabd-Xabc+abcd

=X^4+X^3(-a-b-c-d)+X^2(ab+ac+ad+bc+bd+cd)+X(-abc-abd-acd-bcd)+abcd

となるので

A=-a-b-c-d

B=ab+ac+ad+bc+bd+cd

C=-abc-abd-acd-bcd

D=abcd

となることがわかります。よって

セルA1、B1、C1、D1にそれぞれabcdの値をいれる場合。

セルA2にAの結果算出計算
 「=-A1-B1-C1-D1」を設定
セルB2にBの結果算出計算
 「=A1*B1+A1*C1+A1*D1+B1*C1+B1*D1+C1*D1」を設定
セルC2にCの結果算出計算
 「=-A1*B1*C1-A1*B1*D1-A1*C1*D1-B1*C1*D1」を設定
セルD2にDの結果算出計算
 「=A1*B1*C1*D1」を設定

この計算結果A2、B2、C2、D2がそれぞれ
ABCDの値となるので、それを使用すると良いと思います!

この回答への補足

回答ありがとうございます。
No.1の方と同様、この回答の通りでオッケーです。
こういったことは、どのような本などで勉強されたのでしょうか?
合わせてアドバイスを頂ければ嬉しいです。
あと、マクロってどんなことが出来るのでしょうか?

補足日時:2002/11/21 14:14
    • good
    • 0

この程度なら、強引に展開しちゃって、A,B,C,Dをa,b,c,dで表しちゃいます。



(x-a)*(x-b)*(x-c)*(x-d)
={x^2-(a+b)x+ab}*{x^2-(c+d)x+cd}
=x^4-(a+b+c+d)x^3+{ab+cd+(a+b)(c+d)}x^2-{ab(c+d)+cd(a+b)}x +abcd

よって、
A=-(a+b+c+d)
B=ab+cd+(a+b)(c+d)
C=-{ab(c+d)+cd(a+b)}
D=abcd
です。これらを空きセルを使って計算します。

たとえば、セルA1,B1,C1,D1にそれぞれ、a,b,c,dの値を入れます。
そして、セルA2,B2,C2,D2にそれぞれ、A,B,C,Dの値が入るようにするとします。

いったん、F列あたりのセル(空いている場所)で
(セルF1)=A1+B1 a+bを計算
(セルF2) =C1+D1 c+dを計算
としておくとあとの計算がすっきりします。

(セルA2)=-(A1+B1+C1+D1) または、=-(F1+F2)
(セルB2)=A1*B1+C1*D1+F1*F2
(セルC2)=-(A1*B1*F2+C1*D1*F1)
(セルD2)=A1*B1*C1*D1
と式を入れれば準備OK。

あとは、A2,B2.C2,D2を他の式に組み込めばよいわけです。

この回答への補足

早速の回答ありがとうございます。
この場合はご回答の通りでオッケーです。
こういったことは、どのような本などで勉強されたのでしょうか?
合わせてアドバイスを頂ければ嬉しいです。
あと、マクロってどんなことが出来るのでしょうか?

補足日時:2002/11/21 14:11
    • good
    • 0

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