スプレッドシートで角度から正割(セカント)を求めたいとき、どの関数を使えばいいか迷っていませんか?
三角関数の中でもセカントはなじみが薄くて、書き方がわからないですよね。
そんなときに使うのがSEC関数です。=SEC(角度) と書くだけで、指定した角度の正割(セカント)を返してくれます。
この記事では基本の書き方から、COS関数との関係、RADIANS関数との組み合わせ、実務での活用まで紹介します。
スプレッドシートのSEC関数とは?
SEC関数(読み方: セカント関数)は、角度の正割(セカント)を返す関数です。語源はラテン語の「secans」で、「切る(cutting)」を意味します。
たとえば =SEC(RADIANS(60)) と入力すると「2」が返ります。60度の正割がそのまま取得できるわけですね。
SEC関数はラジアン単位の角度を引数に取ります。度数法(30度、60度など)を使いたい場合は、RADIANS関数で変換してから渡します。
SEC関数にできることをまとめると、次のとおりです。
- 角度のラジアン値から正割(セカント)を返す
- RADIANS関数と組み合わせて度数法の角度を使う
- COS関数の逆数として距離や長さの計算に活用する
- 工学や物理の計算で使う
NOTE
SEC関数はGoogleスプレッドシートの全バージョンで使えます。Excelとも完全に互換性があるので、ファイルのやり取りでも安心です。
SEC関数の書き方(構文と引数)
基本構文
=SEC(角度)
カッコの中にラジアン単位の角度を指定します。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 角度 | 必須 | 正割を求めたい角度をラジアン単位で指定する |
引数は1つだけです。ラジアン単位で指定する点がポイントですね。
度数法の角度(60度、90度など)を使いたい場合は、次のどちらかで変換します。
=SEC(RADIANS(60)) ← RADIANS関数で変換
=SEC(60*PI()/180) ← PI関数を使って手計算
どちらも同じ結果(2)を返します。式がシンプルなRADIANS関数がおすすめですよ。
SEC関数とCOS関数の関係
SEC関数はCOS関数の逆数です。数学的には次の関係が成り立ちます。
SEC(θ) = 1 / COS(θ)
つまり =SEC(RADIANS(60)) と =1/COS(RADIANS(60)) は同じ結果を返します。SEC関数がないバージョンでも =1/COS() で代用できますよ。
SEC関数の基本的な使い方
ラジアンで角度を指定する
まずはラジアン値をそのまま渡すパターンです。
=SEC(PI()/3)
結果は「2」です。π/3ラジアン(60度)の正割は2ですね。
代表的なラジアン値とSECの結果をまとめます。
| 数式 | 角度 | 結果 |
|---|---|---|
| =SEC(0) | 0度 | 1 |
| =SEC(PI()/6) | 30度 | 1.1547… |
| =SEC(PI()/4) | 45度 | 1.4142… |
| =SEC(PI()/3) | 60度 | 2 |
| =SEC(PI()/2) | 90度 | 非常に大きい値(定義なし) |
| =SEC(PI()) | 180度 | -1 |
90度のSECは数学的に定義されません。COS関数の値が0になるため、SEC = 1/COS の計算で「0で割る」ことになるからです。
RADIANS関数と組み合わせて度数法で指定する
実務では度数法で角度を扱うことがほとんどです。RADIANS関数と組み合わせれば、度数法のまま使えます。
=SEC(RADIANS(60))
結果は「2」です。60度のセカントがそのまま求まりますね。
よく使う角度の早見表を用意しました。
| 角度 | 数式 | 結果 |
|---|---|---|
| 0度 | =SEC(RADIANS(0)) | 1 |
| 30度 | =SEC(RADIANS(30)) | 1.1547… |
| 45度 | =SEC(RADIANS(45)) | 1.4142… |
| 60度 | =SEC(RADIANS(60)) | 2 |
| 120度 | =SEC(RADIANS(120)) | -2 |
| 180度 | =SEC(RADIANS(180)) | -1 |
SECの値はCOSの逆数なので、COSが大きいところではSECは小さく、COSが小さいところではSECは大きくなります。
角度をセルに入れておけば、ドラッグでまとめて計算することもできます。
A列に角度を入力して、B1セルに次の式を入れてみてください。
=SEC(RADIANS(A1))
あとはB1をコピーして下方向に貼り付ければ、各角度の正割を一括で求められますよ。
実務でのSEC関数活用例
隣辺から斜辺の長さを求める
COS関数は「傾斜角と斜辺から隣辺(底辺)」を求めるのに使いますが、SEC関数はその逆の発想で使えます。隣辺(底辺)と傾斜角から斜辺の長さを計算できます。
斜辺は次の式で計算します。
=隣辺 * SEC(RADIANS(傾斜角))
たとえば底辺50mで傾斜角が60度の場合、斜辺の長さを求めてみましょう。
=50*SEC(RADIANS(60))
結果は「100」です。底辺50m・傾斜角60度の斜面は、斜辺が100mになることがわかります。
いくつかの条件で比較してみます。
| 隣辺・底辺(A列) | 傾斜角(B列) | 数式 | 斜辺の長さ |
|---|---|---|---|
| 10m | 0度 | =A2*SEC(RADIANS(B2)) | 10.00m |
| 50m | 60度 | =A3*SEC(RADIANS(B3)) | 100.00m |
| 100m | 45度 | =A4*SEC(RADIANS(B4)) | 141.42m |
傾斜角が0度のとき、隣辺と斜辺が等しくなります。これはSEC(0度) = 1 だからですね。
距離の逆算に活用する
測量では斜面の底辺と角度から斜距離を求める場面があります。SEC関数を使えば直接計算できます。
ただし、この計算はCOS関数を使う方法(=隣辺/COS(RADIANS(角度)))でも同じ結果が得られます。SEC関数を使うとかけ算で済むので、数式がシンプルになりますよ。
よくあるエラーと対処法
SEC関数でよくあるトラブルをまとめます。
| 症状 | 原因 | 対処法 |
|---|---|---|
| #VALUE! エラー | 引数に文字列を渡した | 数値またはセル参照を指定する |
| #DIV/0! エラー | 引数に90度を渡した(SEC(90度)は定義されない) | 90度の正割は定義されないので角度を確認する |
| 期待と違う値が返る | 度数法をそのまま渡している | RADIANS関数で変換してから渡す |
| 非常に大きな値が返る | 90度(または270度)に近い角度を指定した | 90度・270度のSECは定義されない。角度を確認する |
| 結果がぴったり1にならない | 浮動小数点の誤差 | ROUND関数で丸める |
90度と270度ではエラーになる
SEC関数でもっとも注意が必要なのは、90度(π/2ラジアン)を渡したときです。
=SEC(RADIANS(90))
この数式は非常に大きな値(または #DIV/0! エラー)になります。SEC = 1/COS で、COS(90度) = 0 なので「0で割る」ことになるためです。
270度も同様です。COS(270度)は数学的には0なので、SEC(270度)も定義されません。
度数法をそのまま渡すミスに注意
COS関数と同じく、度数法の角度をそのまま渡すと間違った結果になります。
=SEC(60)
この数式は「60ラジアン」の正割を計算します。結果は「-1.0499…」で、60度のセカント(2)とは全く違う値です。
度数法で指定したい場合は、必ずRADIANS関数で変換しましょう。
=SEC(RADIANS(60))
こちらなら結果は「2」になります。
浮動小数点の誤差を丸める
SEC(RADIANS(0)) は数学的には1ですが、実際には微小な誤差が返ることがあります。
見た目を整えたい場合は、ROUND関数で丸めてください。
=ROUND(SEC(RADIANS(60)), 10)
結果は「2」になります。小数点以下10桁で丸めれば、実用上は問題ありませんよ。
似た関数との違い・使い分け
| 関数 | 動作 | 引数 | 用途 |
|---|---|---|---|
| SEC | 正割(セカント)を返す | 角度(ラジアン) | COS関数の逆数・斜辺の長さの計算 |
| COS | 余弦(コサイン)を返す | 角度(ラジアン) | 隣辺・距離計算 |
| SIN | 正弦(サイン)を返す | 角度(ラジアン) | 対辺・高さ・波形データ |
| TAN | 正接(タンジェント)を返す | 角度(ラジアン) | 勾配・傾き・高さの計算 |
| CSC | 余割(コセカント)を返す | 角度(ラジアン) | SIN関数の逆数・斜辺の計算 |
| COT | 余接(コタンジェント)を返す | 角度(ラジアン) | TAN関数の逆数・水平距離 |
| ASEC | 逆正割(アークセカント)を返す | 数値 | セカント値から角度を逆算 |
| RADIANS | 度数法をラジアンに変換する | 度数法の角度 | SIN/COS/TAN/SECの引数準備 |
COS関数との関係
SEC関数とCOS関数は逆数の関係にあります。
SEC(θ) = 1 / COS(θ)
COS(θ) = 1 / SEC(θ)
スプレッドシートで確認してみましょう。
| 角度 | SEC | COS | SEC * COS |
|---|---|---|---|
| 0度 | 1 | 1 | 1 |
| 30度 | 1.1547 | 0.8660 | 1 |
| 45度 | 1.4142 | 0.7071 | 1 |
| 60度 | 2 | 0.5 | 1 |
どの角度でもSECとCOSの積は1になります。片方の値がわかればもう一方もすぐ求められますよ。
COS関数が0になる90度・270度ではSECは定義されません。お互いに補い合う関係ですね。
CSC・COT関数との関係
SEC関数はCOS関数の逆数、CSC関数はSIN関数の逆数、COT関数はTAN関数の逆数です。
SEC(θ) = 1 / COS(θ)
CSC(θ) = 1 / SIN(θ)
COT(θ) = 1 / TAN(θ)
3つの逆数関数をセットで覚えておくと、三角関数の理解が深まりますよ。
まとめ
SEC関数は、ラジアン単位の角度から正割(セカント)を返す関数です。
ポイントを整理します。
- 構文は
=SEC(角度)で、引数はラジアン単位 - 度数法の角度を使うなら
=SEC(RADIANS(度))と変換する - SEC(RADIANS(60))=2 が代表的な値
- SEC = 1/COS なので、COS関数の逆数
- 隣辺と傾斜角から斜辺を求めるなら
=隣辺*SEC(RADIANS(角度)) - 90度と270度ではエラーになる点に注意
- COS関数・SIN関数・TAN関数・CSC関数・COT関数とセットで覚えておくと便利
まずは =SEC(RADIANS(60)) で2が返ることを確認してみてください。
