Excel TANH関数の使い方|双曲線正接の基本から応用まで

スポンサーリンク

「ExcelにTANH関数ってあるけど、どう使うの?」と疑問に思ったことはありませんか。双曲線正接(ハイパーボリックタンジェント)と聞くと難しそうですよね。でも実は、機械学習の活性化関数やデータの正規化で広く使われている実用的な関数なんです。

この記事では、ExcelのTANH関数の使い方を基本から丁寧に解説します。定義式の検算、出力範囲の特徴、エラー対処まで一記事でカバーしますよ。

ExcelのTANH関数とは?

TANH関数は、指定した数値の双曲線正接(ハイパーボリックタンジェント)を返す関数です。

読み方と語源

読み方は「ハイパーボリックタンジェント」です。「タンエイチ」や「タンチ」と呼ばれることもあります。

TANHは「Tangent Hyperbolic」の略です。通常の三角関数のTAN(正接)に「H(Hyperbolic=双曲線)」が付いた形ですよ。

数学的な定義

TANH関数の定義式は次のとおりです。

tanh(x) = sinh(x) / cosh(x) = (e^x – e^(-x)) / (e^x + e^(-x))

ここでeはネイピア数(自然対数の底、約2.71828)です。SINH関数COSH関数の比で表されるのがポイントですね。

入力と出力のイメージ

  • 入力: 任意の実数(正・負・ゼロいずれもOK)
  • 出力: 必ず-1より大きく1より小さい値(-1 < tanh(x) < 1)

たとえばTANH(0)は0、TANH(1)は約0.7616、TANH(5)は約0.9999を返します。入力がどんなに大きくても、出力は1を超えません。この「値を-1から1の間に押し込む」性質が、TANH関数の最大の特徴です。

ExcelのTANH関数の書き方

基本構文

=TANH(数値)

引数はひとつだけなので、とてもシンプルですよ。

引数の説明

引数必須/省略可説明
数値必須双曲線正接を求めたい実数を指定します。セル参照・数式・直接入力のいずれもOKです

注意: テキスト文字列を渡すと#VALUE!エラーになります。数値に変換できる値を指定してください。

戻り値

指定した数値の双曲線正接を返します。結果は必ず-1より大きく1より小さい範囲に収まります。

ExcelのTANH関数の基本的な使い方

実際にTANH関数を使ってみましょう。

セルの値から双曲線正接を求める

A列に数値を入力し、B列でTANH関数を使います。

 A列(数値)B列(数式)B列(結果)
10=TANH(A1)0
21=TANH(A2)0.7616…
3-1=TANH(A3)-0.7616…
42=TANH(A4)0.9640…
55=TANH(A5)0.9999…
610=TANH(A6)1.0000…

数値が大きくなるほど結果は1に近づきますが、1になることはありません。これがSINH関数やCOSH関数と大きく異なる点ですよ。

数式に直接値を入力する

セル参照を使わず、数値を直接書くこともできます。

=TANH(0.5)

結果は約0.4621です。ちょっとした検算にはこの書き方が便利ですよ。

TANH関数の定義式をSINH・COSH関数で検算する

TANH関数の結果が正しいか確かめたいときは、定義式を使って検算してみましょう。

SINH関数とCOSH関数で再現する

tanh(x) = sinh(x) / cosh(x) なので、次のように書けます。

=SINH(A1)/COSH(A1)

この数式とTANH(A1)の結果が一致すれば、定義どおりに計算できていると確認できますよ。

EXP関数で定義式を直接計算する

EXP関数を使えば、定義式そのものを再現できます。

=(EXP(A1)-EXP(-A1))/(EXP(A1)+EXP(-A1))

検算結果の比較表

A1にさまざまな値を入れて比較してみましょう。

数値TANH(A1)SINH(A1)/COSH(A1)EXP式一致
0000はい
10.76159…0.76159…0.76159…はい
-2-0.96403…-0.96403…-0.96403…はい
50.99991…0.99991…0.99991…はい

すべて一致しますね。SINH関数やCOSH関数が使えない環境では、EXP関数の式で代替できます。

TANH関数の性質を確認する(奇関数と収束)

TANH関数には覚えておきたい2つの性質があります。

奇関数の性質

TANH関数は「奇関数」です。つまり、tanh(-x) = -tanh(x) が常に成り立ちます。グラフは原点に対して点対称になりますよ。

数値 xTANH(x)TANH(-x)-TANH(x)一致?
10.76159-0.76159-0.76159はい
30.99505-0.99505-0.99505はい
0.50.46212-0.46212-0.46212はい

これはSINH関数が奇関数、COSH関数が偶関数であることから導かれます。奇関数を偶関数で割ると奇関数になるんですね。

出力が-1から1に収束する性質

TANH関数の最大の特徴は、入力がどれだけ大きくても出力が-1と1の間に収まることです。

数値 xTANH(x)
0.50.4621
10.7616
20.9640
50.9999
101.0000(※厳密には1未満)
1001.0000(※厳密には1未満)

xが大きくなるにつれて1に限りなく近づきますが、決して1にはなりません。この性質は「漸近的(ぜんきんてき)に1に近づく」と表現します。機械学習でニューラルネットワークの活性化関数として使われるのは、この性質のおかげですよ。

双曲線関数の恒等式

TANH関数はSECH関数との間に、次の恒等式が成り立ちます。

tanh(x)^2 + sech(x)^2 = 1

三角関数の tan^2 + 1 = sec^2 に似た関係ですね。Excelで検証するなら、次の数式を使います。

=TANH(A1)^2+SECH(A1)^2

どんな値を入れても結果は1になりますよ。

TANH関数の実践的な活用例

データを-1から1の範囲に変換する(正規化)

大きくばらつくデータを-1から1の範囲に収めたいとき、TANH関数が役立ちます。

たとえば、気温の偏差データ(-50から+50)を正規化する場合です。

 A列(気温偏差)B列(数式)B列(結果)
1-30=TANH(A1)-1.0000
2-5=TANH(A2)-0.9999
30=TANH(A3)0
45=TANH(A4)0.9999
530=TANH(A5)1.0000

ただし、値が極端に大きいとほぼ1(または-1)に張り付いてしまいます。データの分布に合わせて入力をスケーリングするのがコツです。

=TANH(A1/10)

このように除算でスケールを調整すると、変換後の値に差をつけやすくなりますよ。

ATANH関数で元の値に逆算する

TANH関数で変換した値を元に戻したいときは、逆関数のATANH関数(双曲線逆正接)を使います。

=TANH(2)      → 0.96403...
=ATANH(0.96403)  → 2(元の値に戻る)

ATANH関数の入力は-1より大きく1より小さい値に限られます。TANH関数の出力はこの範囲に必ず収まるので、相性がよいですね。

よくあるエラーと対処法

#VALUE!エラー

原因: 引数に数値に変換できない文字列を指定した場合に発生します。

=TANH("abc")  → #VALUE!

対処法: 引数がセル参照の場合、参照先に文字列が入っていないか確認しましょう。ISNUMBER関数(セルの値が数値かどうかを判定する関数)で事前にチェックする方法も有効ですよ。

=IF(ISNUMBER(A1),TANH(A1),"数値を入力してください")

#NAME?エラー

原因: 関数名のスペルミス(「TANH」を「TAHN」と書くなど)が原因です。

対処法: 数式バーに「=TA」と入力すると候補一覧が表示されます。そこからTANHを選ぶとスペルミスを防げますよ。

TANH関数では#NUM!エラーが出ない

SINH関数やCOSH関数では、極端に大きい値(絶対値が2^27以上)を入力すると#NUM!エラーになります。しかしTANH関数では#NUM!エラーは発生しません

これはTANH関数の出力が常に-1から1の範囲に収まるため、計算結果がオーバーフローしないからです。どんなに大きな値を入れても安全に使えるのは、TANH関数ならではの利点ですよ。

TAN関数との違い・似た関数との使い分け

TAN関数とTANH関数の違い

比較項目TAN関数TANH関数
名前正接(タンジェント)双曲線正接(ハイパーボリックタンジェント)
数学の分類三角関数双曲線関数
定義単位円上のy/xsinh(x) / cosh(x)
値の範囲制限なし(負の無限大から正の無限大)-1 < tanh(x) < 1
周期性あり(π周期)なし
主な用途角度・勾配の計算正規化・機械学習の活性化関数

TAN関数は値が無限大まで発散するのに対して、TANH関数は常に-1から1の間に収まります。名前は似ていますが、性質は正反対ですよ。

双曲線関数ファミリー6種の一覧

ExcelにはTANHを含む双曲線関数が6つ用意されています。

関数名前定義式関連記事
SINH双曲線正弦(e^x – e^(-x)) / 2SINH関数の使い方
COSH双曲線余弦(e^x + e^(-x)) / 2COSH関数の使い方
TANH双曲線正接sinh(x) / cosh(x)この記事
SECH双曲線正割1 / cosh(x)SECH関数の使い方
CSCH双曲線余割1 / sinh(x)CSCH関数の使い方
COTH双曲線余接cosh(x) / sinh(x)COTH関数の使い方

TANH関数はSINH関数とCOSH関数の比で定義されています。この2つの関数が双曲線関数のベースになっているので、あわせて理解しておくとスムーズですよ。

ATANH関数(逆関数)との関係

ATANH関数はTANH関数の逆関数です。ATANH(y)は「TANH(x)=yとなるxの値」を返します。

ATANH関数の入力は-1から1の間(-1と1自体は含まない)に限られます。TANH関数の出力は常にこの範囲内なので、TANH → ATANHの逆算は必ず成功しますよ。

まとめ

ExcelのTANH関数は、数値の双曲線正接を求めるための関数です。

  • 構文: =TANH(数値)。引数はひとつだけ
  • 定義式: tanh(x) = sinh(x) / cosh(x)。SINH関数・COSH関数やEXP関数で検算できる
  • 最大の特徴: 出力が必ず-1から1の範囲に収まる
  • 奇関数の性質: tanh(-x) = -tanh(x) が常に成り立つ
  • TAN関数との違い: TANは値が無限大に発散、TANHは-1から1に収束

データの正規化や機械学習の活性化関数としても知られる関数です。エラーが出たときは、引数に文字列が入っていないかを確認してみてくださいね。

タイトルとURLをコピーしました