把你所有的问题都拆开:
如果 C2=R2 且 D2 < T2 则 U2,如果 D2 >T 但 T3 但 < T4,则 U4 如果 D2 > T4 但 < T5 则 U5,如果 D2 > T5 但 < T6 则 U6 但如果 C2 不等于 R2 然后 S8
从这个开始使用NA()
来表示尚未完成的部分(这将显示#N/A
单元格中的值):
=IF(C2=R2,NA(),S8)
添加基于 D2 的查找:
=IF(C2=R2,IF(D2<T2,U2,NA()),S8)
假设下一部分是 D2 > T2 和 D2 < T3(尽管严格来说这个公式说 D2 >= T2)并且结果是 U3:
=IF(C2=R2,IF(D2<T2,U2,IF(D2<T3,U3,NA())),S8)
现在在 T3 和 T4 之间添加:
=IF(C2=R2,IF(D2<T2,U2,IF(D2<T3,U3,IF(D2<T4,U4,NA()))),S8)
T4 和 T5 之间:
=IF(C2=R2,IF(D2<T2,U2,IF(D2<T3,U3,IF(D2<T4,U4,IF(D2<T5,U5,NA())))),S8)
最后在 T5 和 T6 之间:
=IF(C2=R2,IF(D2<T2,U2,IF(D2<T3,U3,IF(D2<T4,U4,IF(D2<T5,U5,IF(D2<T6,U6,NA()))))),S8)
我们仍然有NA()
,因为您尚未定义 C2=R2 和 D2 >= T6 的行为
正如 Stobor 在对您原始问题的评论中所说,使用VLOOKUP
会更好 -有关详细信息,请参阅http://office.microsoft.com/en-us/excel/HP052093351033.aspx
您当前在 T 和 U 列中的结构将无法使用,VLOOKUP
因为:
返回小于查找值的下一个最大值
这意味着它将在您想要的时候VLOOKUP
返回,而不是等等。要解决此问题,您需要将 U 列中的所有条目向下移动一行,将一个虚拟值或放入 U2 并在 T7 中创建一个大于 T6 中现有值的值U3
U2
U4
U3
=NA()