我有一个包含 3 列的车辆数据电子表格来记录里程表。
- 维修或加油期间的里程表
- 里程表开始一次旅行
- 里程表结尾一次旅行
由于人们没有提交文件或取消行程,数据行之间会出现空白。因此空白单元格是不可避免的。
我想使用条件格式来突出显示开始里程表是较少的比上次旅行结尾里程表。这将需要跳过空白单元格并找到记录了结束里程表的最后一次行程。
我在 Google 表格中获得了帮助,可以使用以下公式来执行此操作,但此公式在 Excel 中不起作用。
=(K9 > +sort(L$7:L8, not(isblank(L$7:L8)) * row(L$7:L8), false)) * not(isblank(K9)) * (+sort(L$7:L8, not(isblank(L$7:L8)) * row(L$7:L8), false) <> "Beginning")
有人可以帮忙吗?
答案1
您想要查找当前行上方 L 列中的最后一个非空白行吗?这是您要在第 2 行输入的公式:
=LOOKUP(2,1/($L$1:$L1<>""),$L$1:$L1)
请注意,第一个公式$L$1
对于列和行都是绝对的,但第二个公式$L1
对于行来说是相对的,因此它会随着您向下复制/粘贴而更新。第 3 行中的公式(当您通过表格复制/粘贴/填充时)将自动为:
=LOOKUP(2,1/($L$1:$L2<>""),$L$1:$L2)
现在您知道了如何执行此操作,您可以将条件格式应用于范围内的值K2:K1000
或数据末尾的任何位置:
=AND(ROW()>2,NOT(ISBLANK(K2)),K2<LOOKUP(2,1/($L$1:$L1<>""),$L$1:$L1))
我们必须添加两个排除项:
- 行 > 2,因为任何数字都会小于文字“Ending”,而这只是您仅考虑 2 以上的行时所得到的。
- 该单元格不为空白。
注意:您不需要在辅助列中添加任何公式,如屏幕截图中 N 列所示。我只是将其保留在那里,以便您可以看到条件格式中的公式是如何工作的。