スプレッドシートで「双曲線逆余接(逆ハイパボリックコタンジェント)」を計算したいとき、どの関数を使えばいいか迷っていませんか?
COTH関数の逆を求めたいけど、書き方がわからないですよね。
そんなときに使うのがACOTH関数です。=ACOTH(値) と書くだけで、双曲線逆余接をかんたんに求められます。
この記事では基本の書き方から、COTH関数との逆関数の関係、ATANH関数を使った検算方法、引数に-1から1の値を渡せない理由まで紹介します。
スプレッドシートのACOTH関数とは?
ACOTH関数(読み方: エーコタンエイチ、またはアークハイパボリックコタンジェント関数)は、指定した値の双曲線逆余接を返す関数です。名前の「A」は「Arc(逆)」を意味します。
たとえば =ACOTH(2) と入力すると「0.54930…」が返ります。これが2の双曲線逆余接の値です。
ACOTH関数はCOTH関数の逆関数にあたります。COTH(0.54930) が約2を返すので、ACOTH(2) は約0.54930を返すわけです。
ACOTH関数にできることをまとめると、次のとおりです。
NOTE
ACOTH関数はGoogleスプレッドシートの全バージョンで使えます。Excelとも完全に互換性があるので、ファイルのやり取りでも安心です。
ACOTH関数の書き方(構文と引数)
基本構文
=ACOTH(値)
カッコの中に、双曲線逆余接を求めたい数値を指定します。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 値 | 必須 | 双曲線逆余接を求めたい実数値(絶対値が1より大きい値) |
引数は1つだけです。ただし、絶対値が1より大きい値(x > 1 または x < -1)に制限されるので注意してください。-1から1の範囲の値を渡すとエラーになります。
TIP
ATANH関数は-1から1の範囲(両端除く)を受け付け、ASINH関数は引数に制限がありません。ACOTH関数は「|x| > 1」という、ATANHとちょうど逆の制限を持っています。
ACOTH関数の基本的な使い方
代表的な値でACOTH関数の動きを確認してみましょう。
正の値を渡す
=ACOTH(2)
結果は「0.54930…」です。
もう少し大きい値も見てみます。
=ACOTH(5)
結果は「0.20273…」です。値が大きくなるほど結果は0に近づいていきますよ。
1に近い値を渡す
=ACOTH(1.01)
結果は「2.65165…」です。1に近づくほど結果が急激に大きくなるのが特徴ですね。
負の値を渡す
=ACOTH(-2)
結果は「-0.54930…」です。ACOTH(2)の符号を反転した値になっています。
これはACOTH関数が「奇関数」だからです。ACOTH(-x) = -ACOTH(x) が常に成り立ちます。
まとめると
代表的な入力値と結果を一覧にまとめます。
| 数式 | 結果 | 備考 |
|---|---|---|
| =ACOTH(1.01) | 2.65165… | 1に近いと大きな値 |
| =ACOTH(1.5) | 0.80471… | 基本値 |
| =ACOTH(2) | 0.54930… | 基本値 |
| =ACOTH(5) | 0.20273… | 大きいと0に近づく |
| =ACOTH(10) | 0.10033… | さらに0に近づく |
| =ACOTH(-2) | -0.54930… | 奇関数(符号反転) |
| =ACOTH(-5) | -0.20273… | 奇関数(符号反転) |
値が大きくなるほど結果は0に近づき、1に近づくほど結果は正の無限大に発散します。
セル参照を使う
もちろんセル参照も使えます。A1セルに数値が入っていれば、次のように書きます。
=ACOTH(A1)
A列に複数の値を入れて、B列にACOTH関数を並べれば一括計算もできますよ。
COTH関数との逆関数の関係
ACOTH関数はCOTH関数の逆関数です。つまり、次の関係が成り立ちます。
ACOTH(COTH(x)) = x
COTH(ACOTH(x)) = x (|x|>1のとき)
実際にスプレッドシートで確認してみましょう。
| 数式 | 結果 |
|---|---|
| =COTH(1) | 1.31303… |
| =ACOTH(1.31303) | 1.00000… |
| =ACOTH(COTH(1)) | 1 |
COTH(1)の結果をACOTHに渡すと、元の「1」に戻ります。逆関数なので当然ですが、検算に便利ですよ。
ATANH関数との関係
ACOTH関数とATANH関数には、次の等価関係があります。
ACOTH(x) = ATANH(1/x) (|x|>1のとき)
つまり、ACOTH(2)とATANH(1/2)は同じ結果になります。実際に確認してみましょう。
| 数式 | 結果 |
|---|---|
| =ACOTH(2) | 0.54930… |
| =ATANH(1/2) | 0.54930… |
| =ACOTH(5) | 0.20273… |
| =ATANH(1/5) | 0.20273… |
どちらも同じ値ですね。ACOTH関数がない環境でも、ATANH(1/x)で代用できることを覚えておくと便利です。
TIP
この関係が成り立つ理由は、COTH(x) = 1/TANH(x) だからです。COTH関数がTANH関数の逆数なので、その逆関数同士にも「引数を逆数にする」関係が生まれます。
ACOTH関数の数学的な仕組み
定義式とLN関数での検算
ACOTH関数は数学的に次のように定義されています。
ACOTH(x) = (1/2) × LN((x+1) / (x-1))
ここでLNは自然対数(ネイピア数eを底とする対数)です。スプレッドシートではLN関数を使って同じ計算ができます。
=0.5*LN((A1+1)/(A1-1))
この式とACOTH(A1)は同じ結果を返します。A1に「2」を入れて確認してみましょう。
| 数式 | 結果 |
|---|---|
| =ACOTH(2) | 0.54930… |
| =0.5*LN((2+1)/(2-1)) | 0.54930… |
どちらも同じ値ですね。ACOTH関数の結果が正しいか不安なときは、LN関数を使った式で検算できます。
TIP
LN関数は自然対数を返す関数です。定義式の分母 (x-1) から、x=1 のとき分母が0になってしまう理由がわかりますね。これがACOTH関数の引数に1を渡せない理由です。
なぜ-1から1の値を引数に渡せないのか
定義式 (1/2) × LN((x+1)/(x-1)) を見ると理由がわかります。
- x=1 のとき: 分母が (1-1)=0 になり、ゼロで割ることになる
- x=-1 のとき: 分子が (-1+1)=0 になり、LN(0)=負の無限大
- x=0 のとき: (0+1)/(0-1)=-1 で、LN(-1)は定義できない
- -1 < x < 1 のとき: (x+1)/(x-1)が負の値になり、LNの引数に渡せない
このように、-1から1の範囲では数学的に計算が成り立たないため、ACOTH関数は|x|>1の値しか受け付けません。
よくあるエラーと対処法
ACOTH関数でよくあるトラブルをまとめます。
| 症状 | 原因 | 対処法 |
|---|---|---|
| #NUM! エラー | 引数の絶対値が1以下 | 絶対値が1より大きい値を指定する |
| #VALUE! エラー | 引数に文字列を渡した | 数値またはセル参照を指定する |
| #DIV/0! エラー | 引数に0を渡した | 0以外の値を指定する |
-1から1の範囲の値を渡したとき
=ACOTH(0.5)
結果は #NUM! エラーです。ACOTH関数は絶対値が1以下の値を引数に取れません。
-1から1の範囲の双曲線逆関数を計算したい場合は、ATANH関数を使ってください。
1または-1を渡したとき
=ACOTH(1)
結果は #NUM! エラーです。境界値の1と-1も受け付けません。
1に近い値なら問題なく計算できます。
=ACOTH(1.001)
結果は「3.80070…」です。1に限りなく近い値を渡すと、結果は非常に大きくなります。
0を渡したとき
=ACOTH(0)
結果は #NUM! エラーです。0も定義域の外なので計算できません。
文字列を渡したとき
=ACOTH("abc")
結果は #VALUE! エラーです。引数には必ず数値を渡してください。セル参照の場合は、参照先が数値であることを確認しましょう。
似た関数との違い・使い分け
| 関数 | 動作 | 引数の範囲 | 用途 | ||
|---|---|---|---|---|---|
| ACOTH | 双曲線逆余接を返す | ** | x | > 1** | COTH逆算 |
| ATANH | 双曲線逆正接を返す | -1 < x < 1 | TANH逆算・フィッシャー変換 | ||
| ASINH | 双曲線逆正弦を返す | 制限なし | SINH逆算・データ変換 | ||
| ACOSH | 双曲線逆余弦を返す | 1以上 | COSH逆算 | ||
| COTH | 双曲線余接を返す | 0以外 | ACOTH順方向の計算 |
ACOTH関数とATANH関数は「引数の範囲が逆」の関係にあります。
- ATANH: -1から1の範囲(|x| < 1)
- ACOTH: -1から1の範囲外(|x| > 1)
- ACOTH(x) = ATANH(1/x) で相互変換できる
どちらを使うべきかは、手元のデータが1より大きいか小さいかで判断してください。
まとめ
ACOTH関数は、指定した値の双曲線逆余接(逆ハイパボリックコタンジェント)を返す関数です。
ポイントを整理します。
- 構文は
=ACOTH(値)で、引数は絶対値が1より大きい値のみ - COTH関数の逆関数で、ACOTH(COTH(x))=x が成り立つ
- ATANH関数との関係: ACOTH(x) = ATANH(1/x)
- 定義式は (1/2)×LN((x+1)/(x-1)) で、LN関数で検算できる
- -1から1の範囲の値を渡すと#NUM!エラーになるので注意
まずは =ACOTH(2) で0.54930が返ることを確認してみてください。
