【问题标题】:Array Formulas in Conditional Formatting of Excel XML Spreadsheet files?Excel XML电子表格文件的条件格式中的数组公式?
【发布时间】:2010-09-10 05:49:56
【问题描述】:

当从 Excel 2002/2003 XML 电子表格文件加载条件格式公式时,除了之外,Excel 通常将条件格式公式视为数组公式。

这只是 Excel 2002/2003 XML 电子表格格式的问题...原生 Excel 格式可以正常工作,较新的 Excel 2007 XML 格式 (xlsx) 也是如此。

加载电子表格后,可以通过选择格式化范围、转到“条件格式”对话框并单击“确定”来使其正常工作——但这​​只能解决会话的问题。

测试用例:

在新工作表中输入以下内容:

  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 并查看条件格式公式。和以前完全一样。点击确定。条件格式再次开始工作,并将在文件打开的整个会话期间工作。

考虑的解决方法:

  1. 以本机 (BIFF) Excel 格式提供文件。不是一种选择,这些电子表格是由网络服务器动态生成的,这只是我们系统动态生成的几十种工作簿中的一种。

  2. 以 Excel 2007 本机 XML 格式 (xlsx) 提供文件。不可行,当前用户群没有 Office 2007 或兼容性插件。

  3. 要求用户选择范围,进入条件格式对话框,然后点击确定。在这种情况下,不成熟的用户不是一个选择。

  4. 要求用户打开 XML 电子表格,另存为原生 XLS,关闭并重新打开 XLS 文件。 这不起作用!如果从 XML 文件加载时,原生 XLS 格式的格式仍然会损坏。如果在保存之前执行上述(3),XLS文件将正常工作。

我最终重写了条件格式以不使用数组公式。所以我想这在某种程度上已经得到了“回答”,但它仍然是 Excel 2002/2003 处理 XML 文件中的一个未记录的、如果模糊的错误。

【问题讨论】:

    标签: excel office-2003 conditional-formatting xml-spreadsheet


    【解决方案1】:

    我试图重现您描述的问题。这是我发现的。

    • 可以始终如一地重新创建 在 Windows 上使用 Excel 2003 的问题 保存为 XML 时的 XP 电子表格。

    • 能否重现该问题 在 Windows XP 上使用 Excel 2003 时 保存为标准 xls 电子表格。

    • 能否重现该问题 在 Windows Vista 上使用 Excel 2007 将文件保存在本机时 xlsx 格式。

    • 不能重现问题 在 Windows Vista 上使用 Excel 2007 在 Excel 中保存文件时 97-2003 xls 格式。

      (注意:Excel 和 Windows 的所有实例都是最新的所有 Windows 更新。

    我还为每个测试添加了一个简单的条件格式公式。在每种情况下,在保存文件、关闭 Excel 并重新打开文件后,它都按预期工作。

    所以答案似乎是在保存文件时使用标准的 Excel 2003 文件格式。

    顺便说一句,这是一个非常奇怪的格式公式。很难想象你会如何使用它。它必须是一个非常具体和不寻常的商业案例。我也觉得你的帖子中缺少一些东西。 (我不是在指责你不诚实——只是想知道你是否为了可读性而缩短了公式。)如果这不是你使用的 exact 公式,请用完整的编辑你的原始帖子公式,我很乐意重新讨论这个问题。

    【讨论】:

      【解决方案2】:

      您可以在以下页面中找到一些用于自学条件格式问题的教程视频: conditional formatting

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-12-09
        • 2017-01-20
        相关资源
        最近更新 更多