复杂条件格式

复杂条件格式

我是一名注册会计师,拥有丰富的 Excel 经验,但似乎无法找到这个问题的答案(我自己的)。有没有办法对以下示例应用条件格式:

示例:我有一个公式 =sum(B4,C28,A32,B40)---> 有没有办法在单元格 B4、C28、A32 和 B40 上应用条件格式规则,以自动突出显示公式中使用的单元格?

^ 这将对我正在进行的银行对账有很大帮助。无需手动突出显示。有许多单元格我必须手动执行此操作。我坚信对账应尽可能自动化(事实上,我的大部分侦察只是我制作的拖放模板,可以自动精确定位大部分侦察项目)。

注意:目前我正在做的是使用 =isformula(xxxxx) 对必须手动配对的单元格进行操作。然后突出显示以确保所有内容均已捕获/没有遗漏。

答案1

您所描述的听起来像是电子表格审计。Excel 有一些内置工具可帮助您完成此操作。

您可以使用公式功能区上的“跟踪先例”来绘制指向当前单元格所依赖的单元格的线条。使用“删除箭头”来删除箭头。

在此处输入图片描述

或者,您可以通过单击“公式”功能区上的“显示公式”来使用“公式”视图(或使用 Ctrl+`——即美式键盘上数字 1 左侧的反勾)。这将在单元格中显示公式而不是结果,并且公式中使用的任何单元格都将突出显示。

在此处输入图片描述

条件格式不是一种好方法,因为您必须将条件格式应用于电子表格中的所有单元格。这会让事情变得非常缓慢。

答案2

是的,你可以以此FORMULATEXT()为基础:

=IFERROR(FIND(SUBSTITUTE(CELL("ADDRESS",INDIRECT(ADDRESS(ROW(),COLUMN()))),"$",""),FORMULATEXT($C$1)),0)<>0

以上假设您知道要检查的公式所在的单元格。它使用 $C$1,但当然您可以将其更改为您想要的任何单元格。

您可以为任何单个单元格创建条件格式(“CF”)规则但要在单元格内进行操作:选中该单元格,然后将单元格并粘贴格式复制至您希望包含在 CF 中的任何其他单元格。

我设想您有一个包含SUM()公式的单元格,并正在直接填充它引用的单元格。如果您有一个正在某处输入的列表,您可以在制作 CF 公式时直接引用它。

该公式用于ADDRESS()为所选单元格以及最终覆盖 CF 的任何单元格创建文本单元格引用。然后,它用于INDIRECT()使其成为“真实”单元格引用。最后,它用于SUBSTITUTE()删除 $(给出“A1”而不是“$A$1”)。

这将成为您在添加单元格的函数FIND()中寻找的材料。用于获取该公式的文本,并且由于“SUM(”和“)”不是任何可接受的单元格引用的一部分,因此不需要对它们进行任何操作,而只需在括号之间引用的单元格中进行搜索。检查是否失败,如果失败,则给出 0 作为结果,因为无法产生 0 结果。这意味着您可以从此步骤中获得一些正整数或 0。SUM()FORMULATEXT()FIND()IFERRORFIND()

最后,CF 检查其是否为 0,如果不为 0,则按照您喜欢的方式突出显示该单元格。

这是似乎无人探索的更广泛功能的一部分。我可以创建命名范围,()并可以将其附加到括号中,就像在“真实”函数中输入参数一样。然后,几个支持命名范围的函数会给我一个命名范围,它看起来和行为都像在 Excel 中编程的函数一样,SUM()带有我选择的任何参数。同事们最喜欢的包括ourLOOKUP()(公司名称,而不是“我们的”)采用 INDEX/MATCH 参数并将它们放入像 这样的函数中VLOOKUP()

因此,UDF 本质上是,不需要了解太多 VBA 或遇到不允许使用 VBA 的地方。

第一次做这件事有点糟糕,而且很敏感,但很好。

()但是,如果您像我猜测的那样填充了,上述内容将处理您的突出显示SUM()。不会将答案扩展到解决更大的任务,只会处理您询问的突出显示。

相关内容