Excel公式-如何有条件地用另一个表中的值填充列

Excel公式-如何有条件地用另一个表中的值填充列,excel,if-statement,excel-formula,conditional-statements,Excel,If Statement,Excel Formula,Conditional Statements,我这里有两张桌子: 我想通过参考表2填写表1中的code列。该值的条件是开始日期必须介于表2的ProductionDate和ExpiryDate之间,并且表1中的类型必须与表2中的类型匹配,否则返回NA。我已经提出了单元格D4 =IFS(AND(C4>=$H$4,C4<=$I$4,B4=$G$4),$F$4,AND(C4>=$H$5,C4<=$I$5,B4=$G$5),$F$5,AND(C4>=$H$6,C4<=$I$6,B4=$G$6),$F$6) =I

我这里有两张桌子:

我想通过参考表2填写表1中的
code
列。该值的条件是开始日期必须介于表2的
ProductionDate
ExpiryDate
之间,并且表1中的类型必须与表2中的类型匹配,否则返回NA。我已经提出了单元格
D4

=IFS(AND(C4>=$H$4,C4<=$I$4,B4=$G$4),$F$4,AND(C4>=$H$5,C4<=$I$5,B4=$G$5),$F$5,AND(C4>=$H$6,C4<=$I$6,B4=$G$6),$F$6)
=IFS(AND(C4>=$H$4,C4=$H$5,C4=$H$6,C4您可以尝试
FILTER()
函数

=FILTER($F$4:$F$6,($H$4:$H$6<C4)*($I$4:$I$6>C4)*($G$4:$G$6=B4),"NA")
=过滤器($F$4:$F$6,($H$4:$H$6C4)*($G$4:$G$6=B4),“NA”)

我找到了另一种编写公式的方法:

通过将范围F4:F6命名为
code
、G4:G6命名为
type
、H4:H6命名为
prod\u date
、I4:I6命名为
exp\u date
,我们可以使用下面的IFERROR()和MATCH()函数

=IFERROR(匹配(1,(B4=类型)*(C4>=生产日期)*(C4