<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>双曲線正割 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/%e5%8f%8c%e6%9b%b2%e7%b7%9a%e6%ad%a3%e5%89%b2/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Thu, 04 Jun 2026 14:18:08 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>双曲線正割 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>スプレッドシートのIMSECH関数の使い方｜複素数の双曲線正割（ハイパーボリックセカント）を一発で計算</title>
		<link>https://mashukabu.com/spreadsheet-imsech-function/</link>
					<comments>https://mashukabu.com/spreadsheet-imsech-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Wed, 29 Apr 2026 11:24:26 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[IMSECH]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[双曲線正割]]></category>
		<category><![CDATA[複素数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6346</guid>

					<description><![CDATA[GoogleスプレッドシートのIMSECH関数の使い方を解説。複素数（a+bi）の双曲線正割（ハイパーボリックセカント）sech(z)=1/cosh(z) を一発で求める基本構文、虚数単位i/jの扱い、COMPLEX関数やIMCOSHとの連携、純虚数では sec(b) と同値になる関係、信号処理・電気工学・複素解析での活用例、よくあるエラー対処法まで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「スプレッドシートで複素数の双曲線セカント（sech）を計算したいけど、cosh(a+bi) を実部と虚部に展開してから逆数を取るのは大変&#8230;」</p>



<p class="wp-block-paragraph">スプレッドシートで複素関数を扱っていると、cosh(z) の逆数である双曲線正割 sech(z) が必要になる場面がありますよね。複素数の双曲線コサインを実部と虚部に分解する作業を毎回やるのは面倒です。最後に逆数を取って再び複素数の形に戻す手順も、手作業ではちょっと大変ですよね。</p>



<p class="wp-block-paragraph">そんなときに頼りになるのがGoogleスプレッドシートのIMSECH関数です。複素数を渡すだけで sech（1/cosh）を一発で返してくれるので、複素双曲線関数を使った数式が一気にすっきりしますよ。</p>



<p class="wp-block-paragraph">ExcelのIMSECH関数と完全互換なので、Excelファイルとやり取りする現場でも安心ですね。COMPLEX関数で作った複素数や、IMSUM・IMPRODUCTの演算結果からも、そのまま双曲線セカントを計算できます。</p>



<p class="wp-block-paragraph">この記事では、スプレッドシートのIMSECH関数の基本構文と実務での活用例を解説します。IMCOSH関数との関係や、純虚数を渡すと通常のセカント sec(b) と同値になる対応関係も整理しますよ。よくあるエラーと対処法もしっかり紹介していきますね。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">スプレッドシートのIMSECH関数とは？</a></li><li><a href="#toc2" tabindex="0">IMSECH関数の書き方（構文と引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の詳細</a></li></ol></li><li><a href="#toc5" tabindex="0">スプレッドシートのIMSECH関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">文字列で複素数を直接指定する</a></li><li><a href="#toc7" tabindex="0">セル参照で複素数を指定する</a></li><li><a href="#toc8" tabindex="0">COMPLEX関数と組み合わせる</a></li><li><a href="#toc9" tabindex="0">IMCOSH関数の逆数として書き換える</a></li><li><a href="#toc10" tabindex="0">度数からの変換と組み合わせる</a></li><li><a href="#toc11" tabindex="0">ARRAYFORMULAで複数行を一括処理する</a></li></ol></li><li><a href="#toc12" tabindex="0">IMSECH関数の実務活用例</a><ol><li><a href="#toc13" tabindex="0">活用例1: IMCOSHとの関係を検算する</a></li><li><a href="#toc14" tabindex="0">活用例2: 複素双曲線関数テーブルを作る</a></li><li><a href="#toc15" tabindex="0">活用例3: 伝送線路の特性で使う</a></li><li><a href="#toc16" tabindex="0">活用例4: 複素関数の値を可視化するシートを作る</a></li><li><a href="#toc17" tabindex="0">活用例5: 数値が大きくなる「極」の検出</a></li></ol></li><li><a href="#toc18" tabindex="0">IMSECH関数とCOMPLEX関数群の関係</a></li><li><a href="#toc19" tabindex="0">IMSECH関数のよくあるエラーと対処法</a><ol><li><a href="#toc20" tabindex="0">#NUM! エラー（複素数の形式エラー）</a></li><li><a href="#toc21" tabindex="0">#VALUE! エラー（引数の型エラー）</a></li><li><a href="#toc22" tabindex="0">結果が極端な値になる（極の近傍）</a></li><li><a href="#toc23" tabindex="0">結果の符号が想定と違う</a></li><li><a href="#toc24" tabindex="0">IFERRORでまとめてエラーを吸収する</a></li></ol></li><li><a href="#toc25" tabindex="0">IMSECH関数とExcelの互換性</a></li><li><a href="#toc26" tabindex="0">複素数関連の関数一覧</a></li><li><a href="#toc27" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのIMSECH関数とは？</span></h2>



<p class="wp-block-paragraph">GoogleスプレッドシートのIMSECH関数（イマジナリー・セカント・ハイパボリック関数）は、複素数の双曲線正割（ハイパーボリックセカント）を返す関数です。エンジニアリング関数（電気・物理・工学系の計算で使う関数群）のひとつに分類されますよ。</p>



<p class="wp-block-paragraph">読み方は「イマジナリー・セカント・ハイパボリック」または「アイエム・セック・エイチ」で、英語の「imaginary number（虚数）」の「secant hyperbolic（双曲線正割）」に由来します。複素数「a+bi」に対して、sech(a+bi) = 1/cosh(a+bi) を返してくれるのが役割ですね。</p>



<p class="wp-block-paragraph">そもそも複素数の双曲線正割とは、実数の sech（sech(x) = 1/cosh(x)）を複素数全体に拡張したものです。実部と虚部に分解した定義式は次のようになります。</p>



<pre class="wp-block-code"><code>cosh(a+bi) = cosh(a)cos(b) + i sinh(a)sin(b)
sech(a+bi) = 1 / cosh(a+bi)</code></pre>



<p class="wp-block-paragraph">cosh(a+bi) を求めてから逆数を取るというシンプルな構造ですね。実部だけの複素数（虚部0）を渡すと、通常の sech(a) と同じ結果になりますよ。</p>



<figure class="wp-block-table"><table><thead><tr><th>複素数（z）</th><th>IMSECH(z)の結果（概算）</th><th>備考</th></tr></thead><tbody><tr><td>0+0i</td><td>1</td><td>sech(0) = 1/cosh(0) = 1</td></tr><tr><td>1+0i</td><td>約 0.6481</td><td>sech(1) ≈ 0.6481</td></tr><tr><td>2+0i</td><td>約 0.2658</td><td>cosh(2) が大きくなる分0に近づく</td></tr><tr><td>1+1i</td><td>約 0.4983-0.5910i</td><td>cosh(1+i) の逆数</td></tr><tr><td>0+1i</td><td>約 1.8508</td><td>sec(1) と同値</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">IMSECH関数を使えば、この表の右側にある「複素数の双曲線セカント」をサクッと取り出せます。Excelとの互換性も完璧で、Excel 2013以降のすべてのバージョンに対応していますよ。</p>



<p class="wp-block-paragraph">複素数の双曲線正割は、伝送線路の特性インピーダンス計算・フィルタ伝達関数の評価・複素解析の学習教材・特殊関数の数値表など、複素双曲線関数が必要な場面で活躍する基礎パーツですね。</p>



<h2 class="wp-block-heading"><span id="toc2">IMSECH関数の書き方（構文と引数）</span></h2>



<h3 class="wp-block-heading"><span id="toc3">基本構文</span></h3>



<pre class="wp-block-code"><code>=IMSECH(複素数)</code></pre>



<p class="wp-block-paragraph">引数は1つだけで、必須です。</p>



<h3 class="wp-block-heading"><span id="toc4">引数の詳細</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>複素数（inumber）</td><td>必須</td><td>双曲線正割を求めたい複素数。文字列またはセル参照で指定する</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数には「&#8221;1+1i&#8221;」や「&#8221;1+1j&#8221;」のような複素数文字列を直接渡せます。COMPLEX関数（実数と虚数から複素数を作成する関数）の結果や、複素数が入ったセルの参照も指定できますよ。</p>



<p class="wp-block-paragraph">虚数単位は小文字の「i」または「j」のどちらでも受け付けます。数学では「i」、電気工学では「j」が使われる慣習ですね。IMSECH関数はどちらでも同じように動作してくれます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>戻り値は元の入力と同じ虚数単位で返されます。「1+1i」を渡せば「i」付きで、「1+1j」を渡せば「j」付きで返るので、表記の統一性も保たれますよ。</p></blockquote>



<p class="wp-block-paragraph">虚部の単位はラジアンです。度数（°）で角度を持っている場合は、RADIANS関数で先にラジアンに変換しておきましょう。</p>



<h2 class="wp-block-heading"><span id="toc5">スプレッドシートのIMSECH関数の基本的な使い方</span></h2>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/spreadsheet-sumif-function_01_data_sample-table.png" alt="01 data sample table" /></figure>



<h3 class="wp-block-heading"><span id="toc6">文字列で複素数を直接指定する</span></h3>



<p class="wp-block-paragraph">複素数文字列をそのまま引数に渡してみましょう。</p>



<pre class="wp-block-code"><code>=IMSECH(&quot;1+1i&quot;)</code></pre>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-imsech-function/02_formula_imsech-basic.png/">_images/spreadsheet-imsech-function/02_formula_imsech-basic.png</a></p>



<p class="wp-block-paragraph">結果は「0.4983370305&#8230;-0.5910838417&#8230;i」になります。手計算で確認すると cosh(1+i) = cosh(1)cos(1) + i sinh(1)sin(1) ≈ 0.8337 + 0.9889i で、その逆数を取ると約 0.4983 − 0.5910i なので、計算が合っていますね。</p>



<p class="wp-block-paragraph">実部だけの複素数（虚部0）を渡すと、通常の双曲線セカントと同じ結果になります。</p>



<pre class="wp-block-code"><code>=IMSECH(&quot;1+0i&quot;)</code></pre>



<p class="wp-block-paragraph">結果は約「0.6481」です。sech(1) = 1/cosh(1) ≈ 1/1.5431 ≈ 0.6481 という基本的な値が返ってきますね。</p>



<p class="wp-block-paragraph">虚部だけの純虚数を渡すと、通常のセカント（sec）と同じ値になります。</p>



<pre class="wp-block-code"><code>=IMSECH(&quot;0+1i&quot;)</code></pre>



<p class="wp-block-paragraph">結果は約「1.8508」になります。sech(i) = 1/cosh(i) = 1/cos(1) = sec(1) ≈ 1.8508 なので、双曲線関数と三角関数が「実部と虚部を入れ替える」関係でつながっているのが分かりますね。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/03_result_imsech-basic.png" alt="03 result imsech basic" /></figure>



<h3 class="wp-block-heading"><span id="toc7">セル参照で複素数を指定する</span></h3>



<p class="wp-block-paragraph">実務ではセルに入った複素数を扱う場面が多いですよね。A2に「2+1i」が入っている場合は次のように書きます。</p>



<pre class="wp-block-code"><code>=IMSECH(A2)</code></pre>



<p class="wp-block-paragraph">結果は約「0.1512-0.2270i」になります。セル参照を渡すだけで、入っている複素数の双曲線セカントを取り出せますよ。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/04_result_imsech-celref.png" alt="04 result imsech celref" /></figure>



<h3 class="wp-block-heading"><span id="toc8">COMPLEX関数と組み合わせる</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-complex-function/">COMPLEX関数</a>で作った複素数の双曲線セカントを、その場で計算することもできます。</p>



<pre class="wp-block-code"><code>=IMSECH(COMPLEX(1, 1))</code></pre>



<p class="wp-block-paragraph">結果は約「0.4983-0.5910i」、つまり「IMSECH(&#8220;1+1i&#8221;)」と同じですね。COMPLEX(1, 1)が内部で「1+1i」を作り、IMSECH関数がそのsechを返してくれます。</p>



<p class="wp-block-paragraph">実部と虚部がセルに分かれているデータを扱うときに便利な書き方ですよ。</p>



<h3 class="wp-block-heading"><span id="toc9">IMCOSH関数の逆数として書き換える</span></h3>



<p class="wp-block-paragraph">IMSECH関数は定義上、IMDIV関数（複素数の割り算）とIMCOSH関数（複素数のcosh）を組み合わせても表現できます。</p>



<pre class="wp-block-code"><code>=IMSECH(&quot;1+1i&quot;)
=IMDIV(&quot;1&quot;, IMCOSH(&quot;1+1i&quot;))</code></pre>



<p class="wp-block-paragraph">どちらも結果は同じ約「0.4983-0.5910i」になりますね。IMSECH関数は内部で同じ計算をしてくれるので、わざわざIMDIVとIMCOSHを書く必要はありません。読みやすさ・タイプ量・エラーの起きにくさのどれを取ってもIMSECHの方が有利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc10">度数からの変換と組み合わせる</span></h3>



<p class="wp-block-paragraph">虚部が度数（°）で与えられているときは、RADIANS関数でラジアンに直してから渡します。</p>



<pre class="wp-block-code"><code>=IMSECH(COMPLEX(1, RADIANS(30)))</code></pre>



<p class="wp-block-paragraph">A列の度数を一気にラジアンに変換してから処理したい場合は、ARRAYFORMULA関数（数式を範囲全体に展開する関数）を併用すると便利ですね。</p>



<h3 class="wp-block-heading"><span id="toc11">ARRAYFORMULAで複数行を一括処理する</span></h3>



<p class="wp-block-paragraph">複素数のリストから一気に双曲線セカントの列を作りたい場面もありますよね。そんなときはARRAYFORMULA関数と組み合わせます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IMSECH(A2:A10))</code></pre>



<p class="wp-block-paragraph">A列に並んだ複素数から、対応する sech の値をB列に一発で展開できますよ。複素双曲線関数のテーブルを作るときに重宝しますね。</p>



<h2 class="wp-block-heading"><span id="toc12">IMSECH関数の実務活用例</span></h2>



<h3 class="wp-block-heading"><span id="toc13">活用例1: IMCOSHとの関係を検算する</span></h3>



<p class="wp-block-paragraph">複素数の双曲線セカントは sech(z) = 1/cosh(z) という定義そのままなので、IMCOSH関数とIMPRODUCT関数を使って検算できます。</p>



<p class="wp-block-paragraph">A2に「1.5+0.7i」が入っているとします。</p>



<pre class="wp-block-code"><code>B2: =IMSECH(A2)                       ← sechを直接計算
C2: =IMCOSH(A2)                       ← coshを計算
D2: =IMPRODUCT(B2, C2)                ← B2とC2の積（≈ 1+0i のはず）
E2: =IMSUB(D2, &quot;1&quot;)                   ← D2と1の差（≈ 0+0i のはず）</code></pre>



<p class="wp-block-paragraph">D2が「ほぼ 1+0i」、E2が「ほぼ 0+0i」になっていれば、IMSECH関数が定義どおり動いている証拠ですね。シート上で自動チェックを仕込んでおくと、入力ミスにも気付きやすくなりますよ。</p>



<h3 class="wp-block-heading"><span id="toc14">活用例2: 複素双曲線関数テーブルを作る</span></h3>



<p class="wp-block-paragraph">複素双曲線関数の挙動を学習するときは、IMSINH・IMCOSH・IMTANH・IMSECH・IMCSCH・IMCOTHを並べた一覧表があると便利ですよね。</p>



<pre class="wp-block-code"><code>A2: 0.5+0.5i
B2: =IMSINH(A2)       ← sinh
C2: =IMCOSH(A2)       ← cosh
D2: =IMTANH(A2)       ← tanh
E2: =IMSECH(A2)       ← sech
F2: =IMCSCH(A2)       ← cosech
G2: =IMCOTH(A2)       ← coth</code></pre>



<p class="wp-block-paragraph">A列に複素数を並べておけば、複素双曲線関数の値を一気に俯瞰できます。複素解析の学習教材として、教科書の例題を確認するのにぴったりですね。</p>



<h3 class="wp-block-heading"><span id="toc15">活用例3: 伝送線路の特性で使う</span></h3>



<p class="wp-block-paragraph">電気工学の伝送線路解析では、<code>sech(γl)</code> という形（γ: 伝搬定数、l: 線路長）が登場します。γ = α + jβ と複素数で与えられるので、IMSECH関数を使えばシート上で素直に評価できますよ。</p>



<pre class="wp-block-code"><code>A2: =COMPLEX(0.05, 1.2, &quot;j&quot;)    ← γl = 0.05+1.2j（仮の値）
B2: =IMSECH(A2)                 ← sech(γl)
C2: =IMABS(B2)                  ← |sech(γl)|（減衰量の指標）
D2: =IMARGUMENT(B2)             ← arg sech(γl)（位相）</code></pre>



<p class="wp-block-paragraph">電気工学の慣習に合わせて虚数単位を「j」にしたい場合は、COMPLEX関数の第3引数で指定できますね。教科書の例題を再現する用途に向いています。</p>



<h3 class="wp-block-heading"><span id="toc16">活用例4: 複素関数の値を可視化するシートを作る</span></h3>



<p class="wp-block-paragraph">複素関数の挙動を可視化したいときは、x = -3〜3 を細かく刻み、それぞれに IMSECH を適用してから絶対値や実部・虚部を別列に取り出します。</p>



<pre class="wp-block-code"><code>A2: -3
A3: =A2+0.1                      ← 0.1刻みで増やす
B2: =IMSECH(COMPLEX(A2, 0.5))    ← 虚部固定でsechを評価
C2: =IMREAL(B2)                  ← 実部
D2: =IMAGINARY(B2)               ← 虚部
E2: =IMABS(B2)                   ← 絶対値</code></pre>



<p class="wp-block-paragraph">C列〜E列をグラフ化すれば、IMSECHの実部・虚部・絶対値の振る舞いが一目で分かりますね。複素双曲線関数の学習用シートとして再利用しやすい形です。</p>



<h3 class="wp-block-heading"><span id="toc17">活用例5: 数値が大きくなる「極」の検出</span></h3>



<p class="wp-block-paragraph">cosh(z) = 0 となる点（z = i(π/2 + nπ)）の近くでは、sech(z) は無限大に発散します。IMABS関数で絶対値を測れば、数値計算上の不安定領域を検出できますよ。</p>



<pre class="wp-block-code"><code>A2: =COMPLEX(0, 1.5708)          ← ≈ i·π/2
B2: =IMSECH(A2)                  ← sech(iπ/2) は理論上∞
C2: =IMABS(B2)                   ← 巨大な値が出る
D2: =IF(C2&gt;1E10, &quot;極の近傍&quot;, &quot;OK&quot;)</code></pre>



<p class="wp-block-paragraph">D列で警告を出しておくと、伝達関数の評価で「危険な点」をひと目で識別できますね。</p>



<h2 class="wp-block-heading"><span id="toc18">IMSECH関数とCOMPLEX関数群の関係</span></h2>



<p class="wp-block-paragraph">複素数を扱う関数群の中で、IMSECH関数の位置づけを整理しておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>入力</th><th>出力</th><th>役割</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-complex-function/">COMPLEX</a></td><td>実数 a, b</td><td>複素数 a+bi</td><td>複素数を作る</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imreal-function/">IMREAL</a></td><td>複素数 a+bi</td><td>実数 a</td><td>実部を取り出す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imaginary-function/">IMAGINARY</a></td><td>複素数 a+bi</td><td>実数 b</td><td>虚部を取り出す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imabs-function/">IMABS</a></td><td>複素数 a+bi</td><td>実数 √(a²+b²)</td><td>大きさを取り出す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imargument-function/">IMARGUMENT</a></td><td>複素数 a+bi</td><td>実数 atan2(b,a)</td><td>偏角を取り出す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imcosh-function/">IMCOSH</a></td><td>複素数 z</td><td>複素数 cosh(z)</td><td>双曲線コサインを計算する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imsinh-function/">IMSINH</a></td><td>複素数 z</td><td>複素数 sinh(z)</td><td>双曲線サインを計算する</td></tr><tr><td>IMSECH</td><td>複素数 z</td><td>複素数 1/cosh(z)</td><td>双曲線セカントを計算する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imcsch-function/">IMCSCH</a></td><td>複素数 z</td><td>複素数 1/sinh(z)</td><td>双曲線コセカントを計算する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imsec-function/">IMSEC</a></td><td>複素数 z</td><td>複素数 1/cos(z)</td><td>三角のセカントを計算する</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">IMSECHは「複素数から複素数を計算する」役割です。出力もそのまま複素数なので、IMSUMやIMPRODUCTにそのまま渡してさらに計算を続けられますよ。</p>



<p class="wp-block-paragraph">たとえば sech(z) = 1/cosh(z) を IMDIV と IMCOSH で代用すると、こう書けます。</p>



<pre class="wp-block-code"><code>=IMSECH(&quot;1+1i&quot;)
=IMDIV(&quot;1&quot;, IMCOSH(&quot;1+1i&quot;))</code></pre>



<p class="wp-block-paragraph">どちらも結果は約「0.4983-0.5910i」で同じですね。ただしIMSECHの方が読みやすく、タイプ量も少ないので、特別な理由がなければIMSECHを使う方が無難です。</p>



<p class="wp-block-paragraph">三角版のセカント（1/cos(z)）が必要な場合は、専用の<a href="https://mashukabu.com/spreadsheet-imsec-function/">IMSEC関数</a>を使うと意図が明確になりますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>IMSECとIMSECHは「実部と虚部を入れ替える」と互いに値が一致する関係があります。具体的には、純虚数 z=bi を渡したとき IMSECH(0+bi) = sec(b) になり、逆に IMSEC(0+bi) = sech(b) になります。三角と双曲線の対応を覚えておくと、検算が楽になりますよ。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc19">IMSECH関数のよくあるエラーと対処法</span></h2>



<h3 class="wp-block-heading"><span id="toc20">#NUM! エラー（複素数の形式エラー）</span></h3>



<p class="wp-block-paragraph">複素数として認識できない文字列を渡したときに発生します。虚数単位が大文字になっていたり、i・j以外の文字を使っている場合が典型例ですよ。</p>



<pre class="wp-block-code"><code>=IMSECH(&quot;1+1I&quot;)    → #NUM!（大文字のIは不可）
=IMSECH(&quot;1+1k&quot;)    → #NUM!（i・j以外は不可）
=IMSECH(&quot;１+１i&quot;)  → #NUM!（全角文字は不可）</code></pre>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/05_error_num-value.png" alt="05 error num value" /></figure>



<p class="wp-block-paragraph">対処法は、複素数文字列を必ず半角の「a+bi」または「a+bj」の形式にすることです。虚数単位は小文字限定なので、CapsLockがオンになっていないか確認してくださいね。</p>



<p class="wp-block-paragraph">スペースが入っている場合（例: <code>"1 + 1i"</code>）も認識できないことがあるので、余計な空白を除いておくと安心です。</p>



<h3 class="wp-block-heading"><span id="toc21">#VALUE! エラー（引数の型エラー）</span></h3>



<p class="wp-block-paragraph">引数に論理値や、複素数として解釈できない値を渡したときに発生します。</p>



<pre class="wp-block-code"><code>=IMSECH(TRUE)   → #VALUE!（論理値は不可）
=IMSECH(#N/A)   → #N/A（エラー値はそのまま伝播）</code></pre>



<p class="wp-block-paragraph">対処法は、引数を必ず複素数文字列または数値、もしくは複素数を返す関数の結果として渡すことです。他システムからコピーした値はテキスト扱いになっていることがあるので、<code>=ISTEXT(A2)</code> や <code>=ISNUMBER(A2)</code> でチェックしておくと安心ですよ。</p>



<h3 class="wp-block-heading"><span id="toc22">結果が極端な値になる（極の近傍）</span></h3>



<p class="wp-block-paragraph">cosh(z) = 0 となる点（z = i(π/2 + nπ)）の近くでは、sech(z) の絶対値が爆発的に大きくなります。</p>



<pre class="wp-block-code"><code>=IMSECH(&quot;0+1.5707963267948i&quot;)   → 約 1.6×10^16（理論値は∞）</code></pre>



<p class="wp-block-paragraph">対処法は、入力値が極の近くにないか事前にチェックすることです。<code>=IF(IMABS(IMCOSH(A2))<1E-10, "極の近傍", IMSECH(A2))</code> のように、cosh の絶対値が小さすぎるときは別処理に分岐させると安全ですね。</p>



<h3 class="wp-block-heading"><span id="toc23">結果の符号が想定と違う</span></h3>



<p class="wp-block-paragraph">複素数の双曲線正割は、実部と虚部の符号が cosh の符号と「逆数の関係」で決まります。「なぜマイナスになるのか」と迷ったら、IMCOSH関数で先に cosh を確認してみましょう。</p>



<pre class="wp-block-code"><code>=IMCOSH(&quot;2+3i&quot;)          ← 元のcoshを確認
=IMSECH(&quot;2+3i&quot;)          ← sech（IMCOSHの逆数）</code></pre>



<p class="wp-block-paragraph">cosh(z) の実部・虚部の符号と、sech の符号が「逆数の関係」になっているかをチェックすると原因が見えてきますよ。</p>



<h3 class="wp-block-heading"><span id="toc24">IFERRORでまとめてエラーを吸収する</span></h3>



<p class="wp-block-paragraph">入力データの信頼性が低い場合は、IFERROR関数（エラー時に代替値を返す関数）で包んでおくとシート全体の集計が止まりません。</p>



<pre class="wp-block-code"><code>=IFERROR(IMSECH(A2), &quot;形式エラー&quot;)</code></pre>



<p class="wp-block-paragraph">エラー時にメッセージを返すようにしておけば、安心して大量データに適用できますよ。</p>



<h2 class="wp-block-heading"><span id="toc25">IMSECH関数とExcelの互換性</span></h2>



<p class="wp-block-paragraph">GoogleスプレッドシートのIMSECH関数は、ExcelのIMSECH関数と仕様が完全に一致しています。構文・引数・戻り値の形式・エラー条件まで同じですよ。</p>



<p class="wp-block-paragraph">ExcelファイルをGoogleスプレッドシートで開いてもIMSECH関数はそのまま動作します。逆にスプレッドシートで作った数式をExcelで開いても問題ありませんね。</p>



<p class="wp-block-paragraph">ExcelのIMSECH関数は、Excel 2013以降のすべてのバージョンで利用できます。Microsoft 365、Excel for Mac、Excel Online でも同じように使えますよ。Excel 2010以前のバージョンとファイルを共有する予定がある場合は、IMDIV・IMCOSHの組み合わせで代替する必要があるので、お使いのバージョンが対応しているか確認しておきましょう。</p>



<h2 class="wp-block-heading"><span id="toc26">複素数関連の関数一覧</span></h2>



<p class="wp-block-paragraph">IMSECH関数と一緒に使うことが多い、複素数関連の関数をまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>機能</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-complex-function/">COMPLEX</a></td><td>実数と虚数から複素数を作成する</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imreal-function/">IMREAL</a></td><td>複素数の実数係数を返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imaginary-function/">IMAGINARY</a></td><td>複素数の虚数係数を返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imabs-function/">IMABS</a></td><td>複素数の絶対値（大きさ）を返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imargument-function/">IMARGUMENT</a></td><td>複素数の偏角（角度）をラジアンで返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imconjugate-function/">IMCONJUGATE</a></td><td>共役複素数を返す</td></tr><tr><td>IMSUM</td><td>複素数の合計（足し算）を返す</td></tr><tr><td>IMSUB</td><td>複素数の差（引き算）を返す</td></tr><tr><td>IMPRODUCT</td><td>複素数の積（掛け算）を返す</td></tr><tr><td>IMDIV</td><td>複素数の商（割り算）を返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-impower-function/">IMPOWER</a></td><td>複素数のべき乗を返す</td></tr><tr><td>IMSQRT</td><td>複素数の平方根を返す</td></tr><tr><td>IMEXP</td><td>複素数の指数関数を返す</td></tr><tr><td>IMLN</td><td>複素数の自然対数を返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imcosh-function/">IMCOSH</a></td><td>複素数のcoshを返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imsinh-function/">IMSINH</a></td><td>複素数のsinhを返す</td></tr><tr><td>IMSECH</td><td>複素数の双曲線セカント（sech）を返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imcsch-function/">IMCSCH</a></td><td>複素数の双曲線コセカント（cosech）を返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imsec-function/">IMSEC</a></td><td>複素数の三角セカント（sec）を返す</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">IMSECH関数は、これら複素数関数群の中で「双曲線セカント（sech）を計算する」役割を担います。COMPLEXで作り、IMSECHで sech を取り、IMABS・IMARGUMENTで絶対値と偏角を確認するのが基本パターンですね。</p>



<h2 class="wp-block-heading"><span id="toc27">まとめ</span></h2>



<p class="wp-block-paragraph">GoogleスプレッドシートのIMSECH関数は、複素数の双曲線正割（1/cosh(z)）を返す関数です。伝送線路の特性、フィルタ伝達関数の評価、複素解析の学習教材、特殊関数の数値表など、複素双曲線関数が必要な場面で欠かせない関数ですよ。</p>



<ul class="wp-block-list"><li>構文は <code>=IMSECH(複素数)</code> で引数は1つだけ必須</li><li>「a+bi」を渡すと sech(a+bi) = 1/cosh(a+bi) が返る</li><li>「a+bj」のような工学系表記もそのまま受け付ける</li><li>虚部の単位はラジアン（度数の場合はRADIANS関数で変換）</li><li>内部的には cosh(a+bi) = cosh(a)cos(b) + i sinh(a)sin(b) の逆数</li><li>COMPLEX関数の結果やセル参照、複素数演算の結果からsechを計算できる</li><li>IMCOSHとIMDIVの組み合わせと結果は同じだが、IMSECHの方が読みやすい</li><li>純虚数 0+bi の場合は通常のセカント sec(b) と同値</li><li>実数 a+0i の場合は通常の sech(a) と同値</li><li>極（cosh(z)=0、つまり純虚数 z=i(π/2+nπ) の近傍）では絶対値が爆発するので注意</li><li>ARRAYFORMULAで複数の複素数を一括処理できる</li><li>大文字の「I」「J」や全角文字、i・j以外の単位は #NUM! エラー</li><li>引数に論理値を渡すと #VALUE! エラー</li><li>ExcelのIMSECH関数と完全互換（Excel 2013以降）</li></ul>



<p class="wp-block-paragraph">複素数の双曲線正割が必要になったら、IMSECH関数の出番ですよ。COMPLEX関数で複素数を作り、IMSECHでsechを取り、IMABS・IMARGUMENT・IMCOSHで結果を検算する流れで、エンジニアリング系のシートを軽快に組み立ててみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-imsech-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのSECH関数の使い方｜双曲線正割（ハイパボリックセカント）を1関数で求める</title>
		<link>https://mashukabu.com/spreadsheet-sech-function/</link>
					<comments>https://mashukabu.com/spreadsheet-sech-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 26 Mar 2026 11:44:27 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[COSH関数]]></category>
		<category><![CDATA[SECH]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[双曲線正割]]></category>
		<category><![CDATA[双曲線関数]]></category>
		<category><![CDATA[数学関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=5301</guid>

					<description><![CDATA[GoogleスプレッドシートのSECH関数の使い方を初心者向けに解説。双曲線正割（ハイパボリックセカント）を返す関数で、COSH関数との逆数関係やSEC関数との違い、出力が0から1に収まる特性、双曲線正割分布での活用例まで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">スプレッドシートで「双曲線正割（ハイパボリックセカント）」を計算したいけれど、どの関数を使えばいいか迷っていませんか？</p>



<p class="wp-block-paragraph">双曲線関数のなかでもセカント系はなじみが薄くて、書き方がわからないですよね。</p>



<p class="wp-block-paragraph">そんなときに使うのが <strong>SECH関数</strong> です。<code>=SECH(値)</code> と書くだけで、双曲線正割をかんたんに求められます。数学的には <a href="https://mashukabu.com/spreadsheet-cosh-function/">COSH関数</a> の逆数にあたる関数ですよ。</p>



<p class="wp-block-paragraph">この記事では基本の書き方から、COSH関数との関係、<a href="https://mashukabu.com/spreadsheet-sec-function/">SEC関数</a> との違い、出力が0から1に収まる特性、双曲線正割分布の計算例まで順番に紹介します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">スプレッドシートのSECH関数とは？</a></li><li><a href="#toc2" tabindex="0">SECH関数の書き方（構文と引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の説明</a></li></ol></li><li><a href="#toc5" tabindex="0">SECH関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">0を渡す</a></li><li><a href="#toc7" tabindex="0">正の値を渡す</a></li><li><a href="#toc8" tabindex="0">負の値を渡す</a></li><li><a href="#toc9" tabindex="0">代表的な入力と結果を一覧でチェック</a></li><li><a href="#toc10" tabindex="0">セル参照を使う</a></li></ol></li><li><a href="#toc11" tabindex="0">SECH関数の数学的な仕組み</a><ol><li><a href="#toc12" tabindex="0">定義式とCOSH関数との関係</a></li><li><a href="#toc13" tabindex="0">出力が0から1に収まる特性</a></li></ol></li><li><a href="#toc14" tabindex="0">SEC関数との違い</a></li><li><a href="#toc15" tabindex="0">実務での活用例</a><ol><li><a href="#toc16" tabindex="0">双曲線正割分布の確率密度を求める</a></li><li><a href="#toc17" tabindex="0">COSH関数の逆数として検算に使う</a></li><li><a href="#toc18" tabindex="0">ソリトン解・カテナリーモデルの計算に使う</a></li></ol></li><li><a href="#toc19" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc20" tabindex="0">文字列を渡したとき</a></li><li><a href="#toc21" tabindex="0">引数が大きいときの挙動</a></li></ol></li><li><a href="#toc22" tabindex="0">似た関数との違い・使い分け</a></li><li><a href="#toc23" tabindex="0">よくある質問</a><ol><li><a href="#toc24" tabindex="0">SECH関数とSEC関数は何が違いますか？</a></li><li><a href="#toc25" tabindex="0">SECH関数で #NUM! エラーが出ました。どう対処しますか？</a></li><li><a href="#toc26" tabindex="0">SECH(0)の結果がなぜ1になるのですか？</a></li><li><a href="#toc27" tabindex="0">SECH関数は実務でどのような場面で使いますか？</a></li><li><a href="#toc28" tabindex="0">SECH関数はExcelでも使えますか？</a></li></ol></li><li><a href="#toc29" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのSECH関数とは？</span></h2>



<p class="wp-block-paragraph">SECH関数（読み方: ハイパボリックセカント関数）は、<strong>指定した値の双曲線正割を返す関数</strong> です。名前は英語の「Hyperbolic Secant」を短くしたもので、数学記号では sech と表記します。</p>



<p class="wp-block-paragraph">たとえば <code>=SECH(0)</code> と入力すると「1」が返ります。これが「0の双曲線正割」の値です。</p>



<p class="wp-block-paragraph">双曲線正割は、<a href="https://mashukabu.com/spreadsheet-cosh-function/">COSH関数</a> の逆数として定義されます。つまり <code>SECH(x) = 1/COSH(x)</code> の関係ですね。<a href="https://mashukabu.com/spreadsheet-sec-function/">SEC関数</a> がCOS関数の逆数だったのと同じ発想です。</p>



<p class="wp-block-paragraph">SECH関数にできることをまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>指定した値の双曲線正割を1関数で求められる</li><li>COSH関数の逆数として検算に使える</li><li>出力が0から1の範囲に収まる特性を活かした計算ができる</li><li>物理学・統計学の計算（双曲線正割分布など）に活用できる</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>SECH関数はGoogleスプレッドシートの全バージョンで利用できます。Excelとも完全互換なので、ファイルのやり取りでも安心ですよ。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc2">SECH関数の書き方（構文と引数）</span></h2>



<h3 class="wp-block-heading"><span id="toc3">基本構文</span></h3>



<pre class="wp-block-code"><code>=SECH(値)</code></pre>



<p class="wp-block-paragraph">カッコの中に、双曲線正割を求めたい数値を指定します。</p>



<h3 class="wp-block-heading"><span id="toc4">引数の説明</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>値</td><td>必須</td><td>双曲線正割を求めたい実数値</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数は1つだけです。<a href="https://mashukabu.com/spreadsheet-sec-function/">SEC関数</a> と違って、ラジアンへの変換は不要です。そのまま数値を渡せばOKですよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>SEC関数は引数に「角度（ラジアン）」を取りますが、SECH関数は「任意の実数値」を取ります。RADIANS関数（角度をラジアンに変換する関数）での変換は必要ありません。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc5">SECH関数の基本的な使い方</span></h2>



<p class="wp-block-paragraph">代表的な値で、SECH関数の動きを確認していきましょう。0・正の値・負の値の3パターンを押さえれば、応用にもすぐ進めます。</p>



<h3 class="wp-block-heading"><span id="toc6">0を渡す</span></h3>



<pre class="wp-block-code"><code>=SECH(0)</code></pre>



<p class="wp-block-paragraph">結果は「1」です。SECH(0)=1 はSECH関数の <strong>最大値</strong> にあたります。<a href="https://mashukabu.com/spreadsheet-cosh-function/">COSH関数</a> ではCOSH(0)=1が最小値でしたが、その逆数なのでSECH(0)=1が最大値になるわけですね。</p>



<h3 class="wp-block-heading"><span id="toc7">正の値を渡す</span></h3>



<pre class="wp-block-code"><code>=SECH(1)</code></pre>



<p class="wp-block-paragraph">結果は「0.64805&#8230;」です。</p>



<p class="wp-block-paragraph">もう少し大きい値も見てみましょう。</p>



<pre class="wp-block-code"><code>=SECH(2)</code></pre>



<p class="wp-block-paragraph">結果は「0.26580&#8230;」です。値が大きくなるほど、結果は急激に0に近づいていきます。<a href="https://mashukabu.com/spreadsheet-cosh-function/">COSH関数</a> が指数関数的に増大するため、その逆数も同じスピードで縮んでいくわけですね。</p>



<h3 class="wp-block-heading"><span id="toc8">負の値を渡す</span></h3>



<pre class="wp-block-code"><code>=SECH(-1)</code></pre>



<p class="wp-block-paragraph">結果は「0.64805&#8230;」です。SECH(1)とまったく同じ値になっていますよ。</p>



<p class="wp-block-paragraph">これはSECH関数が「偶関数」だからです。SECH(-x) = SECH(x) が常に成り立ちます。元になる<a href="https://mashukabu.com/spreadsheet-cosh-function/">COSH関数</a> も偶関数（左右対称な関数）なので、その逆数も偶関数になります。</p>



<h3 class="wp-block-heading"><span id="toc9">代表的な入力と結果を一覧でチェック</span></h3>



<p class="wp-block-paragraph">ここまでの結果と、追加の値を一覧にまとめておきます。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>備考</th></tr></thead><tbody><tr><td>=SECH(0)</td><td>1</td><td>最大値（原点が1）</td></tr><tr><td>=SECH(0.5)</td><td>0.88681&#8230;</td><td>なだらかに減少</td></tr><tr><td>=SECH(1)</td><td>0.64805&#8230;</td><td>基本値</td></tr><tr><td>=SECH(2)</td><td>0.26580&#8230;</td><td>0に近づく</td></tr><tr><td>=SECH(3)</td><td>0.09932&#8230;</td><td>さらに急減</td></tr><tr><td>=SECH(-1)</td><td>0.64805&#8230;</td><td>偶関数（正の値と同じ）</td></tr><tr><td>=SECH(-2)</td><td>0.26580&#8230;</td><td>偶関数（正の値と同じ）</td></tr><tr><td>=SECH(5)</td><td>0.01347&#8230;</td><td>ほぼ0</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">結果は常に <strong>0より大きく1以下</strong> に収まります。SECH(0)=1が最大値で、入力の絶対値が大きくなるほど結果は0に近づきますよ。</p>



<h3 class="wp-block-heading"><span id="toc10">セル参照を使う</span></h3>



<p class="wp-block-paragraph">もちろんセル参照も使えます。A1セルに数値が入っていれば、次のように書くだけです。</p>



<pre class="wp-block-code"><code>=SECH(A1)</code></pre>



<p class="wp-block-paragraph">A列に複数の値を入れて、B列にSECH関数を並べれば一括計算もできますよ。グラフ化したいときにも便利な書き方です。</p>



<h2 class="wp-block-heading"><span id="toc11">SECH関数の数学的な仕組み</span></h2>



<h3 class="wp-block-heading"><span id="toc12">定義式とCOSH関数との関係</span></h3>



<p class="wp-block-paragraph">SECH関数は数学的に次のように定義されています。</p>



<pre class="wp-block-code"><code>SECH(x) = 1 / COSH(x) = 2 / (e^x + e^(-x))</code></pre>



<p class="wp-block-paragraph">ここで e はネイピア数（約2.71828）です。<a href="https://mashukabu.com/spreadsheet-cosh-function/">COSH関数</a> の定義 <code>(e^x + e^(-x))/2</code> を逆数にした形ですね。</p>



<p class="wp-block-paragraph">スプレッドシートでは <a href="https://mashukabu.com/spreadsheet-exp-function/">EXP関数</a>（e のべき乗を返す関数）を使って、同じ計算ができます。</p>



<pre class="wp-block-code"><code>=2/(EXP(A1) + EXP(-A1))</code></pre>



<p class="wp-block-paragraph">この式とSECH(A1)は同じ結果を返します。実際にA1に「1」を入れて確認してみましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th></tr></thead><tbody><tr><td>=SECH(1)</td><td>0.64805&#8230;</td></tr><tr><td>=1/COSH(1)</td><td>0.64805&#8230;</td></tr><tr><td>=2/(EXP(1)+EXP(-1))</td><td>0.64805&#8230;</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">3つとも同じ値ですね。SECH関数の結果が正しいか不安なときは、COSH関数やEXP関数を使った式で検算できますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>COSH関数は双曲線余弦を返す関数です。詳しくは <a href="https://mashukabu.com/spreadsheet-cosh-function/">COSH関数の記事</a> をご覧ください。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc13">出力が0から1に収まる特性</span></h3>



<p class="wp-block-paragraph">SECH関数の出力は、常に <strong>0より大きく1以下</strong> の範囲に収まります。</p>



<p class="wp-block-paragraph">これは <a href="https://mashukabu.com/spreadsheet-cosh-function/">COSH関数</a> の最小値が COSH(0)=1 であるためです。COSH(x)が常に1以上なので、その逆数であるSECH(x)は常に1以下になりますね。また、COSH(x)は正の値しか取らないため、SECH(x)も正の値のみです。</p>



<pre class="wp-block-code"><code>0 &lt; SECH(x) &lt;= 1（すべてのxについて成り立つ）</code></pre>



<p class="wp-block-paragraph">この「出力が0から1の範囲」という特性は、確率密度関数やシグモイド関数に近い性質を持つため、統計や機械学習の分野で活用されることがあります。</p>



<h2 class="wp-block-heading"><span id="toc14">SEC関数との違い</span></h2>



<p class="wp-block-paragraph">名前は似ていますが、<a href="https://mashukabu.com/spreadsheet-sec-function/">SEC関数</a> とSECH関数はまったく別の関数です。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>SEC関数</th><th>SECH関数</th></tr></thead><tbody><tr><td>正式名称</td><td>正割（セカント）</td><td>双曲線正割（ハイパボリックセカント）</td></tr><tr><td>数学的な背景</td><td>円（三角関数）</td><td>双曲線（双曲線関数）</td></tr><tr><td>引数</td><td>角度（ラジアン）</td><td>任意の実数値</td></tr><tr><td>逆数の対象</td><td>COS関数</td><td>COSH関数</td></tr><tr><td>値の範囲</td><td>1以上 または -1以下</td><td>0より大きく1以下</td></tr><tr><td>RADIANS変換</td><td>必要</td><td>不要</td></tr><tr><td>偶関数</td><td>はい</td><td>はい</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">一番大きな違いは「値の範囲」です。<a href="https://mashukabu.com/spreadsheet-sec-function/">SEC関数</a> は絶対値が1以上（-1以下または1以上）になるのに対して、SECH関数は0から1のあいだに収まります。</p>



<p class="wp-block-paragraph">共通点は「どちらも偶関数」で、「どちらもコサイン系関数の逆数」であることです。<strong>SEC = 1/COS、SECH = 1/COSH</strong> という対応関係で覚えておくと、混乱せずに使い分けられますよ。</p>



<h2 class="wp-block-heading"><span id="toc15">実務での活用例</span></h2>



<p class="wp-block-paragraph">SECH関数は日常業務で頻繁に登場する関数ではありませんが、数理モデルを扱う場面では便利な道具になります。代表的な3つの使い方を紹介します。</p>



<h3 class="wp-block-heading"><span id="toc16">双曲線正割分布の確率密度を求める</span></h3>



<p class="wp-block-paragraph">SECH関数の代表的な応用が「双曲線正割分布（Hyperbolic Secant Distribution）」です。確率密度関数が SECH関数で表される分布で、正規分布に似た釣鐘型の曲線を描きます。</p>



<p class="wp-block-paragraph">確率密度関数は次の式で表されます。</p>



<pre class="wp-block-code"><code>f(x) = 1/(2π) × SECH(x/2)</code></pre>



<p class="wp-block-paragraph">スプレッドシートで各地点の確率密度を求めてみましょう。A列にxの値を入力して、B1に次の式を入れます。</p>



<pre class="wp-block-code"><code>=1/(2*PI())*SECH(A1/2)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>x（A列）</th><th>f(x)・確率密度（B列）</th></tr></thead><tbody><tr><td>0</td><td>0.15915&#8230;</td></tr><tr><td>1</td><td>0.14114&#8230;</td></tr><tr><td>2</td><td>0.10314&#8230;</td></tr><tr><td>3</td><td>0.06765&#8230;</td></tr><tr><td>5</td><td>0.02595&#8230;</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">x=0で最大値を取り、xの絶対値が大きくなるほど0に近づきますね。正規分布に似た形ですが、裾が少し重い（ゆっくり減少する）のが特徴です。金融工学で価格変動のモデルに使われることもありますよ。</p>



<h3 class="wp-block-heading"><span id="toc17">COSH関数の逆数として検算に使う</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-cosh-function/">COSH関数</a> の計算結果を確認したいとき、SECH関数を使って検算できます。</p>



<pre class="wp-block-code"><code>=COSH(A1) * SECH(A1)</code></pre>



<p class="wp-block-paragraph">この式はどんな値でも必ず「1」を返します。<code>COSH(x) × SECH(x) = 1</code> が常に成り立つからですね。結果が1にならなければ、どこかに入力ミスがあるとわかりますよ。</p>



<h3 class="wp-block-heading"><span id="toc18">ソリトン解・カテナリーモデルの計算に使う</span></h3>



<p class="wp-block-paragraph">物理学の世界では、SECH関数は「ソリトン（孤立波）」の波形を表す式に登場します。たとえば KdV方程式や非線形シュレディンガー方程式の解は <code>SECH^2(x)</code> の形で表現されます。</p>



<p class="wp-block-paragraph">スプレッドシートで波形を計算したい場合は、次のように書きます。</p>



<pre class="wp-block-code"><code>=SECH(A1)^2</code></pre>



<p class="wp-block-paragraph">波の中心（A1=0）で最大値1を取り、両端に向かってなだらかに減衰する形になります。研究や教育用にグラフを描きたいときに便利な書き方ですよ。</p>



<h2 class="wp-block-heading"><span id="toc19">よくあるエラーと対処法</span></h2>



<p class="wp-block-paragraph">SECH関数でつまずきやすいトラブルをまとめます。</p>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#VALUE! エラー</td><td>引数に文字列を渡した</td><td>数値またはセル参照を指定する</td></tr><tr><td>#NUM! エラー</td><td>引数の絶対値が約710以上</td><td>値を小さくするか、結果を0として扱う</td></tr><tr><td>結果がほぼ0</td><td>引数の絶対値が大きすぎる</td><td>急激に0に近づくのは正常な動作</td></tr><tr><td>SEC関数と結果が違う</td><td>関数を間違えている</td><td>SECは三角関数、SECHは双曲線関数</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc20">文字列を渡したとき</span></h3>



<pre class="wp-block-code"><code>=SECH(&quot;abc&quot;)</code></pre>



<p class="wp-block-paragraph">結果は <code>#VALUE!</code> エラーです。引数には必ず数値を渡してください。セル参照の場合は、参照先が数値であることを確認しましょう。</p>



<p class="wp-block-paragraph">たとえばCSVから取り込んだデータが「文字列扱いの数値」になっていると、エラーが出ることがあります。そんなときは VALUE関数（文字列を数値に変換する関数）でいったん数値化してから渡すと安心ですよ。</p>



<h3 class="wp-block-heading"><span id="toc21">引数が大きいときの挙動</span></h3>



<pre class="wp-block-code"><code>=SECH(100)</code></pre>



<p class="wp-block-paragraph">結果は「7.4401&#8230;E-44」と、ほぼ0の値になります。これはエラーではなく <strong>正常な動作</strong> です。<a href="https://mashukabu.com/spreadsheet-cosh-function/">COSH関数</a> が引数が大きいと急激に増大するため、その逆数は急激に0に近づくわけですね。</p>



<p class="wp-block-paragraph">ただし、引数がさらに大きく（約710以上）なると、COSH側がオーバーフローするため <code>#NUM!</code> エラーになります。実務で710を超える値を扱うことはほぼありませんが、想定外の大きな値が入っていないかチェックしておきましょう。</p>



<h2 class="wp-block-heading"><span id="toc22">似た関数との違い・使い分け</span></h2>



<p class="wp-block-paragraph">SECH関数の周辺には、よく似た双曲線関数や三角関数があります。整理しておくと混乱せずに使い分けられますよ。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>動作</th><th>引数</th><th>用途</th></tr></thead><tbody><tr><td><strong>SECH</strong></td><td><strong>双曲線正割を返す</strong></td><td><strong>実数値</strong></td><td><strong>COSH関数の逆数・確率密度関数</strong></td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-cosh-function/">COSH</a></td><td>双曲線余弦を返す</td><td>実数値</td><td>カテナリー曲線のy座標</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-csch-function/">CSCH</a></td><td>双曲線余割を返す</td><td>実数値（0以外）</td><td>SINH関数の逆数</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-coth-function/">COTH</a></td><td>双曲線余接を返す</td><td>実数値（0以外）</td><td>TANH関数の逆数</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-sec-function/">SEC</a></td><td>正割（セカント）を返す</td><td>角度（ラジアン）</td><td>COS関数の逆数・斜辺の計算</td></tr><tr><td>TANH</td><td>双曲線正接を返す</td><td>実数値</td><td>機械学習の活性化関数</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-exp-function/">EXP</a></td><td>eのべき乗を返す</td><td>指数</td><td>指数関数・成長率計算</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">SECH・<a href="https://mashukabu.com/spreadsheet-csch-function/">CSCH</a>・<a href="https://mashukabu.com/spreadsheet-coth-function/">COTH</a> は <strong>双曲線関数の逆数3兄弟</strong> です。それぞれCOSH・SINH・TANHの逆数にあたります。</p>



<pre class="wp-block-code"><code>SECH(x) = 1 / COSH(x)
CSCH(x) = 1 / SINH(x)
COTH(x) = 1 / TANH(x)</code></pre>



<p class="wp-block-paragraph">三角関数の<a href="https://mashukabu.com/spreadsheet-sec-function/">SEC</a>・CSC・COTに対応する関係ですね。3つの逆数関数をセットで覚えておくと、双曲線関数の理解がぐっと深まりますよ。</p>



<h2 class="wp-block-heading"><span id="toc23">よくある質問</span></h2>



<h3 class="wp-block-heading"><span id="toc24">SECH関数とSEC関数は何が違いますか？</span></h3>



<p class="wp-block-paragraph">SEC関数は三角関数の「正割（セカント）」でCOS関数の逆数、SECH関数は双曲線関数の「双曲線正割」でCOSH関数の逆数です。引数の意味も異なり、SECはラジアン単位の角度、SECHは任意の実数値を受け取ります。名前が似ていますが用途がまったく異なるため、目的に合った関数を選んでください。</p>



<h3 class="wp-block-heading"><span id="toc25">SECH関数で #NUM! エラーが出ました。どう対処しますか？</span></h3>



<p class="wp-block-paragraph">引数の絶対値が約710以上になるとCOSH側がオーバーフローし <code>#NUM!</code> エラーになります。通常の数値計算では発生しませんが、引数に非常に大きな値が入っていないか確認してください。引数が大きくなると結果はほぼ0に近づくため、計算上は0に置き換えるのも一つの対処法ですよ。</p>



<h3 class="wp-block-heading"><span id="toc26">SECH(0)の結果がなぜ1になるのですか？</span></h3>



<p class="wp-block-paragraph">SECH(x) = 1/COSH(x) と定義されており、COSH(0) = 1 なので SECH(0) = 1/1 = 1 になります。SECH関数はx=0で最大値1をとり、xの絶対値が大きくなるほど0に近づく釣鐘型の関数です。</p>



<h3 class="wp-block-heading"><span id="toc27">SECH関数は実務でどのような場面で使いますか？</span></h3>



<p class="wp-block-paragraph">主に統計・信号処理・数値解析の分野で使われます。代表的な用途は「双曲線正割分布」の確率密度関数の計算（<code>=1/(2<em>PI())</em>SECH(x/2)</code>）や、COSH関数の検算（<code>COSH(x)×SECH(x)=1</code> が常に成立することの確認）、ソリトン波形の <code>SECH(x)^2</code> 計算などです。日常業務での出番は限られますが、数理モデルを扱うエンジニアや研究者には頼れる関数ですよ。</p>



<h3 class="wp-block-heading"><span id="toc28">SECH関数はExcelでも使えますか？</span></h3>



<p class="wp-block-paragraph">はい、ExcelでもSECH関数は同じ書き方で使えます。Excel 2013以降のバージョンで利用可能です。GoogleスプレッドシートとExcelのあいだでファイルをやり取りしても、関数が崩れる心配はありませんよ。</p>



<h2 class="wp-block-heading"><span id="toc29">まとめ</span></h2>



<p class="wp-block-paragraph">SECH関数は、指定した値の双曲線正割（ハイパボリックセカント）を返す関数です。</p>



<p class="wp-block-paragraph">ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=SECH(値)</code> で、引数は任意の実数値</li><li><a href="https://mashukabu.com/spreadsheet-sec-function/">SEC関数</a> と違い、ラジアン変換は不要</li><li>SECH(0)=1 が最大値で、入力の絶対値が大きいほど0に近づく</li><li>偶関数なので、SECH(-x) = SECH(x) が成り立つ</li><li>定義式は <code>1/COSH(x) = 2/(e^x + e^(-x))</code> で、<a href="https://mashukabu.com/spreadsheet-cosh-function/">COSH</a> や <a href="https://mashukabu.com/spreadsheet-exp-function/">EXP</a> で検算できる</li><li>出力が常に0から1の範囲に収まるのが特徴</li><li>双曲線正割分布の確率密度や、ソリトン波形 <code>SECH(x)^2</code> の計算に活用できる</li><li><a href="https://mashukabu.com/spreadsheet-csch-function/">CSCH関数</a> ・<a href="https://mashukabu.com/spreadsheet-coth-function/">COTH関数</a> と合わせて双曲線関数の逆数3兄弟</li></ul>



<p class="wp-block-paragraph">まずは <code>=SECH(0)</code> で1が返ることを確認して、SECH関数の感覚をつかんでみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-sech-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
