Skip to content

数式カバレッジ ​

このページは、Formulon が認識する Excel 関数名の一覧と、各関数をローカルで評価できるかどうかを説明します。内部的には、実行時レジストリの RegistryCatalog.CoverageReport と、tools/catalog/function_status.tsv の対応状況注記に基づきます。

認識対象は「ローカルで実行できる関数」と同じではありません

526 という数は、Formulon が名前を認識する Excel 関数の数です。この中には COPILOT、PY、IMAGE、RTD、STOCKHISTORY、WEBSERVICE、翻訳関数、CUBE 接続関数のように、Excel 側では外部サービスやホスト固有の状態へ処理を委ねる関数も含まれます。これらは意図的に名前を認識しますが、ローカル実装済みではありません。

概要 ​

Formulon は 526 件の Excel 関数名を認識します。511 件の実装(環境依存の CELL、INFO を含む)と、15 件の未提供スタブに分かれます。

状態件数意味
実装済み511ローカルで評価する。CELL、INFO の結果はワークブック / ホスト状態に依存する
外部サービススタブ15名前と引数数は認識するが、必要な外部サービスが Formulon の外にあるため、決定的な Excel エラーを返す
認識対象の合計526
認識する 526 件の関数名511 件が実装済みCELL・INFO を含む(ホスト状態に依存)15 件が利用不可のスタブExcel のエラー値を決まった形で返す認識する 526 件の関数名511 件が実装済みCELL・INFO を含む(ホスト状態に依存)15 件が利用不可のスタブExcel のエラー値を決まった形で返す
関数名を認識していても、ローカルで実行できるとは限りません。15 件は外部サービスを必要とします。

Formulon は認識する関数のほとんどをローカルで評価しますが、Microsoft 365 のクラウドサービス、クラウド Python 実行環境、HTTP クライアント、OLAP キューブ接続、RTD COM プロバイダー、Copilot を内蔵しているわけではありません。

下のパネルは、同じレジストリを実行時に読み出します。一覧は functionNames()、正規名・引数の数・対応状況は functionMetadata(name) から取得し、件数もこのページではなくエンジンから数えています。「試す」欄では呼び出しをその場で評価できるので、名前は認識するがローカル実装ではない関数が何を返すかを確かめられます。関数メタデータはロケールに依存せず、シグネチャや説明文のような人間向けテキストを持ちません。ホスト側で独自のローカライズ済みヘルプを重ねられます。

関数カタログを引く

一覧も件数も、実行中のエンジンの functionNames() / functionMetadata() から取得しています。ページ側に関数表は持っていません。

本物の Formulon エンジン (WASM) がこのページ内で動作します。データは送信されません。

カテゴリ別の認識対象 ​

カテゴリ認識対象注記
数学 / 三角81ローカル実装
統計149ローカル実装
論理20ローカル実装
テキスト54ローカル実装
日付 / 時刻25ローカル実装
検索 / 参照39動的配列対応の検索挙動を含むローカル実装。IMAGE と RTD は外部サービススタブ
財務56STOCKHISTORY は外部サービススタブ
エンジニアリング54ローカル実装
情報19環境依存の CELL と INFO を含む。このカテゴリに外部サービススタブはない
データベース12ローカル実装
Web4ENCODEURL と FILTERXML は実装済み。WEBSERVICE と PY は外部サービススタブ
キューブ7接続関数として名前は認識するが、ライブ OLAP 接続は Formulon の対象外
2024 / 2025 追加関数6COPILOT、TRANSLATE、DETECTLANGUAGE などの外部サービススタブを含む

関数名とローカライズされた数式テキスト ​

レジストリは正規の英語名を使います。functionMetadata(name) はすべてのプロファイルで同じですが、localizeFunctionName(name, profileId) と localizeFormula(formula, profileId) は選択した Excel プロファイルで利用者が見る表記を返します。逆変換メソッドは正規名と不変の保存用数式テキストを返します。この分離により、エディターの表示言語を切り替えてもワークブックの保存形式を変えずに済みます。変換の境界は ワークブックの言語、対話型エディターの流れは セルの言語切り替え を参照してください。

functionMetadata にロケール引数を渡さないでください。ローカライズはプロファイルを明示する操作です。現在のプロファイル一覧は ロケールプロファイル にあります。

FILTERXML は Windows プロファイルではローカルで評価しますが、Mac 版 Excel には存在しないため、mac-* では #NAME? になります。WEBSERVICE も Mac では名前が認識されません。関数カタログに名前があることと、選択したホストで使えることは別です。

外部サービススタブ ​

次の関数名は意図的に認識します。未知関数として処理するのではなく、予測可能な Excel 風のエラーに落とすためです。いずれも Formulon がローカル計算として扱う範囲の外にあります。

関数ローカル実装ではない理由Formulon の挙動
COPILOTMicrosoft 365 Copilot / LLM サービスが必要固定の #NAME?
PYMicrosoft 365 のクラウド Python 実行環境が必要固定の #NAME?
IMAGE画像取得と描画を行うホスト機能が必要固定の #VALUE!
RTD外部の Real-Time-Data プロバイダーが必要固定の #N/A
STOCKHISTORYMicrosoft の市場データサービスまたはネットワーク I/O が必要固定の #VALUE!
WEBSERVICEHTTP・ネットワーク I/O が必要Windows は #VALUE!、Mac は #NAME?
TRANSLATE, DETECTLANGUAGEクラウド翻訳 / 言語判定サービスが必要固定の #NAME?
CUBEKPIMEMBER, CUBEMEMBER, CUBEMEMBERPROPERTY, CUBERANKEDMEMBER, CUBESET, CUBESETCOUNT, CUBEVALUEライブ OLAP キューブ接続が必要固定の #N/A

実務上の確認 ​

既存ワークブックでは、関数カバレッジを最初の確認項目として扱ってください。最終的な判断には、業務上重要な数式群ごとに小さな検証ファイルを作り、対象の Excel プロファイルと結果を比較します。

ワークブックが使う数式は CLI で書き出せます。

sh
formulon dump --formulas workbook.xlsx > formulas.txt

Oracle の現在の検証とレポート用コマンドは、検証の種類を参照してください。

一次情報源 ​

認識対象の一覧は tools/catalog/functions.txt にあります。対応状況の注記は tools/catalog/function_status.tsv にあり、そこに載っていない項目はローカル実装として扱います。実行時レジストリのテストは「認識対象の名前が実行時に解決できること」を検証しますが、その数をローカル実装数と取り違えないように、対応状況ファイルで分類しています。