根据谷歌表单中的两个标准对产品应用折扣



我有一个服装产品列表,我想根据两个标准为每个产品分配一个折扣码。

A列是产品描述,B列是服装季节,C列是应该生成折扣代码的地方。然后我有一个表格,其中有折扣代码的规则:季节在F列,产品类型在G列,折扣代码在H列。这是电子表格:https://docs.google.com/spreadsheets/d/1zwjjs55BFBtKYJdoznsjXQXGDRWpUs7lQ5lm2tnuUR4/edit?usp=sharing

因此,如果一件产品是夏季t恤,那么它应该被赋予折扣码";AAA";。如果产品与此不匹配,那么我想继续向下查看折扣代码表,直到某个季节和产品类型组合匹配为止。折扣代码需要按照折扣代码表的严格顺序应用。

我可以通过使用IFS公式来实现这一点,但这需要为我添加到表中的每个额外折扣代码使公式变得越来越长。

=IFS( AND(B3=$F$3,REGEXMATCH(LOWER(A3),LOWER($G$3))),$H$3 , AND(B3=$F$4,REGEXMATCH(LOWER(A3),LOWER($G$4))),$H$4 )

有更好的方法吗?感谢

@Tim B,尝试完全清除列C(包括标题(,并将以下公式放入C2:

=ArrayFormula({"Discount Code";IF(A3:A="","",IFERROR(VLOOKUP(UPPER(B3:B)&IFERROR(REGEXEXTRACT(UPPER(A3:A),TEXTJOIN("|",TRUE,UPPER(G2:G)))),{UPPER(F3:F&G3:G),H3:H},2,FALSE),IFERROR(VLOOKUP(UPPER(B3:B)&IFERROR(REGEXEXTRACT(SUBSTITUTE(UPPER(A3:A),IFERROR(REGEXEXTRACT(UPPER(A3:A),TEXTJOIN("|",TRUE,UPPER(G2:G)))),""),TEXTJOIN("|",TRUE,UPPER(G2:G)))),{UPPER(F3:F&G3:G),H3:H},2,FALSE),)))})

相关内容

最新更新