淘宝收费200元的Excel高级查找问题,居然被我5分钟搞定!

2018-12-05 12:29:44 0 0

来,跟着卢子一起看这个淘宝收费200元的问题。


B表,型号出现多次,有记录每个型号对应的内部资产卡片号、序列号和保管地点。


A表,型号出现的次数比B表更多次,现在要根据型号按顺序查找对应的内部资产卡片号、序列号和保管地点。


在L1单元格输入公式,按Ctrl+Shift+Enter三键结束,下拉和右拉公式。

=IFERROR(INDEX(B!F:F,SMALL(IF(B!$B$2:$B$12=A!$I1,ROW($2:$12)),COUNTIF(A!$I$1:$I1,A!$I1))),"")


这条复杂公式刚好就是卢子招答疑老师的其中一道题目,答疑老师要在10分钟以内写出来,至于卢子5分钟之内就可以搞定。


当然,今天卢子是不会介绍这条复杂公式,采用辅助列的方法来解决这个问题。


化繁为简才是卢子最擅长的。


Step 01 型号原来是不唯一的,没法直接用VLOOKUP函数查找。需要在B表增加一个辅助列,用型号连接出现的次数,这样就变成了唯一值。

=C2&COUNTIF(C$2:C2,C2)


Step 02 同样道理,A表也可以用辅助列获取不重复型号。

=$I1&COUNTIF($I$1:$I1,$I1)


当然这个作为VLOOKUP函数的参数,不用辅助列也可以,完全不影响。

=VLOOKUP($I1&COUNTIF($I$1:$I1,$I1),B!$A:$I,COLUMN(G1),0)


Step 03 VLOOKUP函数查找不到对应值会显示错误值,不美观,加一个容错函数IFERROR,让错误值显示空白。

=IFERROR(VLOOKUP($I1&COUNTIF($I$1:$I1,$I1),B!$A:$I,COLUMN(G1),0),"")


到此问题就解决了,省去200元。



来源:EXCEL不加班,作者:卢子