Microsoft Excel - 条件格式将列中的单元格与不同列的同一行中的单元格匹配
Microsoft Excel - Conditional Formatting to match cell in column to cell in same row of different column
我在 Excel 2013 年创建了一个工作簿,我工作的每个工程师都必须使用它来检查输入到系统中的数据。我们能够将文件导出到 XLS,我创建了一个宏来提取所有数据和条件格式以显示需要修复的 "errors"。
我们正在对工作簿进行版本控制,为此我正在尝试获取一些更复杂的公式来检查数据。有几列需要在一次检查中交叉检查,因为它们应该匹配。这意味着我需要一个格式规则来查看列中的任何给定单元格,并检查同一行中的其他单元格,但不同的列,并确保它们匹配..
例如:
A 列是标签 ID 文本,在本例中为 1 - 1.5" HDPE。
B 列是风管数,即 1
C 列是风管尺寸,即 1.5"
D 列是风管类型,即 HDPE。
我在标签 ID 文本中提取字符串的 3 个独立部分,并将其与其他列匹配。如果不匹配,它会突出显示不匹配的 B-D 列。我手动创建了一个我需要它做什么的例子。
示例:
因此这涉及到使用字符串,特别是函数 LEFT
、RIGHT
、MID
,并且还要注意比较项目的方式。
这一切都涉及到如何将值与第一列中的字符串分开。为了测试您的所有功能,请开始使用空单元格慢慢构建公式以 assemble 整体逻辑。
在计算管道数量时,您可以看到您想要 "the number to the left of the dash character"。所以你会这样开始...
=FIND("-",A2)
您只需要破折号左侧的字符,因此使用 LEFT
函数
=LEFT(A2,FIND("-",A2))
其中 returns 的值为 1 -
,但您不想包含破折号,因此减去一个。
=LEFT(A2,FIND("-",A2)-1)
现在,如果您将此值与 B 列中的风管计数进行比较,您将得到
=LEFT(A2,FIND("-",A2))=B2
给出的值为 FALSE
。这是因为您构建的 LEFT
函数的结果是字符串“1”而不是数字。所以使用另一个函数将其转换为数字
=NUMBERVALUE(LEFT(A2,FIND("-",A2)-1))=B2
现在您得到 TRUE
的正确结果。
因此突出显示单元格 B2:B5 和 select 条件格式-->新规则。然后选择 "Use a formula to determine which cells to format"。然后输入您的公式(整个 =NUMBERVALUE 东西)和 select 您的格式。您已完成该专栏。
继续研究如何分隔其他列的值。如果您有更多问题,我们可以提供帮助。
请清除 ColumnsB:D 中的任何现有 CF,select 它们和主页 > 样式 - 条件格式,新规则...,使用公式来确定哪些单元格format 和 格式化值,其中此公式为真::
=NOT(OR(B1=--LEFT($A1,FIND("-",$A1)-2),B1=MID($A1,FIND("-",$A1)+2,FIND("-",$A1)+1),B1=MID($A1,FIND("""",$A1)+2,LEN($A1))))
格式...,select 格式选择,OK,OK.
我在 Excel 2013 年创建了一个工作簿,我工作的每个工程师都必须使用它来检查输入到系统中的数据。我们能够将文件导出到 XLS,我创建了一个宏来提取所有数据和条件格式以显示需要修复的 "errors"。
我们正在对工作簿进行版本控制,为此我正在尝试获取一些更复杂的公式来检查数据。有几列需要在一次检查中交叉检查,因为它们应该匹配。这意味着我需要一个格式规则来查看列中的任何给定单元格,并检查同一行中的其他单元格,但不同的列,并确保它们匹配..
例如: A 列是标签 ID 文本,在本例中为 1 - 1.5" HDPE。 B 列是风管数,即 1 C 列是风管尺寸,即 1.5" D 列是风管类型,即 HDPE。
我在标签 ID 文本中提取字符串的 3 个独立部分,并将其与其他列匹配。如果不匹配,它会突出显示不匹配的 B-D 列。我手动创建了一个我需要它做什么的例子。
示例:
因此这涉及到使用字符串,特别是函数 LEFT
、RIGHT
、MID
,并且还要注意比较项目的方式。
这一切都涉及到如何将值与第一列中的字符串分开。为了测试您的所有功能,请开始使用空单元格慢慢构建公式以 assemble 整体逻辑。
在计算管道数量时,您可以看到您想要 "the number to the left of the dash character"。所以你会这样开始...
=FIND("-",A2)
您只需要破折号左侧的字符,因此使用 LEFT
函数
=LEFT(A2,FIND("-",A2))
其中 returns 的值为 1 -
,但您不想包含破折号,因此减去一个。
=LEFT(A2,FIND("-",A2)-1)
现在,如果您将此值与 B 列中的风管计数进行比较,您将得到
=LEFT(A2,FIND("-",A2))=B2
给出的值为 FALSE
。这是因为您构建的 LEFT
函数的结果是字符串“1”而不是数字。所以使用另一个函数将其转换为数字
=NUMBERVALUE(LEFT(A2,FIND("-",A2)-1))=B2
现在您得到 TRUE
的正确结果。
因此突出显示单元格 B2:B5 和 select 条件格式-->新规则。然后选择 "Use a formula to determine which cells to format"。然后输入您的公式(整个 =NUMBERVALUE 东西)和 select 您的格式。您已完成该专栏。
继续研究如何分隔其他列的值。如果您有更多问题,我们可以提供帮助。
请清除 ColumnsB:D 中的任何现有 CF,select 它们和主页 > 样式 - 条件格式,新规则...,使用公式来确定哪些单元格format 和 格式化值,其中此公式为真::
=NOT(OR(B1=--LEFT($A1,FIND("-",$A1)-2),B1=MID($A1,FIND("-",$A1)+2,FIND("-",$A1)+1),B1=MID($A1,FIND("""",$A1)+2,LEN($A1))))
格式...,select 格式选择,OK,OK.