「故障時間が何時間目までに何%の機械が壊れるか知りたい」「株価のばらつきを分布で予想したい」――そんな 右に裾が長いデータ を扱うときに役立つのが LOGINV関数 です。
対数正規分布という少し難しい名前の分布ですが、品質管理や金融分析の現場では非常によく登場します。LOGINV関数を使えば、確率を入力するだけで対応する値(時間や金額)を逆算できます。
この記事では、LOGINV関数の構文から、引数の意味、故障時間分析の実例、後継関数LOGNORM.INVへの移行方法、関連関数との使い分けまでをまとめて整理します。
ExcelのLOGINV関数とは?
ExcelのLOGINV関数(読み方:ログインバース)は、対数正規分布の累積分布関数の逆関数値を返す関数です。関数名は「LOGarithmic INVerse(対数の逆関数)」の略です。
ざっくり言うと、「下側からx%の点はどこ?」という質問に答えてくれる関数です。たとえば「故障率10%となる稼働時間」「上位5%に入る所得水準」といった値を、確率から逆算してくれます。
対数正規分布とは、データそのものではなく そのデータの自然対数を取った値が正規分布に従う ような分布のことです。0以上の値しか取らず、右に長く裾を引く形になります。次のような場面でよく使われます。
- 株価や為替レートの変動分布
- 所得や資産の分布(ピケティ分析でもおなじみ)
- 機械や電子部品の故障時間(信頼性工学)
- 化学反応物質の濃度分布
LOGINV関数は、Excel 2007以前から提供されている 旧式の関数です。Excel 2010以降では「互換性関数」のグループに分類されています。後継として LOGNORM.INV関数(ドット入り)が用意されていますが、LOGINV関数も後方互換性のために引き続き使えます。
NOTE
「互換性関数」は古いブックでも問題なく動くように維持されている関数群です。新規作成のワークブックでは新関数(LOGNORM.INV)が推奨されますが、既存のテンプレートやマクロでLOGINVを見かけても、計算結果は新関数とまったく同じです。
LOGINV関数の書き方(構文と引数)
LOGINV関数の構文は次のとおりです。
=LOGINV(x, mean, standard_deviation)
引数は3つで、すべて必須です。
| 引数 | 必須 | 説明 |
|---|---|---|
| x | 必須 | 求めたい確率値(0より大きく1未満) |
| mean | 必須 | ln(x)の平均値(μ) |
| standard_deviation | 必須 | ln(x)の標準偏差(σ)。正の数のみ |
戻り値は、対数正規分布の累積確率がxとなるような値(0より大きい実数)です。たとえば x=0.5 を指定すると、対数正規分布の中央値(メジアン)が返ります。
ここで注意したいのが、mean と standard_deviation は 元データそのものの平均・標準偏差ではなく、元データの自然対数(ln)を取った値の平均・標準偏差 だという点です。
=LOGINV(0.4, 4, 6)
このように記述すると、ln(x)の平均が4、標準偏差が6の対数正規分布で、累積確率が0.4となる点の値が返ります。
実務例1:機械の故障時間を分析する(MTBF推定)
工場の生産ラインで使われる電子部品の故障時間を考えてみます。過去の故障データから、故障時間の自然対数の平均が ln(時間)=8、標準偏差が0.5 だとわかっているとします。
「故障率10%(つまり10台に1台が壊れている時点)の稼働時間は何時間か?」を知りたい場合、次の式で逆算できます。
=LOGINV(0.1, 8, 0.5)
このサンプルでは、約1,571時間という値が返ります。つまり「稼働開始から約1,571時間経過する頃には、全体の10%が故障している」と読み取れます。
同じ要領で、信頼性のしきい値を変えながら計算すると保証期間の設計に使えます。
| 故障率(x) | 数式 | 概算結果(時間) |
|---|---|---|
| 0.05 | =LOGINV(0.05, 8, 0.5) | 約1,308 |
| 0.10 | =LOGINV(0.10, 8, 0.5) | 約1,571 |
| 0.50 | =LOGINV(0.50, 8, 0.5) | 約2,981 |
| 0.90 | =LOGINV(0.90, 8, 0.5) | 約5,656 |
中央値(x=0.5)の約2,981時間がいわゆる MTBF(平均故障間隔)の目安 になります。x=0.9 まで見れば「9割の部品はこの時点までに壊れる」という保証期間の設計判断に使えます。
TIP
故障時間データから mean と standard_deviation を求めるときは、まずデータごとに
=LN(時間)で自然対数を取り、その列に=AVERAGE(...)と=STDEV.S(...)を適用すると簡単です。
実務例2:株価の分布から想定レンジを推定する
株価のリターン分析でも、対数正規分布はおなじみの仮定です。仮にある銘柄の1年後の予想株価について、ln(株価)の平均が7、標準偏差が0.3 と推定されているとします。
「1年後、株価が下位10%に収まるラインはいくらか?」「上位10%(つまり累積確率0.9)まではどこまで上がりうるか?」をLOGINVで計算してみます。
=LOGINV(0.1, 7, 0.3)
=LOGINV(0.9, 7, 0.3)
このサンプルでは、おおよそ 745円〜1,610円 の範囲が「中央80%の想定株価帯」として返ります。リスク管理の現場では、この上限・下限を VaR(バリュー・アット・リスク) の参考値として活用します。
WARNING
standard_deviation に0以下の値を入れると #NUM! エラーになります。元データが対数を取った後の値であることを忘れて、マイナスの平均などをそのまま入れないよう注意しましょう。
LOGNORM.INV関数(新関数)との違い・使い分け
Excel 2010以降では、後継の LOGNORM.INV関数(ドット入り)が用意されています。
| 項目 | LOGINV | LOGNORM.INV |
|---|---|---|
| 導入時期 | Excel 2007以前から | Excel 2010以降 |
| 構文 | LOGINV(x, mean, standard_deviation) | LOGNORM.INV(probability, mean, standard_dev) |
| 引数の数 | 3個 | 3個 |
| 計算結果 | 同一 | 同一 |
| 関数の分類 | 互換性関数 | 統計関数 |
引数の名前こそ少しだけ違いますが、順番も意味もまったく同じです。関数名を LOGINV から LOGNORM.INV に書き換えるだけで移行が完了します。
=LOGINV(0.1, 8, 0.5)
=LOGNORM.INV(0.1, 8, 0.5)
上記2つの数式は、まったく同じ値(約1,571)を返します。
使い分けの実務指針
- 古いExcel環境(2007以前)と共有する → LOGINV
- 自分専用または新しい環境で使う → LOGNORM.INV
- 既存ブックの数式を継承する → そのまま変更不要
Microsoft公式は新関数(LOGNORM.INV)を推奨していますが、LOGINVが将来削除される予定もないので、安心して使えます。テンプレートを統一したいときは、置換機能で LOGINV( を LOGNORM.INV( にまとめて変換するのが手軽です。
よくあるエラーと対処法
| エラー | 原因 | 対処法 |
|---|---|---|
#NUM! | x ≤ 0 または x ≥ 1 を指定した | xは 0より大きく1未満 の確率値にする |
#NUM! | standard_deviation に0以下を指定した | σは 正の数 のみ受け付ける |
#VALUE! | x、mean、standard_deviation のいずれかが数値以外(文字列など) | すべて数値で指定する。文字列が入っていないかセルを確認 |
#NAME? | 関数名のスペルミス | LOGINV のスペルを再確認。古いExcelでは利用できない可能性あり |
特に多いのが、確率xに「100」や「90」のようにパーセント表記の整数を入れてしまうケースです。xには 0.1(10%)や 0.9(90%) のように小数で渡してください。または 10% のようにパーセント記号付きで入力してもOKです。
関連関数まとめ
LOGINV関数の周辺には、対数正規分布を扱う関数がいくつかあります。混同しやすいので役割を整理しておきます。
| 関数 | 役割 | 入出力 |
|---|---|---|
| LOGINV | 対数正規分布の累積分布関数の逆関数(旧) | 確率→値 |
| LOGNORM.INV | 同上(新関数) | 確率→値 |
| LOGNORMDIST | 対数正規分布の累積確率を返す(旧) | 値→確率 |
| LOGNORM.DIST | 対数正規分布の確率密度・累積確率を返す(新) | 値→確率 |
関係性をひと言でまとめると次のとおりです。
- 値から確率を求めたい → LOGNORMDIST または LOGNORM.DIST
- 確率から値を求めたい → LOGINV または LOGNORM.INV
つまり、LOGINV と LOGNORMDIST は互いに 逆関数の関係 になっています。たとえば =LOGNORMDIST(1571, 8, 0.5) の結果は約0.1となり、先ほどの =LOGINV(0.1, 8, 0.5) ≒ 1,571 と整合します。
正規分布の方が手に馴染んでいる方は、まず NORMDIST関数 や NORMINV関数 で正規分布の感覚をつかんでから、対数を取った世界として対数正規分布を捉えると理解が早いです。
まとめ
ExcelのLOGINV関数は、対数正規分布の累積確率を入力するだけで、対応する値を逆算できる便利な関数です。要点を整理すると次のとおりです。
- 構文:
=LOGINV(x, mean, standard_deviation) - xは0より大きく1未満 の確率値で指定する
- mean・standard_deviationは元データの自然対数(ln)を取った値 の平均・標準偏差
- standard_deviationは正の数のみ。ゼロや負の値は #NUM! エラー
- 新関数 LOGNORM.INV と引数の数も計算結果も完全に同一。新規ブックでは LOGNORM.INV を推奨
故障時間の保証期間設計、株価の想定レンジ算定、所得分布のパーセンタイル分析など、右に裾が長いデータを扱うあらゆる現場で活躍します。「下から○%の点はどこ?」という問いに答えたいときに、まず思い出してほしい関数です。
合わせて LOGNORMDIST関数 と組み合わせれば、確率と値を双方向に変換できるようになり、対数正規分布まわりの分析を自在に扱えるようになります。
