ExcelのACOTH関数の使い方|逆双曲線余接を求める方法

スポンサーリンク

「ExcelのACOTH関数って、どんなときに使うの?」と疑問に思う方は多いですよね。双曲線関数の名前自体がむずかしそうで、つい敬遠してしまいがちです。でも、引数の制約を知らずに使うと#NUM!エラーが出て手が止まってしまいます。

この記事では、ExcelのACOTH関数の基本から実践的な使い方までを丁寧に解説します。COTH関数との逆算デモやエラー回避テクニックもカバーしますよ。

ExcelのACOTH関数とは?

ACOTH関数は、双曲線余接(COTH)の逆関数にあたるExcelの数学関数です。

読み方は「アーク・コタンジェント・ハイパーボリック」です。日本語では「逆双曲線余接」とも呼ばれます。

ひとことで言うと、「COTHで変換された値を元に戻す」ための関数です。COTHが「入力から出力」への変換だとすると、ACOTHは「出力から入力」へ逆算する役割を担います。

対応バージョンはExcel 2013以降とMicrosoft 365です。

COTH関数との逆関数の関係

ACOTHを理解するには、まずCOTH関数との関係を押さえましょう。

COTH関数は双曲線余接(ハイパーボリック・コタンジェント)を返す関数です。たとえば=COTH(1)と入力すると、約1.3130が返ります。

ACOTH関数はこの逆の計算をします。=ACOTH(1.313035285)と入力すると、元の値「1」が返ってきますよ。

ACOTH(COTH(x)) = x が成り立つ

逆関数の関係をひとことで表すと、次の等式になります。

ACOTH(COTH(x)) = x

COTHで変換した結果をACOTHに渡すと、必ず元の値に戻ります。「行って帰ってくる」イメージですね。

この性質は、あとで紹介する逆算テーブルで実際に確認できます。

ACOTH関数の書き方(構文と引数)

基本構文

=ACOTH(数値)

引数は「数値」のひとつだけです。とてもシンプルな構文ですね。

引数の詳細

引数必須説明
数値はい逆双曲線余接を求めたい値。絶対値が1より大きい実数を指定

ACOTH関数の最大のポイントは引数の制約です。絶対値が1より大きい数値しか受け付けません。つまり、x > 1 または x < -1 の範囲だけが有効です。

-1から1の範囲(-1 <= x <= 1)を指定すると#NUM!エラーになります。

なぜこの制約があるのでしょうか。ACOTH関数の定義式にはLN((x+1)/(x-1))が含まれています。|x|が1以下だと分母がゼロになったり、対数の中身が負になったりして、実数の範囲では計算できないためです。

ACOTH関数の基本的な使い方

ここでは、COTH関数の出力値をACOTHで元に戻す「逆算テーブル」を作ってみましょう。

Excelで逆算テーブルを作る手順

次のようにセルを配置します。

セル内容数式
A2元の値1
B2COTHの結果=COTH(A2)
C2ACOTHで逆算=ACOTH(B2)

A列に元の値を入力し、B列でCOTH変換します。C列でACOTH逆算を行います。

代表的な値を入れた結果はこちらです。

元の値(x)COTH(x)ACOTH(COTH(x))
0.52.1639534140.5
11.3130352851
21.0373147202
31.0049698233
51.0000908045

ACOTH(COTH(x))で元の値が戻ることを確認

表のC列を見ると、すべてA列の元の値と一致していますよね。

=ACOTH(COTH(A2))

この数式をC列に入れるだけで、逆算が正しく機能していることを確認できます。COTHとACOTHがペアの関係であることが一目でわかりますよ。

COTHの戻り値はxが大きくなるほど1に近づく点も注目です。x=5のときCOTH(x)は約1.00009で、ほぼ1です。

ACOTH関数の実践的な活用例

定義式 (1/2)*LN((x+1)/(x-1)) をExcelで再現する

ACOTH関数の数学的な定義式は次のとおりです。

ACOTH(x) = (1/2) * LN((x+1)/(x-1))

この定義式をExcelのセル式で書き換えてみましょう。

=0.5*LN((A2+1)/(A2-1))

LN関数は自然対数(底がeの対数)を返す関数です。

ちょっとむずかしく見えますが、やっていることはシンプルです。「(x+1)/(x-1)の自然対数を取って、2で割る」だけですよ。

ACOTH関数の結果と完全一致を確認

実際にACOTH関数の結果と定義式の結果を比較してみましょう。

数値(x)=ACOTH(x)=0.5*LN((x+1)/(x-1))一致
20.5493061440.549306144Yes
30.3465735900.346573590Yes
50.2027325540.202732554Yes
100.1003353480.100335348Yes

すべての値で完全に一致していますね。ACOTH関数は内部でこの定義式と同じ計算を行っています。

定義式を知っておくと、ACOTH関数が使えない古い環境でも同じ計算を再現できるので便利です。

ATANH関数との数学的な関係

ACOTH関数はATANH関数(逆双曲線正接)と密接な関係があります。

数学的に、次の等式が成り立ちます。

ACOTH(x) = ATANH(1/x)   (|x| > 1のとき)

つまり、ACOTH(5)とATANH(1/5)は同じ値を返します。Excelで確認してみましょう。

数値(x)=ACOTH(x)=ATANH(1/x)一致
20.5493061440.549306144Yes
50.2027325540.202732554Yes
100.1003353480.100335348Yes

ATANH関数で代替できることを知っておくと、数式の書き方にバリエーションが広がりますよ。

ACOTH関数のよくあるエラーと対処法

ACOTH関数で発生しやすいエラーは2種類です。

#NUM!エラー

原因: 引数の絶対値が1以下の値を指定した場合に発生します。

=ACOTH(0.5)  → #NUM!エラー
=ACOTH(1)    → #NUM!エラー
=ACOTH(0)    → #NUM!エラー
=ACOTH(-1)   → #NUM!エラー

x=1やx=-1でもエラーになる点に注意してください。「1より大きい」であって「1以上」ではありません。

対処法: IF関数とABS関数(絶対値を返す関数)を組み合わせて事前チェックしましょう。

=IF(ABS(A2)>1, ACOTH(A2), "絶対値が1より大きい値を入力")

この数式なら、条件を満たさないときはメッセージを表示してエラーを回避できますよ。

#VALUE!エラー

原因: 引数に文字列など、数値として認識できないデータを指定した場合に発生します。

=ACOTH("abc")  → #VALUE!エラー

対処法: 引数のセルに数値が入っているか確認してください。ISNUMBER関数で事前チェックもできます。

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

よくある入力ミス:ACOT関数との混同

ACOT関数(逆余接)とACOTH関数(逆双曲線余接)は名前が似ていますが、まったく別の関数です。

関数分類引数の範囲戻り値
ACOT逆三角関数すべての実数0からπ(ラジアン)
ACOTH逆双曲線関数x> 1実数

ACOT関数は三角関数のコタンジェントの逆関数です。ACOTH関数は双曲線関数のコタンジェントの逆関数です。名前の末尾に「H」が付くかどうかで使い分けてくださいね。

ACOTH関数と関連する双曲線関数の使い分け

ACOTH関数と混同しやすい関数を比較表にまとめました。

関数分類引数の範囲戻り値の範囲用途
ACOTH逆双曲線関数x> 10を除く実数COTHの逆算
ACOSH逆双曲線関数1以上0以上の実数COSHの逆算
ATANH逆双曲線関数-1 < x < 1すべての実数TANHの逆算
COTH双曲線関数0以外y> 1双曲線余接の計算
COSH双曲線関数すべての実数1以上双曲線余弦の計算
CSCH双曲線関数0以外すべての実数双曲線余割の計算
TANH双曲線関数すべての実数-1 < y < 1双曲線正接の計算
SINH双曲線関数すべての実数すべての実数双曲線正弦の計算

ポイントは引数の範囲の違いです。ACOTHは「絶対値が1より大きい」、ATANHは「-1から1の間」と、ちょうど相補的(お互いの範囲を補い合う)な関係になっています。

逆双曲線関数のファミリーとしてはACOTH・ACOSH・ATANHの3つがよく使われます。それぞれCOTH・COSH・TANHの逆算に対応しているので、セットで覚えておくと迷いにくいですよ。

まとめ

ExcelのACOTH関数について解説しました。要点を振り返りましょう。

  • ACOTH関数はCOTH関数の逆関数で、=ACOTH(数値) と書く
  • 引数は絶対値が1より大きい実数のみ。|x| <= 1だと#NUM!エラーになる
  • 定義式は(1/2)*LN((x+1)/(x-1))で、Excelで再現して検算できる
  • ACOTH(x) = ATANH(1/x) の関係でATANH関数でも代替可能
  • ACOT関数(逆三角関数)とは名前が似ているだけで別の関数

双曲線関数ファミリーの他の関数もあわせてチェックすると、理解が深まりますよ。

Googleスプレッドシートでも同じACOTH関数が使えます。スプレッドシート版の解説はこちらの記事を参考にしてください。

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