在我们的印象中 , 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)
【可能你不太相信,Vlookup函数也可以查找多个结果】
文章插图
明白连接原理后 , 只需要稍修改公式 , 把日期用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,),””)
最后结果为:
文章插图
推荐阅读
- 你会用 F4 键吗?
- 这个神秘的Excel日程表功能,你会用吗?
- 各种场合鲜花与咖啡的搭配
- 金樱子的药理作用
- 黄姜怎么做好吃
- 白术药用价值强 帮你了解白术
- 国外流行文化的搭讪台词
- 精选15句 关于清明节说说你是怎么过节
- excel图表使用VBA创建进度条
- Lavender flower language 薰衣草花语:只为等你(Waiting for love)