2021年5月26日水曜日

Excelのソルバーで3次方程式を解く!

 本日もExcelネタいってみたいと思います。

とある麗らかな午後の事です。
A副社長が私の席にやってきました。

「ちょっとこの3次方程式がエクセルでできんかな~、、、」

はいぃ???ノ)゚Д゚(ヽ

「ソルバーっちゅう、アドインでできるっち、
Mさん(設計部長)が言いよったんやけど、、、」


うぉぉΣΣ(゚д゚lll)
つり合い深さを計算ですかぁ、、、
Excelで解きたいのは、上の写真のピンクアンダーラインの部分ですね。

「X=2.32になるようにしたいんじゃぁ・・・(o・ω・o)

できるって言ったM部長はお休み中ヽ(`Д´)ノ

「多分できると思います!
ちょっと、時間ください!!(''◇'')ゞ」


てなワケで、とりあえず、ソルバーを追加するところから始めます!
(Excel2016を使用しております)

エクセルを開き、
「ファイル」タブの左下の方にある「オプション」をクリック
下から2番目の「アドイン」をクリック
一番下の「管理」「Excelアドイン」になっている事を確認し、
「設定」をクリック↓



「ソルバーアドイン」にチェックを入れて「OK」



これで「データ」タブの一番右側の「分析」のところに
ソルバーが追加されます!



ソルバーの追加は簡単にわかる事なのですが、
これを使ってどう3次方程式を解くのか?
比較的新しいバージョンのExcelで単純にわかりやすく
解説しているサイトがなかなか無く・・・
できるのに1時間半もかかってしまいました・゚・(ノ∀`;)・゚・

というのも、ソルバーって汎用的には、
予算内でAとBをそれぞれ何個買えるか?とか、
目標の粗利率を達成するための、AとBの予算の最適値は?とか、
そういう表に対して使うものだと思うんですよね。

単純に3次方程式の解を求めたいだけなら、
数値を入れれば答えが出るサイトがありますので、
そちらを使う方が正直早くて便利だと思います。

ですがここは、ソルバーでもそれができちゃうよ!
っていうところで、数学的解説は置いといて(。-∀-)
単純にExcelにどうやって入力すればできるのか?だけを書きます!


ハイ!それでは、A副社長に与えられた
8.00x3+19.64x2-59.30x-68.80=0
の式を使用します。


A1セルにX=,A2セルにF(x)=と入力します。
ここは別になんでもわかりやすいテキストを入力してもらえばいいです。

B1セルになんでもいいのでとりあえず数字を入れます。
B2セルに、与えられた式を入力します。

=8*B1^3+19.64*B1^2-59.3*B1-68.8

(Excelで関数を使用する時、
掛け算は*
n乗は^
を使います)

データタブのソルバーをクリック↓


上から順に、目的セルの設定:にB2セル
目的値:は指定値にチェックを入れ、0にする
変数セルの変更:にB1を指定
(セルを直接クリックすれば自動的に絶対参照$が付きますが、
手入力であればF4キーで絶対参照が付きます)

そして解決ボタンをクリックすると↓


ソルバーの結果という小窓が開き、
B1セルにXの値2.32が表示されます!


これ、同じ事やりたい人いるのかなぁ、、、
とは思いますが、もしお役に立てれば、
数式などコピペしてお使いください(人´ω`)


余談ですが、これちょっとできるのに時間を要したので、
その間に、Excelを使って他に3次方程式が解けないものか、
K専務からK設計株式会社のT様にメールでお問い合わせしてもらいました。

するとT様、打合せで外出しておられたそうなのですが、
帰社してすぐに、解説付きExcelを作成して送ってくださりました!

さすが、早いヽ(゚Д゚;)ノ!!

もうね~、そもそも数学的脳みそがレベチなんですよ。
あ~、私も、これくらいのことは、
すぐに答えられるようになりたいもんです・゚・(ノ∀`;)・゚・