请看一下我所附的图片,因为它很难描述,这将使理解我的问题更加容易。
在第一个表中,我有一个产品的容量数据。容量按列中指示的日期更改,即,从2017年7月起,容量将为56,从2018年12月起,容量将从2019年10月开始,99从2019年10月开始。我之所以不写下每个月的容量,是因为我想保存列。
在第二张表中,我每个月都有。我想参考每个月的正确容量,例如到2018年12月,每个月将为56。
我一直在考虑= INDEX函数,但这似乎很复杂。有没有不用VBA就能引用这样的方法? VBA解决方案是否简单?还是我被迫在第一张表中为每个月的容量写一栏?谢谢! https://i.imgur.com/mRoBtTo.png
答案 0 :(得分:0)
您可以简单地使用多个IF语句将列中的月份与第一张表中给出的月份进行比较,然后输入相应月份的值。
让我们承认您的第一行是1,第一列是A,它应该显示以下内容:
= IF(D7>=$F$2; $F$3; IF(D7 >= $E$2; $E$3; IF(D7 >= $D$2; $D$3; "")))
答案 1 :(得分:0)
我看不到列和行,因此希望您可以根据以下公式正确更改它们:
= HLOOKUP(C111,$ C $ 106:$ P $ 107,2,TRUE)
答案 2 :(得分:0)
以上两个答案都可以很好地工作,但是我会这样- 您实际上不需要找到先前的容量。您只需在索引公式中使用近似匹配(类似于hlookup答案)
=+INDEX($B$4:$E$5,MATCH($B$9,$B$4:$B$5,0),MATCH(C9,$B$4:$E$4,1))
乘积$ B $ 9精确匹配(0),但日期C9大于或等于(1)。
$ B $ 4:$ E $ 5是容量的来源, C9:AF9日期时间轴
最终的优势是您可以对多个产品进行索引,而不仅仅是单个产品。
答案 3 :(得分:0)
能否请您尝试以下公式并提供反馈?
=IF(AND(D8>=D2,D8<E2),"56",IF(AND(D8>=E2,D8<F2),"78",IF(D8>=F2,"99")))