【发布时间】:2015-10-08 20:40:19
【问题描述】:
有很多相关的帖子,但我还没有找到一个像这样的帖子。我目前正在通过 excel 来帮助加快进程。 excel 文件有两个电子表格。一是数据,二是总结。 在数据电子表格中,我将第一列作为名称,接下来的 7 列包含数据值(未全部填充)。
Name Data1 Data2 Data3 Country Address
VA 123 456 621 USA ExampleSt.
MD 123 France 123Street
DC 621 Korea 999Avenue
UseCol Value
Data2 456
Data3 621
Data1 000
我的问题是,我被赋予了值“621”(它可以出现在多个列中,但不会出现在 中)。我知道它应该在“data1,data2,data3 ...”中。我将如何使用该信息查找名称?没有VBA,只能通过excel。
我被这段代码停在了这里。
=INDEX(A1:D4,MATCH('621',*What do I put here*,0)
对于中间部分,之所以出现问题,是因为我得到了要在另一个电子表格中使用的数据列。
编辑
所以,我遵循了蒂姆威廉姆斯所说的使用偏移量。但是,现在我要访问第二个专栏。所以我用来获取Name的代码如下
=IFERROR(INDEX(A2:A4,MATCH(B7,OFFSET(A2:A4,0,MATCH(A7,B1:D1,0)),0,1),"ERROR")
我必须对 OFFSET 部分进行哪些更改才能现在查找 Country 或 Address 单元格?我相信我需要改变的唯一部分是内部的“匹配”功能。我应该做 MATCH(A7,B1:D1,0)+3 到 Country 列吗?谢谢。
【问题讨论】:
-
621在您的示例表中出现两次 - 它会在现实中出现多次吗?如果是这样,您如何进一步确定要返回哪个名称? “...因为我得到了在另一个电子表格中使用的数据列。”那么,您会知道要查看哪个Data#列吗?这些信息会在哪里? -
除非您可以提供要检查的列数 621 以及数据集中行的近似值。此外,应该从左到右阅读以找到第一个匹配项还是从上到下阅读?
-
出于我自己的好奇心,您使用的是哪种 Excel 混合克隆,它接受单个刻度(例如
')而不是双引号(例如")来表示公式中的文本? -
BruceWayne - 要使用的列的信息在另一个单元格中。 Jeeped - 因为我们知道哪一列(因为它在另一个单元格中被告知),所以我相信它应该从上到下阅读。而且,我只说“621”,因为我不想说值 D4 和 B2。以这种方式查找此示例看起来会更容易。