我需要根据单元格值将一个完整的行从一个Excel工作表拉到另一个Excel工作表

oknrviil  于 2023-02-05  发布在  其他
关注(0)|答案(1)|浏览(144)

我有两个Excel工作表。在第一个工作表中,每行有一个名为"Sales Order"和"SO Item"的列(产品)加上一些其他列。在这个表中,我连接了"销售订单"和"销售订单项目",这样我就有了销售订单的父级(xxxxxxx00)以及销售订单子项(xxxxxxx01,xxxxxxx02,...,xxxxxxx09)。然而,在第二个工作表中,我也有"concatenation"列,但只包含"Sales Order"父级。2如何将包含每个父级的子级的整行从工作表1拉到工作表2?
我尝试过使用VLOOKUP执行此操作,但它只返回一个子值(xxxxxxx001),而且不会返回此代码所在的整行
表1为:
| 销售订单|销售订单项目|串联|材料描述|Feas计划日期|
| - ------|- ------|- ------|- ------|- ------|
| 小行星25033|一百|小行星25033|SYS-7210标准分析系统-多功能型|束头|
| 小行星25033|一百零一|小行星25033|PS-7210 SAS-T/多功能|二○二三年一月三十一日|
| 小行星25033|一百零二|小行星25033|SYS-7210标准配置系统-多路复用器2VDC|全局分配|
| 小行星25033|二百|小行星25033|操作系统-7210 SAS-Mxp|二○二三年一月三十一日|
表2为:
| 销售订单|销售订单项目|串联|材料描述|Feas计划日期|
| - ------|- ------|- ------|- ------|- ------|
| 小行星25033|一百|小行星25033|SYS-7210标准分析系统-多功能型|束头|
| 小行星25033|二百|小行星25033|操作系统-7210 SAS-Mxp|二○二三年一月三十一日|
我希望表2从表1中提取缺少的"Concatenation"项。

wydwbb8l

wydwbb8l1#

这个问题并不清楚如何表示输出。我假设Table2是查找表。根据输入数据,您需要返回整个Table1,我假设您的Table1在实际情况下具有更多数据,并且您希望仅提取基于查找表的信息。在构建串联的方式中,对于代码,只需要SO物料列值。使用以下公式G2

=LET(tbA, A3:E4, tbB, A9:E12, soA, 1*INDEX(tbA,,2), soB, 1*INDEX(tbB,,2),
  DROP(REDUCE("", soA, LAMBDA(ac,x, LET(f,
  FILTER(tbB, (soB >= x) * (soB < x+100),""), IF(@f="", ac, VSTACK(ac,f))))),1))

下面是输出:

条件:

IF(@f="", ac, VSTACK(ac,f))

这只是为了防止FILTER输出(f)的结果为空,如果您希望包含父项,则实际上没有必要这样做(条件:soB >= x,因为它是在公式中),但如果你想排除它(soB > x),那么你需要它。如何在Excel中将表格从垂直转换为水平,但长度不同,如何使用DROP/REDUCE/VSTACK模式。如果输入数据是文本格式,我将SO Item列的值转换为数值(INDEX乘以1),否则不需要。

相关问题