• ベストアンサー

エクセルの折れ線グラフの近似式で得られた式を自動で入力する

エクセルのA列に数字が入力されていてそれを基にエクセルで折れ線グラフを書くとします。 その折れ線グラフをを近似曲線で近似した場合、「近似曲線の書式設定」の「オプション」にある「グラフに数式を表示する」をチェックすると、 その近似曲線の元になる数式が表示されます。 その数式の計算式をB列に入力すると、近似曲線で得られたY値をB列に入力することができます。 ここで質問ですが、A列の数字を変えると、近似曲線の式そのものが変わってしまうため、B列のY値を得るためにはその都度、得られた式をB列に入力しなければなりません。 A列の数字を変えたとき、前もって設定した近似の種類や次数のまま、自動的にB列の近似式の数字も変更する方法(つまり得られた式を自動でB列に入力する方法)はありますか。

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

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.4

提示されたマクロですが、特に問題はないと思います。 下記マクロを試してください。 数式が、C1:C10に入力されます。 試しに、セルA1:A10に、1から10の連続値を入れてみてください。 blackleonさんが提示されたマクロの実行結果、つまりB1:B10と同じ値になると思います。 Sub test2() Dim trdtxt As String trdtxt = ActiveChart.SeriesCollection(1).Trendlines(1).DataLabel.Text trdtxt = Replace(trdtxt, "x ", "x1") trdtxt = Replace(Replace(Split(trdtxt, "=")(1), "x", "*A1^"), " ", "") Range("C1:C10").Formula = "=" & trdtxt End Sub しかし得られた値は、グラフに表示されている近似曲線の値とはかなりズレがあります。 下記サポート情報に、解説と対処策が載せられています。 (完璧には対処できないようです。) [XL]近似曲線「多項式近似曲線」について http://support.microsoft.com/kb/402428/ja

blackleon
質問者

お礼

ご回答に感謝いたします。 お示しいただいたサイトも大変参考になりました。 ありがとうございました。

その他の回答 (3)

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.3

>回答番号:No.2 この回答へのお礼 お礼を頂きましたが、質問が閉じられないのは、解決には至らない、ということですか? 回答が的を外しているのなら、具体的な例を挙げ補足していただければ、再検討してみます。

blackleon
質問者

補足

ご丁寧にありがとうございます。今いろいろ試行錯誤させていただいております。 お言葉に甘えてもう一つ質問させていただきます。 まず私の目的ですが、あるデータを経時的に取り込んで、その最新のデータの並びを折れ線グラフで表し、それをスムージングして、その各々のXに対応するYの値を得たいということです。 スムージングするので近似式の次数は6次くらいがよいと思っています。 例えばA1からA10まで順に 5,8,9,5,4,7,9,8,10、8というデータが入力されているとして、6次の近似式を作ると y = 0.0005x6 - 0.0095x5 - 0.0048x4 + 1.1894x3 - 8.8283x2 + 22.406x - 9.9となります。 お示しいただいたマクロを参考にして、この式をB列に入力するマクロを以下のように作ると(Xの値は行数と同じとして順にrow()で置き換えてみました)、X( =行数 )が増えるにしたがって、実際のグラフの値とかけ離れていくのです。 何か間違っているでしょうか。 Sub test() Dim trdtxt As String trdtxt = ActiveChart.SeriesCollection(1).Trendlines(1).DataLabel.Text trdtxt = Replace(Replace(Split(trdtxt, "=")(1), "x6", "*row()^6"), " ", "") trdtxt = Replace(trdtxt, "x5", "*row()^5") trdtxt = Replace(trdtxt, "x4", "*row()^4") trdtxt = Replace(trdtxt, "x3", "*row()^3") trdtxt = Replace(trdtxt, "x2", "*row()^2") trdtxt = Replace(trdtxt, "x", "*row()") Range("B1:B10").Formula = "=" & trdtxt End Sub

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.2

マクロを組んでみました。 該当グラフをアクティブにしてマクロを実行してください。 実情に合わせて、セル番地、セル範囲等を書き直す必要があります。 線形近似で、1次式と仮定しています。 Sub test1() Dim trdtxt As String trdtxt = ActiveChart.SeriesCollection(1).Trendlines(1).DataLabel.Text trdtxt = Replace(Replace(Split(trdtxt, "=")(1), "x", "*C7"), " ", "") Range("C8:G8").Formula = "=" & trdtxt End Sub

blackleon
質問者

お礼

ありがとうございました。 このマクロはとても参考になりました。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

近似曲線が 線形近似(一次近似線)だとして Y=a*X+bの式の a(傾き)は、SLOPE関数 b(接点)は、INTERCEPT関数で求められます。

blackleon
質問者

お礼

ご回答ありがとうございました。

関連するQ&A

  • Excelの近似曲線で求めた式の検算が合わない?

    Excel2007 Windows Vista です。 A1~A5のセルに順次 8809 8876 8831 8929 8917 と入力しました。 B1~B5のセルに順次 215014 225187 233321 218311 213570 と入力しました。 これらのデータから、 挿入→散布図→散布図(マーカーのみ)→レイアウト→近似曲線→ その他の近似曲線オプション→多項式近似→次数(4とした)→グラフに数式を表示する→ グラフにR-2乗値を表示する と操作すると、 y=0.0001X^4-3.962X^3+50923X^2-3E+08X+6E+11 R^2=1 と表示されます。 ここで検算の意味で X=8809 と入力すると y=-1.97285E+11 となって y=215014 とはなりません。 どこがまずいのでしょうか。 宜しくお願いいたします。

  • エクセルで指数近似の式を出したいです。

    エクセルのグラフの近似曲線の「近似曲線の追加」で指数近似曲線を描き、近似曲線の式を出力する事ができましたが、 この式をグラフ作成せずにエクセルで出す方法を教えてください。 式 y=αe^(βx) x=1,2,3,4,5 y=80,85,90,95,100 のときのαとβが出したいです。 宜しく御願いします。

  • データを入力したときに折れ線グラフを自動的に伸ばしたい

    エクセル2003です 1カ月の折れ線グラフに 毎日入力するデータの累計を 入力したときに折れ線が表示するように グラフを作りたいのですができますか。 累計の列を「1~31」を選択し、グラフを作ると 数値が入力されていないとき折れ線が「0」で表示されてしまうのです。「0」の折れ線を表示させたくないのです。 データ 日付はA列に「1~31」と入力 数値は、B列に毎日入力する 累計は数値を入力すると計算され、C列表示される。

  • Excel 累乗近似

    他サイトで投稿させて頂きましたが、文字では伝えきれないと思い画像の添付 できるコチラで再投稿します。画像がデータおよびグラフになります。 X軸に時間、Y軸に歪みデータをプロットしたグラフで、時間の経過とともに 歪みが大きくなっていきます。このグラフに累乗近似曲線を引いて数式を 表示させていると思われるのですが、y=0.36477 x^ 0.12332 - 0.1950となっています。 この-0.1950はどこからくる数字なのでしょうか。 別シートにある元データは、左から経過時間、歪み、と縦に並んだ数値群があり、欄外に=0.36477*POWER(A12,0.12332)-0.195の数式が入っていて経過時間とともに変化していってます。 (A12~A○○は経過時間の数値です) この数式で出た数値が、グラフ上に「近似」という凡例でグラフ表示されています。 (元からあった経過時間と歪みの関係のグラフに重なる感じで近似曲線として表示されています) 元データから作成した経過時間と歪みの関係のグラフの数式を表示させると違う式になります。 経過時間は0からなのでそれは除いて累乗近似曲線の数式を表示させましたが異なる式になります。 (y=0.36477 x ^0.12332になりません) 知りたいのは、-0.1950という数字はどこから求めたものか、y=0.36477 x ^0.12332の 近似曲線の数式はどうやって求めたのか。になります。 まとまりなく分かりにくいですが、知識皆無なため理解できなく困っています。 ご助言よろしくお願いします。

  • エクセル多項式近似について

    エクセルで多項式近似の横に次数とあるのですが、これは何の数字をあらわすのでしょうか? また、グラフに普通に曲線をつけるのと、多項式近似では異なるのでしょうか?

  • 近似式について

    x=比重,y=あるものの濃度(%) 1.エクセルを用いて、上のx,yのグラフをかきました。 2.これにに近似曲線の追加しました。 3.そのときに数式を表示させました。 4.この数式にxの値に数値を入れてyを逆算させましたがあまり合いませんでした。(なるべく元のデーターと一致させたいのです。) 5. 1・2・3・4・5・6次式まで近似させてみました。  すると数字が大きくなるにつれて逆算した結果が元のデーターと比べ一致するようになりました。 6.参考までにR^2の値は次の通りです。 1次式: 0.9912   2次式 : 0.9972 3次式: 0.9988   4次式 : 0.9990 5次式: 0.9991   6次式 : 0.9994 しかし、通常6次式など聞いたことがありません。 どの式を用いていいのかわからなくなりました。 数字が大きくなる式を使うことのメリット・デメリット はあるのでしょうか? またどの式を使うべきかの判断はどうしたらいいのでしょうか? 数学が全くダメな私なので困っています。 どなたかお力を貸していただけないでしょうか? まことに勝手ですが、6/4の午前中までに教えて頂けますでしょうか?よろしく御願いします。

  • 近似曲線の数式について(エクセルのグラフ)

    エクセルの線グラフで項目軸ラベルの数値が6,9,12で、値が0.92、1.43、1.90であるグラフの近似曲線(線形近似)の数式を求めたら、y=0.49x+0.4367となりました。この数式は、(x,y)=(1,0.92),(2,1.43),(3,1.90)となっているようですが、僕はこの数式を項目軸ラベルにあわせて(x,y)=(6,0.92),(9,1.43),(12,1.90)となるようにしたいのですが、そのようにできますか?できるのなら、どのようにしたらいいのでしょうか?教えてください。

  • Excelのマーカー付き折れ線グラフについて

    Excelグラフの近似曲線について質問です。 xとyが下記の値の場合に、下記をマーカー付き折れ線で描画したとします。 描画したグラフにxを8~10の範囲に限定した場合の近所曲線を追加したいのですが、どなたか方法ご教示頂けないでしょうか? x8~10の範囲を新しく系列に追加し、その系列に近似曲線を追加する方法を試してみたのですが、追加した系列で選択出来る範囲はyのみで、xの範囲は自動で0~2になってしまいます。 x0~10のグラフとx軸は共有されてしまいます。 y軸 x軸 60 0 30 1 50 2 40 3 80 4 60 5 90 6 30 7 20 8 80 9 50 10

  • エクセルで折れ線グラフにしたいのですが線が出ません

    エクセルのグラフ作成にて下記のようなデータを折れ線グラフで作成したいのですが、どうしても折れ線にならずに数値のところが点で表記されるだけなのです。どうしたらいいかわかりません。 お教えください。    A   B   C   D   E   F (1)  20      40         30 (2)     10      5       8 上記のように A列には(1)の数字のみ。B列には(2)の数字のみといった形です。 もちろん(1)も(2)も入る列はあるのですが・・・。 (1)の折れ線グラフはA-C-F (2)は       B-D-F と数値の入っているところを線で結びたいのです。  普通にやってみるとどうしても線になりません。 教えてください!!

  • Excel 累乗近似

    X軸に時間、Y軸に歪みデータをプロットしたグラフで、時間の経過とともに 歪みが大きくなっていきます。このグラフに累乗近似曲線を引いて数式を 表示させていると思われるのですが、y=0.36477 x 0.12332 - 0.1950となっています。 この-0.1950はどこからくる数字なのでしょうか。 別シートにある元データは、左から経過時間、歪み、と縦に並んだ数値群があり、欄外に=0.36477*POWER(A12,0.12332)-0.195の数式が入っていて経過時間とともに変化していってます。 (A12~A○○は経過時間の数値です) この数式で出た数値が、グラフ上に「近似」という凡例でグラフ表示されています。 (元からあった経過時間と歪みの関係のグラフに重なる感じで近似曲線として表示されています) この近似曲線の数式を表示させても上述した式にはなりません。 まとまりなく分かりにくいですが、知識皆無なため理解できなく困っています。 ご助言よろしくお願いします。

専門家に質問してみよう