将INDEX(MATCH())与ARRAYFORMULA()组合失败



我需要一个VariantAttribute列的公式,它根据VariantID的前4个字符填充ProductAttribute

期望结果:

蓝色
ProductID 产品属性 VariantID VariantAttribute
ABCD 蓝色 ABCD xx
BCDE 黑色 yy 蓝色
CDEF 橙色 BCDE vv 黑色
DEFG 蓝色 BCDE ww 黑色
CDEF uu 橙色
DEFG zz 蓝色
uu 蓝色

假设破折号("-")是一致的。

=ARRAYFORMULA(IF(D2:D="",,VLOOKUP(INDEX(SPLIT(D2:D,"-"),,1),A:B,2,0))