首页 > 解决方案 > 根据收集的间隔缩放和有条件地格式化工作表

问题描述

我正在尝试为一些示例数据创建一个缩放的日志,但我不知道从哪里开始。

我收集如图 1 所示的数据。

收集数据示例

我正在尝试创建一个看起来像第二个图像的日志,其中单元格根据它们的值(粘土、沙子、砾石)有条件地格式化,如果日志更长(即 0.1m 中的 500m),它需要缩小页面增量)。

每行需要为 0.1m,但数据是按间隔(从,到)收集的。

在此处输入图像描述

是否有人能够建议一种使用 VBA 进行探索的方法,我已经尝试了一个 if(and( 语句来根据间隔为单元格着色,但嵌套的 if 不是一个选项。

提前致谢。

标签: excelvba

解决方案


在多个条件下比较数据时,请使用SUMPRODUCT()函数。要使函数参数为数字而不是逻辑,请将每个条件包装在N()函数中。条件格式的条件公式

=SUMPRODUCT(N(B$1=$H$2:$H$5);N($A2>$F$2:$F$5);N($A2<=$G$2:$G$5))>0

将完成所有工作(当然,必须将公式中的所有地址更改为您的真实数据 - 此公式使用我示例中显示的范围)。

CondFormatIntervals.png

(在评论中讨论后改进了答案)


推荐阅读