ExcelでSEC関数を使おうとして、思ったような値が出なくて困っていませんか。「=SEC(60)」と入力しても、60度のセカントにはなりません。見慣れない数値が返ってきて、戸惑った方もいるかもしれません。
原因は、SEC関数がラジアン(弧度法)という角度の単位を使うからです。度数法の角度をそのまま渡すと、まったく別の計算になってしまいます。RADIANS関数と組み合わせれば、度数で直感的に指定できますよ。
この記事では、SEC関数の基本構文から度数での使い方、実務での活用例まで解説します。よくあるエラーの対処法も紹介しますね。
ExcelのSEC関数とは?
SEC関数は、指定した角度のセカント(正割)を返す三角関数です。Excel 2013以降で利用できます。Microsoft 365やExcel for the webでも使えますよ。
SEC関数の読み方
SEC関数の読み方は「セカント」です。英語の「Secant」に由来しています。
セカント(正割)の意味
セカント(正割)とは、コサインの逆数にあたる三角比です。数学的には次のように定義されます。
sec(θ) = 1 / cos(θ) = 斜辺 / 隣辺
直角三角形でいうと、「斜辺÷隣辺」の比率がセカントです。COS関数の結果をひっくり返したものと覚えてくださいね。
SEC関数の書き方(構文と引数)
基本構文
=SEC(数値)
引数は「数値」の1つだけです。とてもシンプルな関数ですね。
引数の説明
| 引数 | 必須/省略可 | 説明 |
|---|---|---|
| 数値 | 必須 | セカントを求めたい角度をラジアン単位で指定します |
数値の絶対値は2^27(= 134,217,728)未満にする必要があります。この範囲を超えると#NUM!エラーになります。
ラジアンとは、円の半径と同じ長さの弧に対する中心角です。360度が2π(約6.2832)に相当します。度数法で指定したい場合は、次のセクションを参考にしてください。
SEC関数の基本的な使い方
ラジアンで直接指定する
引数にラジアン値をそのまま指定する方法です。
=SEC(0)
この数式は1を返します。0ラジアン(= 0度)のセカントは1です。
PI関数を使って代表的な角度を指定することもできます。
=SEC(PI())
この数式は-1を返します。π(= 180度)のセカントは-1です。
度数で指定する(RADIANS関数との組み合わせ)
実務では度数法で角度を扱うことが多いですよね。RADIANS関数で変換してからSEC関数に渡しましょう。
=SEC(RADIANS(60))
この数式は2を返します。RADIANS(60)で60度をラジアンに変換し、そのセカントを計算しています。
別の書き方として =SEC(角度*PI()/180) もありますが、RADIANS関数を使うほうが読みやすいのでおすすめです。
代表的な角度のSEC値をまとめました。
| 角度 | 数式 | 結果 | 数学的な値 |
|---|---|---|---|
| 0° | =SEC(0) | 1 | 1 |
| 30° | =SEC(RADIANS(30)) | 約1.1547 | 2/√3 |
| 45° | =SEC(RADIANS(45)) | 約1.4142 | √2 |
| 60° | =SEC(RADIANS(60)) | 2 | 2 |
| 90° | =SEC(RADIANS(90)) | 巨大な値 | 未定義 |
| 180° | =SEC(PI()) | -1 | -1 |
90度ではcos(90°) = 0なので、セカントは数学的に未定義です。ただしExcelでは浮動小数点誤差の影響で、cos(90°)が完全な0になりません。そのため#DIV/0!エラーではなく、非常に大きな値が返ります。この点は覚えておいてくださいね。
SEC関数の実践的な活用例
測量や建築での斜面距離の計算
建築や土木の現場では、斜面の長さを計算するときにセカントが役立ちます。水平距離100mの地面に30度の傾斜がある場合を考えてみましょう。
斜面の長さは「水平距離 x sec(傾斜角)」で求められます。
=100*SEC(RADIANS(30))
この数式は約115.47を返します。水平距離100mに対して、斜面の実際の長さは約115.47mになります。「斜辺 = 隣辺 / cos(θ)」の公式そのものですね。
傾斜角がセル(例: B1)に入っている場合は、次のように書きます。
=A1*SEC(RADIANS(B1))
A1に水平距離、B1に傾斜角(度数)を入力すれば、斜面距離を一括で計算できますよ。
COS関数との相互変換(旧バージョン対応)
SEC関数はExcel 2013で追加された関数です。Excel 2010以前の環境では、COS関数を使って同じ計算ができます。
' SEC関数を使う方法(Excel 2013以降)
=SEC(RADIANS(60))
' COS関数で代用する方法(Excel 2010以前)
=1/COS(RADIANS(60))
どちらも結果は2です。新しいバージョンを使えるなら、SEC関数のほうがシンプルで読みやすいですね。
チーム内でExcelのバージョンが混在している場合は、=1/COS() の書き方で統一しておくと安全です。
波形データや周期計算での活用
信号処理や物理の計算では、コサイン波の逆数としてセカントを使う場面があります。A列に角度(度数)が入っている場合は、次の数式で一括計算できます。
=SEC(RADIANS(A1))
このセルを下方向にコピーすれば、全データのセカント値を一気に求められます。
ただし、90度や270度に近い値では結果が非常に大きくなります。そんな値が含まれそうなときは、IFERROR関数で保護しておくと安心ですよ。
=IFERROR(SEC(RADIANS(A1)), "計算不可")
よくあるエラーと対処法
#VALUE!エラー
SEC関数に数値として認識できない文字列を渡すと、#VALUE!エラーが発生します。
=SEC("abc") → #VALUE!エラー
=SEC(A1) → A1が文字列の場合は#VALUE!エラー
数値以外のデータが混在する場合は、ISNUMBER関数で事前にチェックすると安全です。
=IF(ISNUMBER(A1), SEC(RADIANS(A1)), "数値を入力してください")
#NUM!エラー
引数の絶対値が2^27(134,217,728)以上の場合、#NUM!エラーが発生します。
=SEC(200000000) → #NUM!エラー
通常の角度計算でこの上限に達することはまずありません。もしこのエラーが出たら、入力値が正しいか確認してみてください。
#DIV/0!エラー
cos(θ) = 0となる角度(90度、270度など)では、#DIV/0!が出そうに思えますよね。しかし実際には、このエラーは発生しません。
RADIANS(90)はπ/2のごくわずかな近似値になります。cos(θ)が完全な0にならないため、#DIV/0!の代わりに非常に大きな値(例: 1.63E+16)が返ります。
もし90度や270度の入力を事前にはじきたい場合は、次のような数式で対処できます。
=IF(MOD(A1, 180)=90, "未定義", SEC(RADIANS(A1)))
関連する三角関数との違い・使い分け
SEC関数と関連する三角関数の関係を表にまとめました。
| 関数 | 意味 | 数学的な定義 | Excel数式例 |
|---|---|---|---|
| COS | コサイン(余弦) | 隣辺 ÷ 斜辺 | =COS(RADIANS(60)) → 0.5 |
| SEC | セカント(正割) | 斜辺 ÷ 隣辺(= 1/cos) | =SEC(RADIANS(60)) → 2 |
| CSC | コセカント(余割) | 斜辺 ÷ 対辺(= 1/sin) | =CSC(RADIANS(30)) → 2 |
| COT | コタンジェント(余接) | 隣辺 ÷ 対辺(= 1/tan) | =COT(RADIANS(45)) → 1 |
SEC・CSC・COTはそれぞれCOS・SIN・TANの逆数です。Excel 2013より前では =1/COS(数値) で代用していました。
SECH関数(双曲線セカント)はSEC関数と名前が似ていますが別物です。双曲線関数の一種で、工学系の計算に使われます。通常のセカント計算にはSEC関数を使えば問題ありませんよ。
まとめ
SEC関数は、指定した角度のセカント(正割)を求める関数です。
ポイントを整理しておきましょう。
