在我们的印象中,Vlookup虽然是工作中最常用的查找函数,但它的能力太有限,只能实现简单的查找。其实,如果用Vlookup+辅助列的方法,很多高难度的查找也可以实现,比如下面超高难度的一对多查找合并。
在我们的印象中,Vlookup虽然是工作中最常用的查找函数,但它的能力太有限,只能实现简单的查找。其实,如果用Vlookup+辅助列的方法,很多高难度的查找也可以实现,比如下面超高难度的一对多查找合并。
商品入库明细表
要实现的合并效果:(把某个商品所有进货记录放在一个单元格里并除重复)
想实现这个合并效果并不容易,为方便同学们理解,我们先简后繁,先放弃显示A列的日期。
1、添加辅助列:
D11单元格公式
=C11&IFERROR(CHAR(10)&VLOOKUP(B11,B12:D$12,3,),””)
公式说明:
整个公式是利用循环连接的方式在最上面一个记录中生成连接结果
CHAR(10):返回换行符,在字符串指定位置强制换行
VLOOKUP() :查找下面指定产品的已连接的价格字符串
IFERROR( :如果下面没有就返回空白
2、生成连续结果
在下表中用vlookup函数直接从上表中查找返回辅助列的结果,最后还要设置为自动换行。
=VLOOKUP(A14,B1:I11,3,0)
明白连接原理后,只需要稍修改公式,把日期用text函数格式化后,连接到字符串中即可:
D11单元格:
=TEXT(A11,”yyyy-mm-dd”)&”入库单价:”&C11&IFERROR(CHAR(10)&VLOOKUP(B11,B12:D$12,3,),””)
注:如果不用text函数,日期会显示为数字。
如果想除去重复值,辅助列还要加上重复值不连接的判断
D11的公式修改为:(由于时间来不及,公式未优化)
=IF(IFERROR(VLOOKUP(B11,B12:C$12,2,)=C11,0)-1<0,TEXT(A11,”yyyy-mm-dd”)&”入库单价:”&C11&CHAR(10),””)&IFERROR(VLOOKUP(B11,B12:D$12,3,),””)
最后结果为: