エクセルで実験データを処理する方法

このQ&Aのポイント
  • エクセル2000を使って、実験データを処理する方法をご紹介します。
  • 自分で任意の数を4つ決めて計算し、それを式に組み込むことができます。
  • 関数やマクロを利用して、エクセルで行列の計算なども行うことができます。
回答を見る
  • ベストアンサー

EXCELでこんなことできますか?(実験データを処理する方法)

今までは、実験データは全て自分で計算し、全部を自分で入力してきました。 でも、次のようなことがしたいのでアドバイスよろしくお願いします。 エクセル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で実験のデータなどを処理する方法って、皆さんはどのようにして勉強されているのでしょうか? 適当な本などがないような気がするのですが。(会計などの本はあふれかえっているのに。) 良ければ本も紹介して下さい。 あと、エクセルで行列の計算とか出来ますか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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の基本の本では,ほとんど紹介してないと思います。 私も配列数式は、覚えたてで、まだ手探り状態で色々試しながらやってます。 というように、質問が多すぎて、見ずらくなってしまいます。 私の回答で分かりますでしょうか? 分からない所は、補足して頂ければ、私のわかる範囲でお答えします。

その他の回答 (2)

  • kukkychan
  • ベストアンサー率12% (23/190)
回答No.2

(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の値となるので、それを使用すると良いと思います!

touch_me_8
質問者

補足

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

  • hinebot
  • ベストアンサー率37% (1123/2963)
回答No.1

この程度なら、強引に展開しちゃって、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を他の式に組み込めばよいわけです。

touch_me_8
質問者

補足

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

関連するQ&A

  • エクセルの関数でのデータ処理が重い

    お願いします。 エクセルで2万件のデータを関数処理しています。時間がかかるのでVBAで処理できればと 考えています。 A列に当日の顧客コード B列に前日の顧客コード   以下の式によって、前日と当日を比較して増えた顧客と減った顧客を表示させています。 C列に=IF(COUNTIF(B$2:B$23000,A2)>=1,"","増")の関数が入っています。 計算させた後でC列をオートフィルタで増のみ表示し、確認。 D列に=IF(COUNTIF(A$2:A$23000,B2)>=1,"","減")の関数が入っています。 計算させた後でD列をオートフィルタで減のみ表示し、確認。 これをVBAで処理して時間の短縮をしたいのでお教え頂ければ幸いです。 宜しくお願いします。

  • 実験データの指数近似曲線を求めたいのですが・・・

    今,修論の実験データを指数近似したいのですが, [ y=A*exp(Bx)+C ]の形で求めたいのです. EXCELではおそらく定数項Cが求められませんし, 僕が見つけたフリーソフトでは自然対数eが使われていません. こんな都合の良いソフトがあるでしょうか? それともEXCELのマクロ等をいじって実現できるでしょうか? もしご存知の方がいましたら是非教えて下さい!! 宜しくお願いします.

  • エクセルのデータ集計方法で相談があります。

    エクセルのデータ集計方法で相談があります。 A列とB列に以下のようなデータがあります。  A  B 1  a 1  b 2  a 2  c 2  d 2  e 3  a 3  c 3  d 4  b この2列のデータを組合せを考え、以下のような形で集計したいと考えています。(1とaの組合せがあれば○、組合せがなければ×のような形) データ量が膨大で何か良い策(関数の組合せとか?)あればと思い、相談させて頂きました。 何卒よろしくお願いします。 (結果例)   a  b  c  d 1 ○ ○ × × 2 ○ × ○ ○ 3 ○ × ○ ○ 4 × ○ × × 以上です。よろしくお願いします。

  • データのカーブフィッティングについて

    (x,y)の組み合わせのデータが数多くあり、y=a+bx+cx^2..という曲線をフィットさせることを考えます。係数a, b, cを求めるということです。エクセルとか科学ソフトに入っているものと思います。 この係数の決め方は、実際にはどのような方針なのしょうか。例えば、最小二乗法のように誤差を調べて、その誤差の式をa, b, cで偏微分して0として3つの式を立て、それを解いてa, b, cを求めるというようなことでしょうか。それはダメなんじゃないかと思うのですが。 y(x,z)=a+bx+czで、x, zが独立ならそれがやれるのであり、この場合、z=x^2なのでzのxに対する独立性に問題があるからなのですが。どうでしょうか。 試しにy=1.5x^2 でxに乱数を与えて計算して(x, y)の組み合わせを数多く作成し、模擬データとしてy=a+bx+cx^2のa, b, cを推定してa=b=0, c=1.5がしっかり算出されるものでしょうか。y=1.5x^2 で乱数で発生したデータであっても低次のy=a + bxという式で最小二乗法を使えばa, b(いずれも非0)の結果が出ますね。そこでもう1つ高次の項 cx^2を付けて推定したら先のa, bが変更を受けてa, bが0でc=1.5となる結果が出てくるものでしょうか。 よろしくお願いします。

  • エクセルの各シートのデータを自動的に複写する方法

    現在、エクセルでデータの管理を行なっていますが、複数のシートから必要なデータのみ(「郵便」と入れた列)を、特定のシートに複写する方法の計算式をご教示ください。 エクセルデータのシート例示状況は次のとおりです。 (1) sheet1      A        B    C     D     E   F 1 (株)東京 1000  500 200  100 郵便 (2) sheet2      A        B     C    D     E 1 神奈川県庁 50   20  100  郵便 (3) sheet3(このシートに各シートのデータに「郵便」と入れた業者名だけを順次下のセルに自動複写していく)    A        B     C    D    E 1 (株)東京 2 神奈川県庁 このように何とかならないか考えています。誠に申し訳ありませんが、一連の「計算式と手法」をご教示ください。お願いします。 やっぱり「マクロ」しかないですよね。(マクロはかなりの初心者です) なお、エクセルは2003です。 重ね重ねお願いします。

  • EXCELでのデータの切りだし方法

    約1000個のデータがカンマで区切られてあります。(CSVファイルです) a,b,c,d,e,・・・・の様なものです。全部で約100個のデータが並んでます。 これから、例えば、500番目から510番目迄を切り抜くようなことをエクセルの関数等で できませんでしょうか。 ご存知の方、お教えいただけませんでしょうか。

  • エクセルで複数条件のデータ個数を出したい

    仕事で電話アンケートの結果データを集計したいのですが、関数が分かりません。 エクセルのSheet1で下記のようなリストを作成しました。 日付 回答 6/28  A 6/28  B 6/29  A 6/28  A 6/30  A 6/29  C 6/30  D 6/28  C sheet2に下記のような集計をしたいのです。  6/28 6/29 6/30 A B C D 6/28の回答でAのデータはいくつというのは どのような関数を使えばよいのでしょうか? よろしくお願いします。

  • 「エクセルでのデータ検索」について

    「エクセルでのデータ検索」について 基本的な質問ですいません。 エクセルで、以下のようなことをしたいのですが・・・ 【シートA】   A  B  C  D E 1   ○ △ □ ◇ 2 あ ※ ※ ※ ※ 3 い ※ ※ ※ ※ 4 う ※ ※ ※ ※ (※は任意の数値) このとき、【シートB】に以下のように「◇」「う」と入力すると “B2”欄に【シートA】の“E4”(=「◇」と「う」の交差する位置) の値が出るようにしたいのです。  【シートB】   A  B  C  D E 1   ◇ 2 う 3 4   ちなみに【シートB】に入力する値はその都度変わるので、VLOOKUPや INDEXではうまくいきませんでした。 実際は長めのマクロで行っている作業の内の一部ですので、「関数」でも 「マクロ」でも、どちらでも対応できます。 ご教示のほど、よろしくお願いいたします。   

  • エクセルの関数について教えて下さい。

    エクセルの関数について教えて下さい。 マラソンのデータを作るとします。 A列には開催地、B列にはタイム、C列には距離を入力します。 A1 大阪 A2 東京 A3 大阪 B1 1:12:12 B2 1:14:25 B3 1:13:15 C1 25000m C2 26000m C3 25000m この時、大阪の25000mで一番早い時計を関数のみ使い求めたい 場合どのような計算式で求められるでしょうか? 計算結果はD1セルにお願いします。 バージョンはエクセル2003です。

  • エクセル2007の計算について

    エクセル2007の計算についてですが、A列に100個データがあり、B列とC列にそれぞれ1個データがあるとします。そこで、D列のD1にA1*B1-C1の計算結果を表示させました。次に、D2以下も同様の計算をするために、D1のセルを選択して、矢印無しの十字キーを下に伸ばしてD2にA2*B1-C1、D3にA3*B1-C1・・・、D100にA100*B1-C1の結果を表示させようとすると、100個分の計算結果は表示できるのですが、D2はA2*B2-C2、D3はA3*B3-C3・・・というように、B列とC列も一つずつ下がって計算されてしまいます。この場合、B列とC列には1個しかデータがない(B1に一個、C1に一個)ため、D2以下の計算結果は0になります。B列とC列を下げずに、A列のデータだけ下げて連続計算するにはどうすればよろしいでしょうか。

専門家に質問してみよう