ヒガサラblog

サラリーマン向けに、仕事を効率良く進めていくための方法についてご紹介しています。プログラミングから対人スキルまでを幅広く掲載中。

ヒガサラblog

【エクセル】線形補間を一発算出!傾き、切片必要なし!VBA利用まで!

f:id:yshgs_elec:20200804225031j:plain

 

データ分析のために線形補間を利用したい。
いつもグラフから近似式を出して、数式を打ち込んでいるんだけど、他に良いやり方はないかなぁ。

 

このように、線形補間をする際に わざわざ

①散布図を作成
②線形近似曲線を追加
③グラフに数式を表示
④その数式をセルに打ち込む

このような作業をしている人は多いのではないでしょうか?

 
この記事では線形補間を一発で行ってくれる、FORECAST.LINER関数をご紹介します。

 

エクセルには様々な関数が組み込まれており、その中の一つにFORECAST.LINER関数があります。

 

この関数は直訳すると、

FORECAST : 予測する

LINER : 線で

という意味ですので、直感的にわかりやすいですね。

 

それではさっそくやっておきましょう!

 

 

(例題)散布図を使った線形補間の確認

本題に入る前に、まずは散布図を使って線形補間を計算してみましょう。

 

以下に例題を示します。

このデータの場合x=5のときにy=15.111...となります。

 

今回はこの数値をFORECAST.LINER関数を使って算出していきます。

f:id:yshgs_elec:20200317214958p:plain

 

 

 

FORECASE.LINER関数の使い方

FORECAST.LINER関数は以下のように使います。

=FORECAST.LINER([x軸の値],[y軸データの範囲],[x軸データの範囲])

 

f:id:yshgs_elec:20200805223408j:plain

実際に関数を使って計算した結果、以下のように散布図を使って算出した場合とまったく同じ結果が出力されています。

f:id:yshgs_elec:20200805223720j:plain



 

VBAへの組み込み方法

VBAへの組み込み方法がわからないという方は以下の記事をまずはご覧ください。

www.higashisalary.com

 

 

早速ですがVBAへの組み込み方法をご紹介します。

上の画像でやっていることをVBAで行おうとすると以下のようなプログラムになります。

Sub Macro1()
Cells(4, 2) = WorksheetFunction.Forecast_Linear(Cells(4, 1).Value, Range(Cells(2, 2), Cells(3, 2)), Range(Cells(2, 1), Cells(3, 1)))
End Sub

 

 

なにやらごちゃごちゃ書かれていて難しそうに見えるかもしれませんが、やっていることは非常にシンプル。

■WorksheetFunctionでこれからForecast_liner関数を使うことを宣言

■通常のエクセルシートで使用するのと同じ要領で、xの値、yの範囲,xの範囲をそれぞれ記入

※領域の指定は今回cells(*,*)で与えています。

cells(*,*)は左上をcells(1,1)として、行数、列数をそれぞれ指定するやり方です。

⇒cells(4,1)="A4"と同じ意味です。

 

VBAでx,yの数値を自動取得した後に線形補間を使いたいときには役に立つと思いますので、是非使い方をマスターしておきましょう!

 

 終わりに

というわけで今回はエクセルを使って線形補間を簡単に行う方法をご紹介しました。

このブログでは初心者向けにエクセルスキル、プログラミングスキルを多数紹介しています。

・無駄な作業を減らしたい

・残業を減らして早く帰りたい

という方は是非他の記事も読んでみてくださいね。

 

それではまた!!

 

 

関連記事

www.higashisalary.com

www.higashisalary.com