我每天都会收到一份 [Microsoft Excel 2013] 信息电子表格,我会从中将数据复制到自己的电子表格中。另一张“输出”表会从中提取我需要的信息,并使用公式以我需要的方式呈现它。
当我收到的工作表的数据与“输出”表所期望的列中的数据相同时,这种方法很有效。不幸的是,虽然收到的电子表格包含我需要的所有数据,但这些数据并不总是以相同的顺序呈现 - 即特定元素显示在哪一列中会有所不同。我无法控制如何接收数据。
有人能告诉我如何在“输出”公式中说“找到正确的列,并使用此列中的数据”吗?
这显示了我需要实现的目标。“输出”表包含公式和数据,我只需从收到的数据表中复制和粘贴即可。收到的数据
但是我收到的工作表可能有相同的数据,但顺序不同,所以当我复制和粘贴时,就会发生这种情况:
我想要实现的是,无论传入的数据处于哪种列顺序,我都可以将其原样复制并粘贴到我的“数据”表中。
在现实世界中,传入的电子表格有三十列或更多,并且我的“输出”表包含许多不同的公式,因此我试图想出一种方法,通过这种方法我不必每天手动重新调整公式或重新排列传入数据的顺序,因为这两个选项都非常耗时。
如果可能的话,我希望使用公式而不是 VBA 来实现这一点,主要是因为我不熟悉使用 VBA 并且 (a) 学习如何使用它会花费更多时间并且 (b) 一旦我意识到一旦我知道了它我还能做多少事情,我的余生就会大大改变!:-)
有人能给我指明正确的方向吗?我尝试寻找答案,但一切似乎都让我找到特定的数据,而不是指定查找的位置。
提前谢谢了。
答案1
如果您可以按原样使用接收到的数据并仅更改注释来源,则可以使用以下命令:在输出表数据外部的空单元格 F10 中,您可以使用以下方法找到注释的列号:
=MATCH("Notes",Data!$A$1:$F$1,0)
其中 Data!$A$1:$F$1 是数据表的第一行(标题)
然后在注释来源列中使用公式:
=LEFT(VLOOKUP($A2,Data!$A$2:$F$9,F$10,FALSE),FIND(" ",VLOOKUP($A2,Data!$A$2:$F$9,F$10,FALSE),1))
您还可以对任何其他列使用相同的匹配
在 B10 中写入=MATCH(B1,Data!$A$1:$F$1,0)
成本栏(B1)
在 B2 中写入=VLOOKUP($A2,Data!$A$2:$F$9,B$10,FALSE)
输出表中 A2 中的零件编号成本