0

Excel は通常、条件付き書式の数式を、Excel 2002/2003 XML スプレッドシート ファイルからロードする場合を除いて、配列数式であるかのように扱います。

これは、Excel 2002/2003 XML スプレッドシート形式のみの問題です...ネイティブの Excel 形式は、新しい Excel 2007 XML 形式 (xlsx) と同様に正常に動作します。

スプレッドシートをロードした後、フォーマットされた範囲を選択し、[条件付き書式設定] ダイアログに移動して [OK] をクリックすると、スプレッドシートが正しく機能するようにすることができますが、これはセッションの問題のみを修正します。

テストケース:

新しいシートに次のように入力します。

  A B C
1 N N N
2 x x x
3 x x x

セル A1:C1 に次の条件付き書式数式を作成します (書式用に適切な色を選択します)。

=(SUM(($A1:$C1="N")*($A$2:$C$2=A$3))>0)

これは、A1、B1、および C1 のいずれかに "N" があり、"N" の下の行 2 のセルが現在の列の行 3 のセルと等しい場合に常にアクティブになる配列数式です。

(これは実際のビジネス スプレッドシートから簡略化したものです。テスト ケースが複雑で申し訳ありません。ここで提示するより簡単なテスト ケースを見つけようとしています。)

そしてそれは機能します... Nまたはxを好きなように変更でき、フォーマットは問題なく機能します。

これを XML スプレッドシートとして保存します。Excel を閉じて、ファイルを再度開きます。フォーマットが壊れています。現在、A1 が「N」で、A2 が A3、B3、または C3 と同じ場合にのみ、条件付き書式を有効にできます。B1、B2、C1、および C2 の値は、フォーマットには影響しません。

次に、A1:C1 を選択し、条件付き書式の数式を確認します。以前とまったく同じです。[OK] をクリックします。条件付き書式が再び機能し始め、ファイルが開いているセッション全体で機能します。

考慮される回避策:

  1. ファイルをネイティブ (BIFF) Excel 形式で提供します。オプションではありません。これらのスプレッドシートは Web サーバーによってオンザフライで生成されます。これは、システムによって動的に生成される数十種類のワークブックの 1 つにすぎません。

  2. ファイルを Excel 2007 ネイティブ XML 形式 (xlsx) で提供します。オプションではありません。現在のユーザー ベースには Office 2007 または互換プラグインがありません。

  3. ユーザーに範囲を選択するように求め、条件付き書式設定ダイアログに入り、[OK] をクリックします。この場合のオプションではありません。洗練されていないユーザーです。

  4. ユーザーに、XML スプレッドシートを開いてネイティブ XLS として保存し、XLS ファイルを閉じてから再度開くように求めます。これは動作しません!XML ファイルから破損してロードされた場合、ネイティブ XLS 形式では書式設定が破損したままになります。上記(3)を行ってから保存すると、XLSファイルが正常に動作します。

配列数式を使用しないように条件付き書式を書き直しました。したがって、これはある程度「回答」されていると思いますが、Excel 2002/2003 の XML ファイル処理のバグであり、文書化されていません。

4

2 に答える 2

1

あなたが説明した問題を再現しようとしました。これが私が見つけたものです。

  • XML スプレッドシートとして保存する場合、Windows XP で Excel 2003 を使用して問題を一貫して再現できました。

  • 標準の xls スプレッドシートとして保存する場合、Windows XP で Excel 2003 を使用して問題を再現できませんでした。

  • Windows Vista で Excel 2007 を使用してファイルをネイティブ xlsx 形式で保存すると、問題を再現できませんでした。

  • ファイルを Excel 97-2003 xls 形式で保存する場合、Windows Vista で Excel 2007 を使用して問題を再現できませんでした。

    (注: Excel と Windows のすべてのインスタンスは、すべての Windows 更新プログラムで最新です。 )

また、各テストに簡単な条件付き書式設定式を追加しました。いずれの場合も、ファイルを保存し、Excel を閉じて、ファイルを再度開くと、期待どおりに機能しました。

したがって、ファイルを保存するときに標準の Excel 2003 ファイル形式を使用するのが答えのようです。

ところで、これは非常に奇妙な書式設定式です。どのように使用するか想像するのは難しいです。それは非常に具体的で珍しいビジネスケースでなければなりません。また、あなたの投稿には何かが欠けているような気がします。(あなたが不誠実だと非難しているわけではありません。読みやすくするために数式を短くしたのではないかと思っているだけです。) これがあなたが使用している正確な数式でない場合は、元の投稿を完全な数式で編集してください。この問題を再検討してください。

于 2008-09-17T18:41:26.090 に答える
0

次のページで、条件付き書式の問題を自習するためのチュートリアル ビデオをいくつか見つけることができます。

于 2009-01-04T14:01:25.687 に答える