Skip to content

ロケールプロファイル

Excel の挙動は完全にはロケール非依存ではありません。関数名・区切り文字・日付解析・文字幅・通貨・テキスト処理が、プラットフォームとロケールで変わることがあります。そのため Formulon は単一のグローバル互換モードではなく、名前付き プロファイル を公開します。

用語: compatibility profile(互換性プロファイル)

Excel ビルドとロケールの組に名前を付け、Formulon がそれと一致することを示す Oracle データを紐付けたものです。ロケール依存の関数挙動はこのプロファイルに従います。アプリやテストはホスト OS のロケールではなく、プロファイルを明示的に固定します。

現在のプロファイル

プロファイル状態目的
win-365-ja_JP既定・Oracle データあり主な実行ターゲット。variant golden で検証済み。ワークブック単位(ピボット / 印刷)の Oracle 検証トラックではプライマリプロファイル
mac-365-ja_JPOracle データありチェックイン済みのプライマリ数式 Oracle データセット

英語ロケールのプロファイルは、対応するゴールデンデータが用意できてから公開します。データが揃わないプロファイルは、未検証の互換性を示唆しないために非公開のままです。

プロファイルが評価に与える影響

ロケール依存の領域は次のようなものです(網羅ではありません)。

  • 一部レガシーパスでの引数 / リスト区切り
  • TEXT() / VALUE() の整形ルール
  • DATEVALUE() / TIMEVALUE() の解析
  • 通貨・会計の数値書式
  • 関数名のエイリアス(非英語 Excel の翻訳名)
  • 半角 / 全角混在ワークブックでの LEN と文字幅処理

プロファイルを暗黙に切り替えない

同じ数式に見えても、別プロファイルで再計算すると結果が変わる場合があります。アプリや CI は対象プロファイルを保存し、起動時に期待するプロファイルと一致するか確認してください。

プロファイルの保存

各バインディング経由:

ts
wb.setExcelProfileId('win-365-ja_JP')
const id = wb.excelProfileId()
python
wb.set_excel_profile_id('win-365-ja_JP')

プロファイルはワークブックの寿命に紐づく状態であり、ランタイムのグローバルフラグではありません。同じプロセス内のワークブックがそれぞれ別プロファイルを持って共存できます。

次に読むもの