一、excel双重匹配功能
这个题确实是比较难,我试了几次才找到一个比较完美的公式写法。
如你的表中所列的的数据,sheet1中A1~A16为年份,B1至B16为代码,
sheet2中,A1至A12为代码,B1至B12为年份,C1至C12为数据。想实现你的要求,需要用数组公式进行编辑,在Sheet1的C1单元格内输入以下公式:
=IF(ISNA(INDEX(Sheet2!$C$1:$C$16,MATCH(B1&A1,Sheet2!$A$1:$A$12&Sheet2!$B$1:$B$12,0))),"",INDEX(Sheet2!$C$1:$C$16,MATCH(B1&A1,Sheet2!$A$1:$A$12&Sheet2!$B$1:$B$12,0)))
然后CTRL+shift+回车结束数组公式的输入。注意:三键结束后,公式在编辑栏中两端有大括号,那是数组公式的标志,而且不是打上的。
然后指向C1单元格向下拖动进行公式填充,到C12单元格,
这样,有数据的显示,无数据的,显示为空白。
公式的核心是:INDEX(Sheet2!$C$1:$C$16,MATCH(B1&A1,Sheet2!$A$1:$A$12&Sheet2!$B$1:$B$12,0))这是数组公式将两个检索条件并成一个条件的关键一步。另外的if函数与isna函数主要是为了解决公式查询不到值时显示的#N/A这个错误提示的作用。不影响公式的计算过程。
二、excel双条件匹配的这种情况怎么做
既然大多数都是同一个价,只有这5家是区别对待的,可以建列价格表,一个是这5个客户的,一个是其他客户的,然后用IF+VLOOKUP函数就行了
如图在A到C列建一个产品与价格对照表,5家的价格放一起,其他家放一起,D列建一个这5个客户的名称列
在H2单元格求出符合F2和G2条件确定的价格
公式为=IF(COUNTIF(D2:D6,G2),VLOOKUP(F2,A:B,2,0),VLOOKUP(F2,A:C,3,0))
首先在D2:D6查找G2的客户名,如果能找到,就用VLOOKUP函数在B列找产品对应的价格
如果D2:D6没有G2单元格客户的名字,就到第C列查找产品对应的价格
三、excel中如何通过两列的值进行匹配
1.可以使用excel中的VLOOKUP函数对这两列数据进行匹配。输入VLOOKUP系统会自动提示用法。
2.这个函数里面有四个参数。分别对应的是要查找的值,查找的区域,返回的列,近似还是精确匹配。
3.输入函数=VLOOKUP(A1,B:B,1,0)。然后按回车键。即可。这个函数表示要查找A列的数据,在B列中进行匹配。返回A列的数据,模糊匹配。
4.在C列中返回A说明A列的数据在B列中可以匹配到,并放到了C列。然后放在单元格右下角,鼠标变成十字后双击,即可完成所有数据的匹配。