• ベストアンサー

EXCELのマクロで出来ますか?

散布図で近似曲線グラフを作成しました。 この近似曲線の書式設定で[グラフに数式を表示する(E)]を選択すると、 グラフに y = ax2 + bx + c という数式が出ます。 この数式をマクロで計算することは出来ないのでしょうか? 例えば、[セルA1]にxを入力したら[グラフA]のyの値が[セルB1]に算出されるような 便利なマクロ組むことは出来ますか? 初心者で質問が下手ですみませんm(_ _)m

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

  • ベストアンサー
noname#29107
noname#29107
回答No.1

ちょっとテストが不十分なので、注意して使用して下さい。 対象のチャートを選択して実行すると、Sheet2のB1セルにA1セルをxとした近似曲線の計算式をセットします。 数式が表示されていないと、エラーになります。最初の系列、最初の近似曲線しか見ていません。 Sub test() Dim MyChart As Chart, siki As String, siki2 As String Dim joSW As Boolean, numSW As Boolean, expSW As Boolean 'Set MyChart = ActiveChart siki = ActiveChart.SeriesCollection(1).Trendlines(1).DataLabel.Text joSW = False numSW = False expSW = False siki2 = "" For i = 1 To Len(siki)   ixchar = Mid(siki, i, 1)   If IsNumeric(ixchar) Then     numSW = True     If joSW Then       joSW = False       siki2 = siki2 & "^" & ixchar     Else       siki2 = siki2 & ixchar     End If   Else   If ixchar = "L" Then     If numSW Then       numSW = False       siki2 = siki2 & "*" & ixchar     Else       siki2 = siki2 & ixchar     End If   Else   If ixchar = "x" Then     joSW = True     If numSW Then       numSW = False       siki2 = siki2 & "*" & ixchar     Else       siki2 = siki2 & ixchar     End If   Else   If ixchar = "e" Then     expSW = True     If numSW Then       numSW = False       siki2 = siki2 & "*EXP("     Else       siki2 = siki2 & "EXP("     End If   Else   If joSW Then     joSW = False     If ixchar <> " " Then       If ixchar = ")" Then         siki2 = siki2 & ixchar       Else         siki2 = siki2 & "^" & ixchar       End If     End If   Else     If ixchar <> " " Then       siki2 = siki2 & ixchar     End If   End If   End If   End If   End If   End If Next i If expSW Then   siki2 = siki2 & ")" End If siki = Replace(Replace(siki2, "y=", ""), "x", "A1") Sheets("Sheet1").Range("B1").Formula = "=" & siki End Sub

関連する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 とはなりません。 どこがまずいのでしょうか。 宜しくお願いいたします。

  • マクロの記録に登録されない!

    エクセルで折れ線グラフを作成し、近似曲線を追加し、近似曲線の数式を表示させます。 そして、マクロ記録を行い、近似曲線の数式を選択し、コピーし、適当なセルへ近似曲線の数式を貼り付け。ここでマクロの記録をストップ。 その後、VBEで記録された内容を確認すると、近似曲線の数式をコピーした記録が残っていないのです。 何方か教えてください。よろしくお願いします。

  • エクセル近似曲線の数式について

    エクセルのグラフで近似曲線を引き、数式を表示しました。 y軸は金額で、x軸は年月です。 近似曲線の書式設定の前方補外で、1年後に金額はいくらが予測されるか?という表を作りたいのですが、数式に y = 522604x - 6E+08 と表示されているのをセルに当てはめると、ケタ違いの値になってしまいました。 「6E+08」は、約640,000,000を指数表示しているのは分かったのですが、計算するとケタ違いの値になってしまいます。 どなたかご教授頂ければ幸いです。

  • エクセルで

    エクセルで y=ax+b の形の近似曲線の傾きと切片を求めたいのですが、範囲内にエラー値が含まれるため、計算後もエラーが表示されてしまいます。 どうにかエラーを除外して傾きと切片を求めることは出来ないのでしょうか? ちなみにグラフ上で近似曲線を表示するとエラーではなく、きちんと数式が表示されます。

  • **エクセル** 算出結果をグラフへ描画するときに

    お世話様です。 エクセルで何らかの結果をグラフで描画させる際(主に散布図)、Yの参照先のセルには、数式が入力されています。 ところが、すべてのデータがそろっているわけではないので、Xに対してエラーが出るようなYの算出結果があります。 表示上はエラーが見えないように、Yの数式は、例えば=IF(ISERROR(FFF(X)),"",FFF(X))のようにしています。 しかしこの見かけ上はなんにもないセルをグラフのYの範囲に含めると、Y=0の位置にプロットされていまいます。もちろん、式を消せば何も表示されません。 今までは消したり(手でやったりマクロをやったり)していましたが、他に妙案はあるでしょうか? EXCEL2002です。

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

    エクセル2003で散布図を作成後、近似曲線を追加しました。その後、その近似曲線と同様の演算をするセルを作りましたが、散布図にプロットした値と全く異なる値を弾き出しました。何がいけなかったのでしょうか?

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

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

  • 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の 近似曲線の数式はどうやって求めたのか。になります。 まとまりなく分かりにくいですが、知識皆無なため理解できなく困っています。 ご助言よろしくお願いします。

  • Excelの近似曲線

    Excelでy=ax^3+bx^2+cx+dではなく、y=ax^3+bx^2のみで近似することはできますか? また、aとbが正になる近似を行うことはできますか?

  • 多項式近似の係数をセルに抜き出したい。

    以前以下のような質問がありましたが、線形近似だけではなく、多項式近似の y = ax^2 + bx + c のa、b、cをセル上に抜き出したいのですが、関数で対応できるでしょうか? もし別のソフトで可能であれば、ソフト名を教えてください。 ====以下、過去の質問から引用====== エクセルのグラフには、近似曲線を表示する機能がありますが、 その近似曲線の係数を参照元にして、セル上の関数計算をしたいと 思っています。 例えば、線形近似ならば、  y= ○○○x + ●●● という式をグラフ上に表示できるわけですが、この係数の ○○○や●●●を他のセルから参照したいんです。 グラフの元になる数値を変更した場合、リンクして変わる ようにしたいので、手入力の転記では困るのです。 もし可能でしたら、ご教授ください。

専門家に質問してみよう