如何基于INDEX-MATCH匹配行的相邻单元格修改公式输出?
解决方案
方法1:扩展MATCH匹配条件+IFERROR返回空
直接在原MATCH的条件中加入data!$D$2:$D$100<>"U"(假设qualifier列是D列),仅当site、parameter匹配且qualifier不为U时才返回对应value;若qualifier为U,MATCH会找不到匹配项,此时用IFERROR返回空值,公式如下:
=IFERROR(INDEX(data!$C$2:$C$100,MATCH(1,(B$1=data!$A$2:$A$100)*($A2=data!$B$2:$B$100)*(data!$D$2:$D$100<>"U"),0)),"")
注:如果qualifier列不是D列,替换成实际列标即可;旧版Excel需按
Ctrl+Shift+Enter确认数组公式,新版Excel会自动识别数组计算。
方法2:数值型value专用简洁写法
若你的value是数值类型,可通过逻辑判断直接过滤qualifier为U的情况,公式如下:
=INDEX(data!$C$2:$C$100,MATCH(1,(B$1=data!$A$2:$A$100)*($A2=data!$B$2:$B$100),0))*(INDEX(data!$D$2:$D$100,MATCH(1,(B$1=data!$A$2:$A$100)*($A2=data!$B$2:$B$100),0))<>"U")
注:此方法不适用于文本型value,否则会返回
#VALUE!错误。
内容的提问来源于stack exchange,提问作者Erin Sp
相关产品推荐
相关产品推荐

