问题标签 [conditional-formatting]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
8653 浏览

excel - Excel XML电子表格文件的条件格式中的数组公式?

Excel 通常将条件格式公式视为数组公式,除非从 Excel 2002/2003 XML 电子表格文件加载它们。

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

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

测试用例:

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

在单元格 A1:C1 上创建此条件格式公式(您为格式选择漂亮的颜色):

这是一个数组公式,只要其中任何一个具有“N”并且“N”下方的第 2 行中的单元格等于当前列的第 3 行中的单元格,就会为 A1、B1 和 C1 激活。

(这已经从现实世界的业务电子表格中简化了。对于测试用例的复杂性,我很抱歉,我正在尝试在这里找到一个更简单的测试用例。)

它可以工作......您可以以任何您想要的方式更改 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 文件中的一个未记录的(如果模糊的话)错误。

0 投票
1 回答
10745 浏览

excel - Excel 条件格式自参考

我正在尝试在 Excel 2003 中进行一些条件格式设置,如果下一个单元格为“是”,我想做的是让一个单元格变为红色,如果它本身包含“是”,则变为粗体。因此,如果两个单元格都是“是”,则当前单元格将是红色和粗体。我想对一组单元格执行此操作,因此我没有使用对单元格的直接引用,但我想出了以下内容。

但这总是失败。但是,如果我单独使用其中任何一个(INDIRECT(ADDRESS(ROW(),COLUMN()))="Yes"使当前的销售变粗),它就可以工作。

有谁知道我如何在 excel 2003 条件格式中一般地自我引用一个单元格?

0 投票
2 回答
5196 浏览

.net - Excel 互操作: Range.FormatConditions.Add 抛出 MissingMethodException

我正在编写一个应用程序,它使用 Microsoft.Office.Interop.Excel 程序集从 Excel 电子表格导出/导入数据。一切都很好(除了基于 1 的索引和所有这些可选参数!),直到我尝试使用条件格式。当我调用 Range.FormatConditions.Add 时,我得到一个 MissingMethodException 告诉我不存在这样的方法。这在 Vista 和 XP 中都会发生。

以下是生成异常的代码示例:

0 投票
1 回答
1772 浏览

excel - 打印与屏幕和分页符的 Excel 条件内容/格式

我在 Excel 中有一个 VBA 发布宏,它根据主配置工作表和一些包含数据的工作表生成一个已发布的工作簿。发布的版本是直接数据,仍然是格式化的,但没有公式,并且隐藏了某些注释和背景信息。基本上,主配置包含要发布的工作表名称和范围表。

为了使发布的版本可打印,一些工作表需要插入分页符。我意识到我可以基于相同的配置插入这些,我还可以通过在我的主工作表中添加更多列来更改特定工作表的打印方向和边距。

棘手的地方来了。如果一个表在发布过程中插入了其中一些分页符,我希望在分页符之前插入一个信息行,指示该表在下一页继续。但我只希望它出现在印刷版本中,而不是显示在屏幕显示中。

有没有办法做到这一点?

0 投票
1 回答
3807 浏览

excel - Excel 条件格式可以在条件中使用 UDF 吗?

我在 Excel 中有一个单元格,我想根据用户定义的公式 (UDF) 设置不同的格式 - 我的公式测试单元格中是否有公式...

我正在尝试对我的 UDF 使用条件格式来格式化单元格 - 但它似乎不起作用。

我的情况是这样的:

我试过不带引号,但得到错误

您不能将对其他工作表或工作簿的引用用于条件格式条件

也许问题与我在单独的宏工作簿中定义的 UDF 而不是我的主工作簿有关...

我在2005 年的这篇博客文章中看到了它,但只是顺便说一句......

提前致谢。克里斯

0 投票
2 回答
835 浏览

excel - 使用参考范围的 Excel 条件格式

我有一个观察范围,其中某些单元格以黄色突出显示。对于这些单元格中的每一个,都有一个对应的参考值都位于一列中。

我想突出显示目标范围内的所有单元格,red其中相应参考单元格中的值与目标单元格中​​的值匹配。

我想出的代码如下,但是我无法修复某种编译错误。显然,手表范围不能由“多个范围”组成。

0 投票
1 回答
173 浏览

excel - Excel:如何进行 DRY 格式化?

我有一些条件格式样式。我不想继续为新范围创建新规则;我宁愿遵循 DRY 声明一次并在其他地方引用它。我很难做到这一点。

当它只有一个范围时,条件格式规则可以正常工作。

=Travel!$C$5:$P$8

但是,然后我尝试在另一张纸上添加另一个范围,但它失败了。

=Travel!$C$5:$P$8,Equipment!$B$5:$H$11

当我单击“应用”时,电子表格上没有任何反应,相关规则的范围将自行重置为:

=Travel!$C$5:$P$8

有没有办法做到这一点?

0 投票
2 回答
1716 浏览

excel - Excel的条件格式公式是否损坏

好的,所以我使用的是 excel 2007,并且正在尝试做一些相当复杂的条件格式。考虑以下:

突出显示单元格。

突出显示第二行有 5 个列中的单元格。

突出显示单元格。

没有亮点?

似乎我能做的任何复杂的事情都行不通。即使将表达式直接放入单元格时计算结果为真,它也并不总是使格式正确工作。有没有其他人经历过这个?有人有解决方法吗?

0 投票
1 回答
1368 浏览

excel - Excel 2007 具有负值的 3 色标尺

鉴于以下数据

我想向值列添加 3 色标度条件格式,以便单元格

使用公式如

似乎不起作用。单元格值 > 0 是红色,单元格 < 0 是绿色,但单元格 = 0 不是白色(它是绿色)

定义公式的正确方法是什么?

0 投票
1 回答
52175 浏览

excel - 根据相邻的下拉值更改Excel中的单元格颜色

我了解如何制作下拉列表。我了解如何使条件格式更改单元格的颜色。我不明白的是如何使条件格式仅根据另一个单元格的状态(而不是比较)来更改单元格的颜色。

A1是一个No / Yes下拉列表

B1是一个标准语句

如果用户满足 中的条件语句B1,他们会Yes在 中的下拉列表中进行选择A1。为了快速参考,如果可能的话,我想B1在此事件上更改为绿色背景色,当然如果下拉菜单重置为No.

这在 Excel 2003 和/或 2007 中是否可行?