デフォルトの Office Excel では 度分秒 をフル文字列として扱ってしまい、四則演算を行うことが出来ません。複数のセルを使用し、複雑な変換式を経て計算を行うことは可能ですが、非常に面倒です。そこでセル上で度分秒計算を実行できるExcel関数を開発しました。sok関数内に度分秒を代入することで簡単に計算を行うことが出来ます。Excelでのメリットは度分秒に対してオートフィルを行えるという点です。簡単な使い方は以下のGIF画像を参照してください。 🌵
セル内で以下のPrefixを入力することで、様々なsok関数を自動補完できます
=sok_
測量 = sokuryou = sok
- 指定範囲での加算、減算
- 度分秒の負の値計算の簡略化
- 方位角の算出
- cos、sinの計算
- コンパス
- 文字列からDecimal型に変換
- コードのリファクタリング
1. 以下のコマンドをターミナルで実行し、リポジトリをクローンします。
git clone https://github.com/Sakamochanq/DMS-Calculator.git
2. Excelより開発タブからVBAEditorを起動します。
3. 任意のWorkSheetに標準モジュールとして ./src/main.vba を追加します。
4. 保存したら、セル上で sok関数 を使用できます。
5. 通常のxlsx形式ではなく、マクロ有効形式(*.xlsm)で保存することでマクロを常時実行できます。
Note
このスクリプトはExcelVBAで動作するように設計されており、他の環境では正しく動作しない可能性があります。
A1 = 179°50′0″
B1 = 0°10′0″
=sok_add(A1, B1) #180°0′0″A1 = 180°50′0″
B1 = 0°50′0″
=sok_sub(A1, B1) #180°0′0″A1 = 179°30′0″
A2 = 0°10′0″
A3 = 0°20′0″
=sok_sumAll(A1:A3) #180°0′0″A1 = 180°0′0″
=sok_compass(A1) #SE-
Sakamochanq による開発
-
Github Copilot による開発支援
-
DeepL によるドキュメントの翻訳
Release under the MIT LICENSE