エクセルでは、データの傾向を把握したり、欠損値を補完したりするために、補間や予測の機能が役立ちます。
このような背景もありここでは、、直線補間と外挿の方法を数式とVBAの両面から解説します。
エクセルで直線補間(線形補間)の数式を出す方法【TREND関数やFORECAST関数】
直線補間とは、既知のデータ点を結ぶ直線上の値を求める方法です。線形補間ともいいますね。
エクセルでは、TREND関数(もしくはFORECAST関数)を使って実現できます。
以下は、B列にxの値、C列にyの値がある場合の数式です。
=TREND(C2:C6,B2:B6,B8)
この数式内の引数の意味は以下の通りです。
– C2:C6は既知のyの値の範囲
– B2:B6は既知のxの値の範囲
– B8は補間したいxの値
例えば、以下のようなデータがあるとします。
A | B | C | |
---|---|---|---|
1 | x | y | |
2 | 1 | 2 | |
3 | 2 | 4 | |
4 | 3 | 6 | |
5 | 4 | 8 | |
6 | |||
7 | 補間したいx | 補間結果 | |
8 | 2.5 | =TREND(C2:C5,B2:B5,B8) |
B8セルに2.5と入力し、C8セルに上記の数式を入れると、x=2.5の時のyの値として5が返ってきます。
エクセルで線形補間の数式をもとに外挿の予測を行う方法
外挿とは、既知のデータの範囲外の値を予測する方法です。
実は外挿補間であっても、上の内挿の直線補間の数式をそのまま使えばいいです。同様の計算式で未来や過去の値を予測できます。
例えば、以下のようなデータを使って、x=5の時のyの値を予測してみましょう。
A | B | C |
---|---|---|
1 | x | y |
2 | 1 | 2 |
3 | 2 | 4 |
4 | 3 | 6 |
5 | 4 | 8 |
6 | ||
7 | 予測したいx | 予測結果 |
8 | 5 | =TREND(C2:C5,B2:B5,B8) |
C8セルの数式は補間の時と同じです。これを実行すると、x=5の時のyの予測値として10が得られます。
VBA(マクロ)の場合
Alt+F11でVBE画面を開いて以下をコピペしましょう。
Sub InterpolateAndExtrapolate()
Dim knownY As Range
Dim knownX As Range
Dim newX As Double
Set knownY = Range("C2:C5")
Set knownX = Range("B2:B5")
newX = Range("B8").Value
Range("C8").Value = Application.WorksheetFunction.Trend(knownY, knownX, newX)
End Sub
このコードの意味は次の通りです。
– knownYは既知のyの値の範囲(C2:C5)
– knownXは既知のxの値の範囲(B2:B5)
– newXは補間・外挿したいxの値(B8のセルの値)
– Application.WorksheetFunction.Trendでエクセル関数のTRENDを呼び出し、結果をC8セルに出力
Alt+F8でマクロ選択画面を開きInterpolateAndExtrapolate関数を実行します。
使い方は以下の通りです。
A | B | C |
---|---|---|
1 | x | y |
2 | 1 | 2 |
3 | 2 | 4 |
4 | 3 | 6 |
5 | 4 | 8 |
6 | ||
7 | 予測したいx | 予測結果 |
8 | 5 |
B8セルに補間・外挿したいxの値(ここでは5)を入力し、マクロを実行するとC8セルに結果が表示されます。
まとめ エクセルで線形補間や予測(外挿や内挿)する方法【TREND関数やFORECAST関数】
ここでは、エクセルで補間(直線、線形)や予測(外挿や内挿)する方法【TREND関数やFORECAST関数】について解説しました。
エクセルの扱いになれ、さらに快適に過ごしていきましょう!