![如何应用特定于每一行的条件格式?](https://linux22.com/image/1438080/%E5%A6%82%E4%BD%95%E5%BA%94%E7%94%A8%E7%89%B9%E5%AE%9A%E4%BA%8E%E6%AF%8F%E4%B8%80%E8%A1%8C%E7%9A%84%E6%9D%A1%E4%BB%B6%E6%A0%BC%E5%BC%8F%EF%BC%9F.png)
在我的工作表中,我想应用一些条件格式,当以下情况属实时,它会提醒我:
IF (len(J7) + len(h14) + len(i14) > 256) = TRUE: apply some formatting on I14.
IF (len(J7) + len(h15) + len(i15) > 256) = TRUE: apply some formatting on I15.
IF (len(J7) + len(h16) + len(i16) > 256) = TRUE: apply some formatting on I16.
IF (len(J7) + len(h18) + len(i18) > 256) = TRUE: apply some formatting on I18.
IF (len(J7) + len(h19) + len(i19) > 256) = TRUE: apply some formatting on I19.
IF (len(J7) + len(h20) + len(i20) > 256) = TRUE: apply some formatting on I20.
...依此类推,直到无穷大。
我正在制作一个包含三个组件的字符串,第一个组件始终位于 J7 中,然后它是每行的“h”和“i”单元格的组合,从第 14 行开始一直向下。如果该特定行上的字符串超过 256 个字符,我希望对该行发出某种通知。
我无法使用条件格式工具使其工作。我选择要格式化的列,然后在条件格式工具框中写入公式,并使其在第 14 行上工作,就像我希望的那样。但是当我检查第 15 行上的单元格时,评估第 14 行单元格的规则相同。基本上,我所做的就是如果第一行满足条件,则对我选择的所有行应用条件格式。
有任何想法吗?
它不必通过条件格式来解决.. vba 或其他东西也可以同样有效..
答案1
我没看出其中的规律。
IF (len(J7) + len(h14) + len(i14) > 256) = TRUE: apply some formatting on I14.
IF (len(J7) + len(h15) + len(i15) > 256) = TRUE: apply some formatting on I15.
IF (len(J7) + len(h16) + len(i16) > 256) = TRUE: apply some formatting on I16.
IF (len(J8) + len(h18) + len(i18) > 256) = TRUE: apply some formatting on I18.
IF (len(J9) + len(h19) + len(i19) > 256) = TRUE: apply some formatting on I19.
IF (len(J20) + len(h20) + len(i20) > 256) = TRUE: apply some formatting on I20.
这是你的实际模式吗?
IF (len(J14) + len(h14) + len(i14) > 256) = TRUE: apply some formatting on I14.
IF (len(J15) + len(h15) + len(i15) > 256) = TRUE: apply some formatting on I15.
IF (len(J16) + len(h16) + len(i16) > 256) = TRUE: apply some formatting on I16.
IF (len(J18) + len(h18) + len(i18) > 256) = TRUE: apply some formatting on I18.
IF (len(J19) + len(h19) + len(i19) > 256) = TRUE: apply some formatting on I19.
IF (len(J20) + len(h20) + len(i20) > 256) = TRUE: apply some formatting on I20.
答案2
规则是,你需要应用适用于左上角单元格范围 - Excel 将自动调整范围结果的公式,就像公式被复制到工作表中一样,因此如果您选择一个范围,I14:I1000
则可以应用正确的公式I14
,即
=LEN(J$7&H14&I14)>256
因为我在 J7 值中使用了 $,这会将行“固定”在 7,而其他行将递增。您看不到这一点,但这就是它内部的工作方式。
注意:你不需要 IF 语句,只需要一个结果为TRUE
或的“测试”FALSE
答案3
选择您想要影响的列,然后使用此公式。
=(LEN($J$7)+LEN($H1)+LEN($I1))>256