Excel:使用一个表中的值在第二个表中查找值

Posted

技术标签:

【中文标题】Excel:使用一个表中的值在第二个表中查找值【英文标题】:Excel: Use Value From One Table to Lookup Value in a Second Table 【发布时间】:2019-08-27 18:33:06 【问题描述】:

免责声明:我对使用任何复杂的公式都非常陌生,我只需要做基本的公式。 我正在使用 Microsoft Excel 并有两个表。表 1 包含位置列表,包括邮政编码和团队名称。表 2 列出了公司的信息,包括其所在位置的邮政编码。我正在尝试将表 2 中公司的邮政编码与表 1 中的邮政编码相匹配,并在表 2 中我可以过滤的附加列中返回团队名称。

我尝试搜索 *** 并尝试实现一些我找到的解决方案,包括 IF 语句、VLookUp 和索引。我发现以前的帖子没有使用表格,我不确定这是否会有所作为。

Table 1
Team Red    12345
Team Blue   12346
Team Green  12347
Team Red    12348
Team Blue   12349
Team Green  12344

Table 2
Company A   12345
Company B   12346
Company C   12347
Company D   12348
Company E   12349
Company F   12344
Company H   12345
Company I   12346
Company J   12347
Company K   12346
Company L   12348

The third column is what I want to return and filter on:
Company A   12345  Team Red
Company B   12346  Team Blue
Company C   12347  Team Green
Company D   12348  Team Red
Company E   12349  Team Blue
Company F   12344  Team Green
Company H   12345  Team Red
Company I   12346  Team Blue
Company J   12347  Team Green
Company K   12346  Team Blue
Company L   12348  Team Red

【问题讨论】:

查看索引/匹配:***.com/questions/38641040/… = INDEX(Table2[#All], MATCH(Table1[@Zip], Table1[#All],0)) 我正在尝试使用它,当我选择整个范围时会得到什么对于表 1 和表 2。表 1 邮政编码是我想要获取索引值的地方,我想要返回表 1 中的列 Team Name 中的值。 MATCH 只需要一列而不是整个表,INDEX 应该是要返回的值所在的列。 我得到 #N/A 这个 = INDEX(AD:AD, MATCH(Table1[@Zip],I:I,0)) AD:AD = Company Name Table1[@Zip] =分配给团队名称的邮政编码 I:I = 团队名称 【参考方案1】:

假设第一个表中的数据来自A1:B6 没有标题,这是您在其他表第三列中需要的公式。我还假设第二个表从 A10:B22

=index($A$1:$B$6,match(B10,$B$1:$B$6,0),1)

相应地重新调整引用。

我们将把它分成几个部分

=index([sec 1],match([sec 2],[sec 3],[sec 4]),[sec 5])

    这是您尝试从 FROM 提取数据的表 这是您用来查找该数据的内容(这将是带有 123450 的单元格。 这是您从获取数据的表格中包含这些 12345 代码的列。 使用“0”,这意味着完全匹配,只是询问您想要什么类型的匹配的二进制方式,在这种情况下您想要精确。 您尝试拉入的数据是哪一列。从左边开始,最左边的列是 1。

【讨论】:

我在尝试使用它时也得到#N/A(我的表确实有标题)=INDEX($X$2:$AD$3562,MATCH(Table1[@Zip],$A$2 :$A$11961,0),1) $X$2:$AD$3562 = 表 1 的邮政编码和团队名称 Table1[@Zip] = 表 1 的邮政编码 $I$2:$I$11961 = 表 2 中的列和邮政编码代码 =INDEX($X$2:$AD$3562,MATCH(Table1[@[Zip]],$A$2:$A$11961,0),[put the column number of cells you want pulled here]) 您还错误地引用了您的查找值。我将其调整为Table1[@[Zip]] 因此,如果我要返回的值在 AD 列中,您的说法是:=INDEX($X$2:$AD$3562,MATCH(Table1[@Zip],$A$2:$A$11961 ,0),$AD:$AD)? 不,我的意思是一个数字,如果你的范围来自 C-F 列,F 列将是 4。所以你从 X:AD 开始,但你想要拉的列是 AD,所以它会是7. 对不起,我才意识到我没有更正原始公式中的错字:=INDEX($X$2:$AD$3562,MATCH(Table1[@[Zip]],$I$2:$I$11961,0),7) $X$2:$AD$3562 = table 1 with zip and team name Table1[@[Zip]] = zip code from table 1 $I$2:$I$11961 = column in table 2 with zip codes 7 = column number I want to return when the zip code matches

以上是关于Excel:使用一个表中的值在第二个表中查找值的主要内容,如果未能解决你的问题,请参考以下文章

sql server 2000返回在第一个表中但不在第二个表中的数据

如果一个表的列等于第二个表中的列,则在第三个表中插入值,python - mysql

MYSQL:我想用另一个表中的值更新表中的所有行,其中第一个表中的值等于第二个表

我有两个带外键的表,我想在第一个表中按下外键,第二个表出现数据

BigQuery - 按第二个表中存在的值过滤数据

MySQL LEFT JOIN 在第二个表中具有可选值