こんにちは、阿久梨絵です!
WPS Spreadsheetsを使う人なら、一度はこう思ったことがあるはずです。
「 Excel で作ったファイルが WPS でも開けるのはどうして?」
実はこの“互換性”は、単なる「似たソフトだから」ではなく、
ファイル形式・関数体系・計算エンジン・描画ルールなど、複数の層で緻密に設計された仕組みによって成立しています。
この記事では、Excel と WPS Spreadsheets がどのように互換性を実現しているのか、その裏側をわかりやすく解説します。
1. 互換性の土台:ファイル形式(.xls / .xlsx)
互換性の最も大きな要素は ファイル形式です。
Excel の標準形式
・.xls(バイナリ形式、Excel 97–2003)
・.xlsx(Open XML 形式、Excel 2007〜)
特に .xlsx は Office Open XML(OOXML) という国際標準規格に基づいています。
WPS が互換性を持てる理由
WPS Spreadsheets は、この OOXML の仕様を解析し、
Excel と同じ構造のファイルを読み書きできるように設計されています。
つまり、
・セルの値
・数式
・スタイル
・図形
・グラフ
・ピボットテーブル
といった構造を、Excel と同じルールで保存・解釈しているのです。
2. 関数互換性:同じ関数名・同じ動作を再現する仕組み
Excel の関数体系は世界中で使われているため、
WPS は 関数名・引数・動作 を Excel と合わせることで互換性を確保しています。
WPS が行っていること
・Excel の関数仕様を再現
・エラー値(#N/A, #VALUE! など)も同じ
・関数の優先順位や計算順序も Excel と一致
特に VLOOKUP や IF のような基本関数は完全互換を目指しています。
互換性が難しい領域
・Excel 独自の新関数(LAMBDA, LET, 動的配列関数など)
・高度な統計関数
・日付シリアル値の扱い(1900年問題など)
WPS は Excel の仕様に追随する形でアップデートを続けています。
3. 計算エンジンの互換性:依存関係と再計算ルールの再現
Excel の計算エンジンは 依存関係グラフ(Dependency Graph) を使って再計算を最適化しています。
WPS も同様の仕組みを持ち、
「どのセルがどのセルに依存しているか」を解析して再計算を行います。
互換性のポイント
・同じ順序で再計算する
・同じ丸めルールを使う
・浮動小数点の扱いを Excel に合わせる
これにより、
同じ数式 → 同じ結果
が保証されます。
4. レイアウト互換性:見た目を同じにする技術
互換性は計算だけではありません。
ユーザーが最も気にするのは 「見た目が崩れないか」 です。
WPS が再現している Excel の描画ルール
・セル幅・高さ
・フォントのレンダリング
・罫線の太さ
・色の扱い(RGB / テーマカラー)
・図形の座標とサイズ
・グラフのレイアウト
Excel の描画ルールは非常に複雑ですが、
WPS はこれを独自に解析して再現しています。
5. マクロ(VBA)互換性:ここが最大の違い
互換性の中で最も難しいのが VBA(Visual Basic for Applications) です。
Excel
・VBA をネイティブサポート
・COM オブジェクトモデルが強力
WPS
・VBA の一部をサポート
・完全互換ではない
・独自のマクロ(WPS マクロ)も存在
業務で VBA を多用している企業では、
Excel → WPS の移行が難しい理由のひとつがここにあります。
6. 互換性の限界:完全一致は不可能
Excel と WPS は高い互換性を持っていますが、完全一致は難しいのが現実です。
理由
・Excel の仕様が常に進化している
・WPS は逆解析で追随する必要がある
・描画エンジンの違い
・マクロの互換性問題
・動的配列や LAMBDA などの新機能差
そのため、
「ほぼ同じように動くが、完全に同じではない」
という評価になります。
まとめ
Excel と WPS Spreadsheets の互換性は、次の複数の層が組み合わさって実現しています。
・ファイル形式(OOXML)
・関数体系の再現
・計算エンジンの互換性
・描画ルールの再現
・マクロ互換性(部分的)
互換性は“魔法”ではなく、
膨大な仕様の理解と再現によって成り立つ技術の結晶です。
阿久梨絵でした!
