ExcelのSEC関数の使い方|指定角度のセカント(正割)を求める方法

スポンサーリンク

ExcelでSEC関数を使おうとして、思ったような値が出なくて困っていませんか。「=SEC(60)」と入力しても、60度のセカントにはなりません。見慣れない数値が返ってきて、戸惑った方もいるかもしれません。

原因は、SEC関数がラジアン(弧度法)という角度の単位を使うからです。度数法の角度をそのまま渡すと、まったく別の計算になってしまいます。RADIANS関数と組み合わせれば、度数で直感的に指定できますよ。

セカント(正割)は、屋根の勾配から斜面の長さを求めたり、傾斜地の実距離を算出したりするときに登場する三角比です。事務作業では使う機会が少ないものの、建築・土木・測量・物理シミュレーション・CADの寸法計算など、実際に「コサインで割り戻す」場面が出てくると一気に使い道が広がります。

この記事では、SEC関数の基本構文から度数での使い方、測量・建築・周期計算といった実務での活用例まで解説します。よくあるエラーの対処法もまとめて紹介しますね。

ExcelのSEC関数とは?

SEC関数は、指定した角度のセカント(正割)を返す三角関数です。Microsoft 365をはじめ、現在主流のExcelで標準的に利用できます。Excel for the webやMac版Excel、Googleスプレッドシートでも同じ書式で使えますよ。

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値をまとめました。

角度数式結果数学的な値
=SEC(0)11
30°=SEC(RADIANS(30))約1.15472/√3
45°=SEC(RADIANS(45))約1.4142√2
60°=SEC(RADIANS(60))22
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に傾斜角(度数)を入力すれば、斜面距離を一括で計算できますよ。複数行に同じ数式をコピーすれば、現場ごとの傾斜地の実距離を一覧で把握できます。結果を小数点以下2桁に丸めて表示したい場合は、ROUND関数と組み合わせて =ROUND(A1*SEC(RADIANS(B1)),2) のように書きましょう。

屋根の勾配から葺き材の長さを求める

住宅の屋根勾配から実際に必要な葺き材の長さを概算する場面でも、セカントが活躍します。屋根の水平投影長さに SEC(勾配角) を掛けると、屋根面に沿った実寸が得られます。

=水平長*SEC(RADIANS(勾配角))

たとえば水平投影で5mの片流れ屋根に勾配20度を付けた場合は、=5*SEC(RADIANS(20)) で約5.32mとなります。発注時の予備材を計算する下地としても便利です。

COS関数との相互変換(互換性対応)

SEC関数は現在主流のExcelで標準的に使えますが、ごく古い環境ではCOS関数を使って同じ計算ができます。

' SEC関数を使う方法(Microsoft 365などの現行バージョン)
=SEC(RADIANS(60))

' COS関数で代用する方法(古いExcelでの代替)
=1/COS(RADIANS(60))

どちらも結果は2です。Microsoft 365を使えるなら、SEC関数のほうがシンプルで読みやすいですね。

ファイルを古い環境とも共有する可能性がある場合は、=1/COS() の書き方で統一しておくと互換性の心配がありません。

波形データや周期計算での活用

信号処理や物理の計算では、コサイン波の逆数としてセカントを使う場面があります。A列に角度(度数)が入っている場合は、次の数式で一括計算できます。

=SEC(RADIANS(A1))

このセルを下方向にコピーすれば、全データのセカント値を一気に求められます。グラフ化すると90度や270度付近で値が発散する特徴的な形が確認できますよ。

ただし、90度や270度に近い値では結果が非常に大きくなります。そんな値が含まれそうなときは、IFERROR関数IF関数で保護しておくと安心ですよ。

=IFERROR(SEC(RADIANS(A1)), "計算不可")

巨大な値を一律で除外したい場合は、ABS関数で絶対値の閾値判定を組み合わせる方法もあります。

=IF(ABS(SEC(RADIANS(A1)))>100, "発散", SEC(RADIANS(A1)))

100倍以上に発散したら「発散」と表示し、それ以外は通常のセカント値を返す数式です。グラフを描く前のデータクレンジングに便利ですね。

よくあるエラーと対処法

#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・SINTANの逆数です。Microsoft 365では3関数とも標準で利用できるので、=1/COS(数値) のように逆数を手で書く必要はありません。

SECH関数(双曲線セカント)はSEC関数と名前が似ていますが別物です。双曲線関数の一種で、工学系の計算に使われます。通常のセカント計算にはSEC関数を使えば問題ありませんよ。

よくある質問

SEC関数とCOS関数の違いを教えてください

COS関数はコサイン(隣辺÷斜辺)を求め、SEC関数はその逆数であるセカント(斜辺÷隣辺)を求めます。数式の関係は SEC(θ) = 1 / COS(θ) です。どちらも引数にはラジアンを使うため、度数で指定する際はRADIANS関数との組み合わせが必要です。「コサインの逆数が欲しい」場面で =1/COS() の代わりに =SEC() を使うとシンプルに書けます。

90度のセカントはなぜ未定義なのですか?

cos(90°) = 0になるため、セカントの定義式 1/cos(θ) が0除算となり数学的に未定義です。ただしExcelでは、RADIANS(90)がπ/2の近似値になる浮動小数点誤差の影響でcos(θ)が完全な0にならないため、#DIV/0!エラーではなく非常に大きな値(例: 1.63E+16)が返ります。意図的に90度の入力を除外したい場合は =IF(MOD(A1,180)=90, "未定義", SEC(RADIANS(A1))) のような数式で対処できます。

SEC関数はどのバージョンのExcelで使えますか?

SEC関数はMicrosoft 365をはじめ現在主流のExcel全般で利用できます。Excel for the web・Mac版Excel・Googleスプレッドシートでも同じ書式で動きます。社内に古いExcelが残っている場合に備えて互換性を持たせたいときは、=1/COS(RADIANS(角度)) で代用すれば同じ結果になりますよ。

SEC関数はGoogleスプレッドシートでも使えますか?

はい、GoogleスプレッドシートにもSEC関数があり、Excelと同じ書式 =SEC(数値) で使えます。ラジアン指定の仕様も同じなので、RADIANS関数との組み合わせもそのまま使えます。

角度の単位はラジアンと度数のどちらで管理するのが良いですか?

実務では「入力は度数、計算はラジアン」と役割を分けるのがおすすめです。シートには現場で扱う度数の値を入力しておき、関数の中でRADIANS関数を使ってラジアンに変換します。こうすると入力ミスに気づきやすく、見たままの単位で管理できます。ラジアンを直接入力する欄を作ると、PI()/3 のような表現と数値が混在して読みにくくなるため避けたほうが安全です。

SEC関数の結果を見やすく表示するコツはありますか?

セカントの値は90度付近で急激に大きくなるため、そのままだと指数表記(例: 1.63E+16)になって読みにくくなります。表示用にはROUND関数で桁数を制御するか、セルの書式設定で小数点以下の桁数を固定するのがおすすめです。発散しやすい列ではセルの幅を広めに取り、=IFERROR(ROUND(SEC(RADIANS(A1)),4),"-") のように丸めとエラー処理をまとめて書いておくと、表全体の見やすさが揃いますよ。

SEC関数の入力で負の角度を渡しても問題ありませんか?

問題ありません。SEC関数は偶関数(sec(-θ) = sec(θ))なので、負の角度を渡しても同じ符号・同じ大きさの値が返ります。例えば =SEC(RADIANS(-60)) は2、=SEC(RADIANS(60)) も2です。データ中に符号付きの角度が混在していても、符号反転の影響を気にせず使えますよ。

まとめ

SEC関数は、指定した角度のセカント(正割)を求める関数です。

ポイントを整理しておきましょう。

  • 構文は =SEC(数値) で、引数はラジアン単位の数値を1つだけ指定する
  • 度数法の角度を使うには =SEC(RADIANS(角度))RADIANS関数で変換する
  • セカントはコサインの逆数(sec = 1/cos)。COS関数とセットで覚えておくと便利
  • 文字列を渡すと#VALUE!エラー、絶対値が2^27以上で#NUM!エラーになる
  • 90度では#DIV/0!は出ないが、浮動小数点誤差で巨大な値が返る点に注意
  • 測量・建築・屋根勾配の計算など、実務にも活用できる
  • 負の角度でも対称的に動作し、Microsoft 365やGoogleスプレッドシートでも同じ書式で使える

姉妹関数のCSC関数COT関数もあわせて覚えておくと、三角関数を使った計算がスムーズになりますよ。

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