「ExcelにSECH関数ってあるけど、何に使うの?」と疑問に思ったことはありませんか。双曲線正割(ハイパーボリックセカント)と言われても、ピンとこないですよね。でも実は、信号処理や確率分布の計算で使われる実用的な関数なんです。
この記事では、ExcelのSECH関数の使い方を基本から丁寧に解説します。定義式の検算、釣鐘型カーブの特徴確認、エラー対処まで一記事でカバーしますよ。
ExcelのSECH関数とは?読み方と基本
SECH関数は、双曲線正割(ハイパーボリックセカント)を返すExcelの数学関数です。
読み方は「セッチ」または「ハイパーボリック・セカント」です。英語の「Secant Hyperbolic」の頭文字に由来します。
ひとことで言うと、「入力した数値に対する双曲線正割の値を求める」関数です。Excel 2013以降のバージョンで使えます。Microsoft 365・Excel 2024 / 2021 / 2019 / 2016に対応していますよ。
SECH関数の構文と引数
構文はとてもシンプルです。
=SECH(数値)
引数はひとつだけです。
| 引数 | 必須 | 説明 |
|---|---|---|
| 数値 | はい | 双曲線正割を求めたい任意の実数 |
指定する数値の絶対値は 2^27(約1億3,400万)未満である必要があります。この範囲を超えるとエラーになるので注意してくださいね。
双曲線正割(ハイパーボリックセカント)の数学的定義
SECH関数の数学的な定義式は次のとおりです。
sech(x) = 1 / cosh(x) = 2 / (e^x + e^(-x))
ここで e はネイピア数(約2.71828)です。COSH関数の逆数をとった関数になります。
定義域は全実数ですが、値域は 0より大きく1以下(0 < sech(x) <= 1)です。x=0のとき最大値の1をとり、xの絶対値が大きくなるほど0に近づいていきます。
代表的な値を確認しておきましょう。
SECH(0)= 1(最大値)SECH(1)≒ 0.6481SECH(2)≒ 0.2658SECH(4)≒ 0.0366
値域が0から1の範囲に収まるので、COSHのように値が際限なく大きくなることはありません。扱いやすい関数ですよ。
SECH関数の基本的な使い方
実際にExcelでSECH関数を使ってみましょう。
セルに入力してみる
まずは基本の入力方法です。セルに直接数式を入力します。
=SECH(1)
Enterキーを押すと、結果は「0.648054274」と表示されます。
セル参照も使えます。A2に数値を入れておいて、B2に次の数式を入力してみてください。
=SECH(A2)
A列の値を変えるだけで、さまざまな入力に対するSECH値を一覧できますよ。
COSH関数とEXP関数で定義式を検算する
定義式 1 / cosh(x) と 2 / (e^x + e^(-x)) をExcelで再現して、SECH関数の結果と一致するか確かめましょう。
COSH関数は双曲線余弦を返す関数、EXP関数は e のべき乗を返す関数です。これらを使うと定義式を次のように書けます。
=1/COSH(A2)
=2/(EXP(A2)+EXP(-A2))
SECH関数の結果と比較した表がこちらです。
| 数値(x) | =SECH(x) | =1/COSH(x) | =2/(EXP(x)+EXP(-x)) | 一致 |
|---|---|---|---|---|
| 0 | 1 | 1 | 1 | Yes |
| 1 | 0.648054274 | 0.648054274 | 0.648054274 | Yes |
| 2 | 0.265802229 | 0.265802229 | 0.265802229 | Yes |
| 4 | 0.036618993 | 0.036618993 | 0.036618993 | Yes |
すべての値で完全に一致していますね。SECH関数が定義式どおりに計算していることを確認できました。
SECH関数の特性を理解する
SECH関数には、実務で知っておくと役立つ特性があります。ここでは2つ紹介しますね。
偶関数の性質:xと-xで値が等しい
SECH関数は偶関数です。偶関数とは、プラスの値とマイナスの値を入れても同じ結果を返す関数のことです。
数式で書くと sech(-x) = sech(x) となります。
実際にExcelで確認してみましょう。
| x | SECH(x) | SECH(-x) | 一致 |
|---|---|---|---|
| 1 | 0.648054274 | 0.648054274 | Yes |
| 2 | 0.265802229 | 0.265802229 | Yes |
| 3 | 0.099327927 | 0.099327927 | Yes |
=SECH(A2)=SECH(-A2)
この数式を入力するとTRUEが返ります。COSH関数が偶関数なので、その逆数であるSECH関数も偶関数になるわけですね。
釣鐘型のカーブ:x=0で最大、両端で0に近づく
SECH関数のグラフは、釣鐘型の曲線を描きます。正規分布のグラフに似た形です。
| 特徴 | 値 |
|---|---|
| 最大値 | 1(x=0のとき) |
| x=1のときの値 | 約0.648 |
| x=3のときの値 | 約0.099 |
| xが大きくなると | 0に漸近 |
中央(x=0)がもっとも高く、左右対称に減少していきます。この釣鐘型の特性が、確率分布や信号処理で活用される理由です。
実際に確認したい場合は、A列に-5から5までの数値を並べ、B列に =SECH(A2) を入力して散布図グラフを作成してみてください。きれいな釣鐘型カーブが確認できますよ。
SECH関数の実践的な活用例
SECH関数の具体的な使い方を紹介します。
SECH関数で重み付けを計算する
SECH関数の釣鐘型カーブは、中心からの距離に応じて重みを減衰させる計算に便利です。
たとえば、中心からの距離が離れるほど影響が小さくなるような重み付けを行うケースです。
=SECH(距離/スケール)
距離が0のとき重みは最大(1.0)になり、距離が大きくなるほど0に近づきます。ガウス関数(正規分布)と似た動きですが、SECH関数は1つの関数だけで書けるのがメリットです。
恒等式 sech^2(x) + tanh^2(x) = 1 を検証する
SECH関数とTANH関数には、重要な恒等式があります。
sech²(x) + tanh²(x) = 1
三角関数の cos²(x) + sin²(x) = 1 と似た構造ですね。Excelで検証してみましょう。
=SECH(A2)^2+TANH(A2)^2
| x | SECH(x)^2 | TANH(x)^2 | 合計 |
|---|---|---|---|
| 0 | 1.000 | 0.000 | 1.000 |
| 1 | 0.420 | 0.580 | 1.000 |
| 2 | 0.071 | 0.929 | 1.000 |
| 5 | 0.000 | 1.000 | 1.000 |
すべての値で合計が1になっていますね。この恒等式を知っておくと、数式の検算に使えて便利ですよ。
似た関数との違い・使い分け
SEC関数とSECH関数の違い
名前が似ているSEC関数と混同しやすいので、違いを整理しておきましょう。
| 比較項目 | SECH(双曲線正割) | SEC(三角関数の正割) |
|---|---|---|
| 数学的な基盤 | 双曲線 | 単位円 |
| 定義 | 1/cosh(x) | 1/cos(x) |
| 値域 | (0, 1] | (-∞, -1] ∪ [1, +∞) |
| 周期性 | なし | あり(2π周期) |
| 引数 | 実数(無次元) | ラジアン |
SECHは0から1の範囲に収まりますが、SECは1以上または-1以下の値を返します。用途もまったく違うので、数式を入力するときは関数名を間違えないように注意してくださいね。
双曲線関数ファミリーでの位置づけ
SECH関数は、双曲線関数ファミリーのひとつです。仲間の関数との関係を押さえておきましょう。
| 関数 | 名称 | 定義 | 値域 |
|---|---|---|---|
| COSH | 双曲線余弦 | (e^x + e^(-x)) / 2 | [1, +∞) |
| SINH | 双曲線正弦 | (e^x – e^(-x)) / 2 | (-∞, +∞) |
| TANH | 双曲線正接 | sinh(x) / cosh(x) | (-1, 1) |
| SECH | 双曲線正割 | 1 / cosh(x) | (0, 1] |
| CSCH | 双曲線余割 | 1 / sinh(x) | x≠0 |
| COTH | 双曲線余接 | cosh(x) / sinh(x) | x≠0 |
SECHはCOSHの逆数という位置づけです。微分の関係では d/dx sech(x) = -sech(x) * tanh(x) となり、SECH自身とTANHの積で表されます。
逆関数はACOSH関数を使って間接的に求められます。sech(x) = y のとき x = ACOSH(1/y) と変換できますよ。
よくあるエラーと対処法
SECH関数で発生するエラーは主に2種類です。それぞれの原因と対処法を確認しましょう。
#VALUE!エラー
引数に文字列など、数値として認識できないデータを指定すると発生します。
=SECH("abc") → #VALUE!エラー
対処法はシンプルです。引数のセルに数値が入っているか確認してください。ISNUMBER関数(セルの値が数値かどうかを判定する関数)で事前チェックもできます。
=IF(ISNUMBER(A2), SECH(A2), "数値を入力してください")
#NUM!エラー
引数の絶対値が 2^27(約1億3,400万)以上になると発生します。
=SECH(200000000) → #NUM!エラー
ただし実用上は、この制限に引っかかることはほとんどありません。SECH関数はxの絶対値が大きくなるほど結果が0に近づくため、極端に大きな値を入力する必要がある場面は少ないですよ。
もしどうしても大きな値を扱う必要がある場合は、IFERROR関数でエラーを回避できます。
=IFERROR(SECH(A2), 0)
xの絶対値が大きいときの結果はほぼ0なので、エラー時に0を返す処理で実用上は問題ありません。
#NAME?エラー
SECH関数はExcel 2013以降で利用可能です。Excel 2010以前を使っている場合、関数が認識されず #NAME?エラーが表示されます。
この場合は定義式を使って手動で計算しましょう。
=2/(EXP(A2)+EXP(-A2))
EXP関数はExcel 2010以前でも使えるので、この数式で同じ結果が得られますよ。
まとめ
ExcelのSECH関数について解説しました。要点を振り返りましょう。
- SECH関数は双曲線正割を返す関数で、
=SECH(数値)と書く - 定義式は
1/cosh(x) = 2/(e^x + e^(-x))。COSH関数やEXP関数で検算できる - 偶関数なので、xと-xで同じ値を返す
- 値域は (0, 1] で、x=0のとき最大値1をとる釣鐘型カーブを描く
- 恒等式
sech²(x) + tanh²(x) = 1が成り立つ - Excel 2010以前では
=2/(EXP(x)+EXP(-x))で代替可能
双曲線関数ファミリーの他の関数もあわせてチェックしてみてください。
