如何用公式快速匹配出一个物料多货位存放的数据,便于快速盘点

记账软件上物料显示有一条数据,我自己有一个手工的货位表,上面记录的哪个位置存放的有什么物料。检查部门来盘点时是依据记账软件上导出的数据进行盘点,记账软件上没有货位显示,实际物料存放在仓库好几个货位,用什么公式可以快速将货位信息匹配出来。 例如:记账软件上导出的数据如下 物料编码:0123456 批次号:753951 数量:50 没有货位信息显示 手工的库存表上记录数据如下 物料编码:0123456 批次号:753951 数量:30 位置:A货位 物料编码:0123456 批次号:753951 数量:5 位置:B货位 物料编码:0123456 批次号:753951 数量:15 位置:C货位 请问用什么公式可以让记账软件上导出的表格,显示出A、B、C这三个货位,方便检查盘点 物料编码和批次号目前我使用连接符号进行&组合,有的物料批次号一样,但是物料编码却不一样
山东省
浏览 149
收藏
3
分享
3 +1
17
+1
全部评论 17
 
亂雲飛渡
回答:用TEXTJOIN嵌套IF可实现 公式=TEXTJOIN("、",,IF(手工!$A$3:$A$8&手工!$B$3:$B$8=A3&B3,手工!$D$3:$D$8,""))
· 广东省
回复
 
十一年
来个矩阵解法
· 黑龙江省
回复
 
恰同学少年
如果是表格形式的数据,动态数组 =TOROW(FILTER(手工记录货位存放位置!D3:D11,手工记录货位存放位置!A3:A11=A3)) 合并至一个单元格 =TEXTJOIN(",",TRUE,TOROW(FILTER(手工记录货位存放位置!D3:D11,手工记录货位存放位置!A3:A11=A3)))
· 黑龙江省
回复
恰同学少年
如果多条数据需要查询。需要拖动填充,把公式改为绝对引用 =TEXTJOIN(",",TRUE,TOROW(FILTER(手工记录货位存放位置!$D$3:$D$11,手工记录货位存放位置!$A$3:$A$11=A3))) =TOROW(FILTER(手工记录货位存放位置!$D$3:$D$11,手工记录货位存放位置!$A$3:$A$11=A3))
· 黑龙江省
回复
 
羽千幽
记账软件导出数据如图一所示 手工记录的物料存放位置如图二所示 这2个数据是在两个表格上,我想在记账软件导出的数据上添加一列货位,通过公式把手工记录的货位信息匹配到第一张表上最终变成图三所示结果
· 山东省
回复
羽千幽
或者货位信息都能显示在一个单元格里面也行
· 山东省
回复
 
Hypnotist
回答:用filter函数来处理。filter(位置,物料编码*批次号,“无”) 如:filter(位置列,(物料编码列=0123456)*(批次号=753951),“未找到”)
· 四川省
回复
 
wils
wils

创作者俱乐部成员

截个图吧,或者脱敏后弄两张例子发到网盘,主要得看清数据在哪几列 另外,是有两张表吗,分别叫什么名字 物料编码和批次号连起来进行筛选,会有什么问题吗
· 海南省
回复
wils
wils

创作者俱乐部成员

如果导出的就是字面这样的文本文件 awk -F' +' 'NR==FNR{d[$1,$2]=d[$1,$2] substr($4,4);next}{print $0 " " d[$1,$2]}' b.txt a.txt
· 海南省
回复
 
恰同学少年
如果是字符串格式的数据,参考公式: =FILTER(A3:A8,REGEXP(A3:A8,CONCAT(CHOOSECOLS(REGEXP(A1,"\d+"),1)),1))
· 黑龙江省
回复
恰同学少年
如果按批次号查询货位号,就把CHOOSECOLS(REGEXP(A1,"\d+"),1),改为CHOOSECOLS(REGEXP(A1,"\d+"),2)。按物料编码查询货位号,就仍为CHOOSECOLS(REGEXP(A1,"\d+"),1)。
· 黑龙江省
回复