スプレッドシートで「双曲線正接(ハイパボリックタンジェント)」を計算したいとき、どの関数を使えばいいか迷っていませんか?
数学の教科書で見かけるものの、スプレッドシートでの書き方はなかなかピンとこないですよね。
そんなときに使うのがTANH関数です。=TANH(値) と書くだけで、双曲線正接をかんたんに求められます。しかも結果は必ず-1から1の範囲に収まるので、データの正規化にも便利ですよ。
この記事では基本の書き方から、SINH・COSH関数との関係、TAN関数との違い、データの正規化への活用例まで紹介します。
スプレッドシートのTANH関数とは?
TANH関数(読み方: ハイパボリックタンジェント関数)は、指定した値の双曲線正接を返す関数です。名前は英語の「Hyperbolic Tangent」の略に由来します。
たとえば =TANH(1) と入力すると「0.76159…」が返ります。これが1の双曲線正接の値です。
TANH関数の最大の特徴は、結果が必ず-1から1の範囲に収まることです。どんなに大きな値を入れても1を超えず、どんなに小さい値を入れても-1を下回りません。
TANH関数にできることをまとめると、次のとおりです。
NOTE
TANH関数はGoogleスプレッドシートの全バージョンで使えます。Excelとも完全に互換性があるので、ファイルのやり取りでも安心です。
TANH関数の書き方(構文と引数)
基本構文
=TANH(値)
カッコの中に、双曲線正接を求めたい数値を指定します。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 値 | 必須 | 双曲線正接を求めたい実数値 |
引数は1つだけです。TAN関数とは違い、ラジアンへの変換は不要です。そのまま数値を渡せばOKですよ。
TIP
TAN関数は引数に「角度(ラジアン)」を取りますが、TANH関数は「任意の実数値」を取ります。RADIANS関数での変換は必要ありません。
TANH関数の基本的な使い方
代表的な値でTANH関数の動きを確認してみましょう。
正の値を渡す
=TANH(1)
結果は「0.76159…」です。
もう少し大きい値も見てみます。
=TANH(2)
結果は「0.96402…」です。値が大きくなっても、1に近づくだけで1を超えないのがポイントですね。
0を渡す
=TANH(0)
結果は「0」です。TANH(0)=0 は覚えておくと便利です。
負の値を渡す
=TANH(-1)
結果は「-0.76159…」です。TANH(1)の符号を反転した値になっています。
これはTANH関数が「奇関数」だからです。TANH(-x) = -TANH(x) が常に成り立ちます。
まとめると
代表的な入力値と結果を一覧にまとめます。
| 数式 | 結果 | 備考 |
|---|---|---|
| =TANH(0) | 0 | 原点は0 |
| =TANH(0.5) | 0.46211… | 中間的な値 |
| =TANH(1) | 0.76159… | 基本値 |
| =TANH(2) | 0.96402… | 1に近づく |
| =TANH(-1) | -0.76159… | 奇関数(符号反転) |
| =TANH(-2) | -0.96402… | -1に近づく |
| =TANH(5) | 0.99990… | ほぼ1 |
値が大きくなっても1を超えず、値が小さくなっても-1を下回らないのがわかりますね。
セル参照を使う
もちろんセル参照も使えます。A1セルに数値が入っていれば、次のように書きます。
=TANH(A1)
A列に複数の値を入れて、B列にTANH関数を並べれば一括計算もできますよ。
TANH関数の数学的な仕組み
定義式とSINH・COSH関数での検算
TANH関数は数学的に次のように定義されています。
TANH(x) = SINH(x) / COSH(x)
つまり、SINH関数(双曲線正弦)をCOSH関数(双曲線余弦)で割った値です。スプレッドシートでは次のように検算できます。
=SINH(A1)/COSH(A1)
この式とTANH(A1)は同じ結果を返します。実際にA1に「1」を入れて確認してみましょう。
| 数式 | 結果 |
|---|---|
| =TANH(1) | 0.76159… |
| =SINH(1)/COSH(1) | 0.76159… |
どちらも同じ値ですね。
EXP関数を使った定義式
TANH関数はEXP関数でも表現できます。
TANH(x) = (e^x - e^(-x)) / (e^x + e^(-x))
スプレッドシートの式にすると、次のとおりです。
=(EXP(A1)-EXP(-A1))/(EXP(A1)+EXP(-A1))
この式がTANH(A1)と同じ結果になることも確認できます。TANH関数の結果が正しいか不安なときは、EXP関数を使った式で検算してみてください。
TIP
EXP関数はネイピア数eのべき乗を返す関数です。詳しくはEXP関数の記事をご覧ください。
TAN関数との違い
名前は似ていますが、TAN関数とTANH関数はまったく別の関数です。
| 項目 | TAN関数 | TANH関数 |
|---|---|---|
| 正式名称 | 正接(タンジェント) | 双曲線正接(ハイパボリックタンジェント) |
| 数学的な背景 | 円(三角関数) | 双曲線(双曲線関数) |
| 引数 | 角度(ラジアン) | 任意の実数値 |
| 値の範囲 | 制限なし(-無限大 から +無限大) | -1 から 1 |
| RADIANS変換 | 必要 | 不要 |
| 周期性 | あり(πごとに繰り返す) | なし |
一番大きな違いは「値の範囲」です。TAN関数の結果は-無限大から+無限大まで取りうるのに対して、TANH関数の結果は必ず-1から1の間に収まります。
もうひとつの違いは「周期性」です。TAN関数はπラジアンごとに同じ値を繰り返しますが、TANH関数は繰り返しません。値が大きくなるにつれて1に、小さくなるにつれて-1に近づいていきます。
詳しくはTAN関数の記事も参考にしてみてください。
実務での活用例
データの正規化(-1〜1へのマッピング)
TANH関数の「結果が-1から1に収まる」という特性を活かすと、大きさがバラバラなデータをスコアに変換できます。
たとえば、アンケートの評価差分(ポジティブ回答数 – ネガティブ回答数)をスコアに変換してみましょう。差分の値は項目によって大きくばらつきますが、TANH関数を通せば-1から1のスコアになります。
A列に評価差分、B列に次の式を入力します。
=TANH(A1)
| 評価差分(A列) | スコア(B列) | 解釈 |
|---|---|---|
| 50 | 1.00000 | 非常にポジティブ |
| 10 | 1.00000 | ポジティブ |
| 3 | 0.99505 | やや良い |
| 1 | 0.76159 | やや良い |
| 0 | 0.00000 | 中立 |
| -1 | -0.76159 | やや悪い |
| -5 | -0.99991 | ネガティブ |
| -20 | -1.00000 | 非常にネガティブ |
差分が大きくても小さくても、結果は-1から1に収まります。異なるスケールのデータを比較しやすくなりますね。
ただし、そのままだと差分が3を超えるとほぼ1に張り付いてしまいます。差分を調整係数で割ると感度を変えられますよ。
=TANH(A1/10)
この式なら、差分10でTANH値が約0.76になり、もう少し細かくスコアの差が見えるようになります。
スコアリングへの応用
TANH関数のスコアを0から100のスケールに変換することもできます。
=(TANH(A1/10)+1)/2*100
この式のポイントは3つです。
TANH(A1/10)で-1〜1のスコアを算出(10で割って感度を調整)+1で0〜2の範囲にシフト/2*100で0〜100のスケールに変換
これで、評価差分を0〜100のスコアに変換できます。レポートやダッシュボードで見やすくしたいときに試してみてください。
よくあるエラーと対処法
TANH関数でよくあるトラブルをまとめます。
| 症状 | 原因 | 対処法 |
|---|---|---|
| #VALUE! エラー | 引数に文字列を渡した | 数値またはセル参照を指定する |
| TAN関数と結果が違う | 関数を間違えている | TANは三角関数、TANHは双曲線関数。目的に合った方を使う |
| 結果が1や-1に張り付く | 入力値が大きすぎる | 調整係数で割る(例: TANH(x/10)) |
文字列を渡したとき
=TANH("abc")
結果は #VALUE! エラーです。引数には必ず数値を渡してください。セル参照の場合は、参照先が数値であることを確認しましょう。
結果が1に張り付くとき
=TANH(10)
結果は「0.99999…」で、ほぼ1です。TANH関数は入力が大きくなると急速に1に近づくため、差が見えにくくなることがあります。
このような場合は、入力値を調整係数で割ると改善できますよ。
=TANH(10/5)
結果は「0.96402…」になり、スコアの差がわかりやすくなります。
似た関数との違い・使い分け
| 関数 | 動作 | 引数 | 用途 |
|---|---|---|---|
| TANH | 双曲線正接を返す | 実数値 | 正規化・スコアリング |
| SINH | 双曲線正弦を返す | 実数値 | カテナリー曲線・物理計算 |
| COSH | 双曲線余弦を返す | 実数値 | カテナリー曲線のy座標 |
| TAN | 正接(タンジェント)を返す | 角度(ラジアン) | 三角関数・勾配計算 |
| ATANH | 逆双曲線正接を返す | -1〜1の実数値 | TANH値から元の値を逆算 |
| EXP | eのべき乗を返す | 指数 | 指数関数・成長率計算 |
SINH・COSH・TANHは双曲線関数の仲間です。三角関数のSIN・COS・TANに対応する関係ですね。
双曲線関数の間には次の関係が成り立ちます。
TANH(x) = SINH(x) / COSH(x)
COSH(x)² - SINH(x)² = 1
三角関数では TAN = SIN/COS ですが、双曲線関数でも TANH = SINH/COSH と同じ構造になっています。
まとめ
TANH関数は、指定した値の双曲線正接(ハイパボリックタンジェント)を返す関数です。
ポイントを整理します。
- 構文は
=TANH(値)で、引数は任意の実数値 - TAN関数と違い、ラジアン変換は不要
- 結果は必ず-1から1の範囲に収まる
- TANH(0)=0、TANH(1)=0.7616 が代表的な値
- 定義式は SINH(x)/COSH(x) で、EXP関数でも検算できる
- データの正規化やスコアリングに活用できる
まずは =TANH(1) で0.7616が返ることを確認してみてください。
