ロケールプロファイル
Excel の挙動は完全にはロケール非依存ではありません。関数名・区切り文字・日付解析・文字幅・通貨・テキスト処理が、プラットフォームとロケールで変わることがあります。そのため Formulon は単一のグローバル互換モードではなく、名前付き プロファイル を公開します。
用語: compatibility profile(互換性プロファイル)
Excel ビルドとロケールの組に名前を付け、Formulon がそれと一致することを示す Oracle データを紐付けたものです。ロケール依存の関数挙動はこのプロファイルに従います。アプリやテストはホスト OS のロケールではなく、プロファイルを明示的に固定します。
現在のプロファイル
| プロファイル | 状態 | 目的 |
|---|---|---|
win-365-ja_JP | 既定・Oracle データあり | 主な実行ターゲット。variant golden で検証済み。ワークブック単位(ピボット / 印刷)の Oracle 検証トラックではプライマリプロファイル |
mac-365-ja_JP | Oracle データあり | チェックイン済みのプライマリ数式 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')プロファイルはワークブックの寿命に紐づく状態であり、ランタイムのグローバルフラグではありません。同じプロセス内のワークブックがそれぞれ別プロファイルを持って共存できます。
次に読むもの
- 互換性モデル ─ なぜプロファイルが必要か
- Oracle テスト ─ プロファイルを裏付けるデータ