vlookup多条件匹配?

条件1、如当月有采购取当月采购价
条件2、如当月无采购取上月采购价
条件3、如近三月无采购取移动平均价

您可以使用VLOOKUP函数结合其他函数来实现多条件匹配。以下是一个可能的解决方案:

    首先,您需要创建一个辅助列,用于判断当月是否有采购。可以使用IF函数和COUNTIFS函数来实现。例如,假设您的数据在A列到C列,其中A列是日期,B列是采购量,C列是采购价。在D列中,您可以使用以下公式:

    scss复制代码

    =IF(COUNTIFS($A:$A, "<="&EOMONTH(A2, 0), $A:$A, ">="&EOMONTH(A2, -1)), "有采购", "无采购")    

    该公式将判断当前行对应的月份是否有采购。如果有采购,它将返回"有采购",否则返回"无采购"。

    接下来,您可以使用VLOOKUP函数来根据条件查找相应的价格。假设您的价格数据在E列到G列,其中E列是日期,F列是采购价,G列是移动平均价。在H列中,您可以使用以下公式:

    scss复制代码

    =VLOOKUP(D2, $D:$G, 2, FALSE)    

    该公式将根据D列的值(有采购或无采购)在D:G区域中查找相应的价格。如果找到匹配的值,它将返回对应的价格。如果没有找到匹配的值,它将返回#N/A错误。

    最后,您可以使用IFERROR函数来处理未找到匹配值的情况。在I列中,您可以使用以下公式:

    scss复制代码

    =IFERROR(VLOOKUP(D2, $D:$G, 2, FALSE), AVERAGE($F:$F))    

    该公式将使用VLOOKUP函数查找价格,如果返回#N/A错误,则使用AVERAGE函数计算移动平均价作为默认值。

    请注意,上述公式中的列号和条件可能需要根据您的实际数据进行调整。此外,如果您的数据较大或复杂,可能需要使用其他函数或方法来实现更准确的多条件匹配。

温馨提示:答案为网友推荐,仅供参考
相似回答