Excel:如何自动将 B 列中的单元格格式化为与 A 列中的单元格(值)相同的格式?

Excel:如何自动将 B 列中的单元格格式化为与 A 列中的单元格(值)相同的格式?

我有 2 列(A 和 B)零件编号。A 列包含以多种颜色突出显示的零件。B 列没有任何突出显示的零件。如果 B 列中任何一个单元格包含与 A 列中相同的零件编号,我希望用相同的颜色格式化该单元格。

例子:

在此示例中,我手动突出显示了 B 列中的单元格,以显示我希望能够自动执行的操作。

我一直在手动突出显示 B 列,但这非常耗时。实际文件有几千行长。我想使用某种公式,这样我就不必花时间手动执行此操作。

注意:B 列中以红色突出显示的单元格是唯一值,当我开始此过程时,这些单元格已经完成。此外,我可以忽略白色单元格。

答案1

可以做到,也许使用 VBA 编码最容易 - 但还有另一种无需编码的方法:

  1. 有一个名为 GET.CELL 的旧 Excel 4.0 宏函数,您只能从命名范围调用它,它可以返回有关单元格的信息,例如其填充颜色。
  2. 因此,您可以使用 MATCH 查找 A 列中的第一个匹配值(我们称之为数据),然后INDEX(data, MATCH(data, B2, 0))返回对匹配单元格的引用,然后GET.CELL(63, INDEX(...MATCH(...)))返回匹配单元格的填充颜色并将所有这些作为命名范围执行,我们称之为匹配
  3. 现在用“使用公式......”定义条件格式并将其=matchbg=3匹配到标准红色,并选择标准红色作为 CF 填充颜色。
  4. 为所使用的每种填充颜色编号添加额外的 CF 规则(参见提示以下)。
  5. 发生改变时,按 SHIFT+F9 强制重新计算所有 CF 规则。

要定义命名范围,将光标放在 B2 中,按 CTRL+F3 > 新建,命名匹配并将“引用:”设置为

=GET.CELL(63, INDEX(data, MATCH(B2, data,0)))

注意:将文件保存为启用宏的 .xlsm,否则 GET.CELL 宏功能将不起作用。

提示:定义另一个名称获取bg=GET.CELL(63,$A$1)使用它来确定单元格 A1 的填充颜色编号(例如 3 表示红色,6 表示黄色)。

相关内容