スプレッドシートのACOTH関数の使い方|双曲線逆余接

スポンサーリンク

スプレッドシートで「双曲線逆余接(逆ハイパボリックコタンジェント)」を計算したいとき、どの関数を使えばいいか迷っていませんか?

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関数にできることをまとめると、次のとおりです。

  • COTH関数の結果から元の値を逆算する
  • ATANH関数と同じ結果をACOTH(x) = ATANH(1/x)で確認できる
  • LN関数を使った式で検算できる
  • 物理学・工学で双曲線関数の逆問題を解く

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 < 1TANH逆算・フィッシャー変換
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が返ることを確認してみてください。

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