【问题标题】:How to return the entire row based on two cells from two different Excel sheets matching?如何根据来自两个不同 Excel 工作表匹配的两个单元格返回整行?
【发布时间】:2021-03-31 05:35:02
【问题描述】:

我有一个大型 Excel 数据文件,其中包含来自两个不同工作表的数据。我希望能够将 SO Sheet 2 中的 partner_identifier 值与 BB Sheet 1 中的值匹配。对于 BB Sheet 1 中匹配的行,我想将整行放入一个新工作表中。

我需要帮助想出一个公式。我尝试过VLOOKUPIF 的变体,但我认为我需要一个更复杂的公式。我不能使用=IF('SO Sheet 2'!D3='BB Sheet 1'!D3),因为匹配的值可能在不同的行中。

现在,我有(我知道这是关闭的,因为它对每一行都返回“No”,即使是具有匹配值的行):

=IF(D3='SO Sheet 2'!D3:D16,'BB Sheet 1'!D3,"No")

任何见解将不胜感激!

【问题讨论】:

    标签: excel excel-formula


    【解决方案1】:

    如果您使用的是最新版本的 excel(Microsoft 365 的 Excel)- 您可以使用 XLOOKUP 或 FILTER 公式。

    例子:

    = FILTER('SO Sheet 2'!A3:D16, 'SO Sheet 2'!D3:D16=D3)

    在此处查看有关这些公式的详细信息:XLOOKUPFILTER

    【讨论】:

    • 这不行,因为它只会过滤D3,他需要提取完整的匹配行
    【解决方案2】:

    您可以通过 2 个步骤获得结果。在工作表“BB sheet 1”中,您需要使用 XLOOKUP 公式添加列 E 以在“SO sheet 2”中找到匹配的标识符

    =XLOOKUP(D2,'SO Sheet 2'!$A$2:$A$14,'SO Sheet 2'!$A$2:$A$14,"No")
    

    上面将列出所有匹配的标识符,如果不能匹配标识符,则在任何地方输入“No”。

    然后你要做的就是,在一个新的工作表中,在单元格 A1 中输入公式

    =FILTER('BB sheet 1'!A:D,'BB sheet 1'!E:E<>"No")
    

    【讨论】:

    • 我尝试了您答案的第一部分,即 XLOOKUP(我对 XLOOKUP 不是很熟悉,但这看起来非常有帮助!),我不断收到错误消息。但是,语法看起来是正确的,我已经检查了三次,所以我不确定是什么导致了错误。
    • 上传你文件的链接,我可以检查一下
    • 谢谢,那太好了。您建议的 XLOOKUP 公式位于 BB Sheet 1 页的 G 列中。这是一个链接:onedrive.live.com/…
    • 无法访问链接,说所有者没有给权限,最好放一个wetransfer链接
    • 嗯,这很奇怪。我刚刚检查了权限,现在任何拥有链接的人都可以访问。也许这个会起作用:1drv.ms/x/s!AigAd49EcmJdbUuzIS5bdghWgKc?e=pr9VeX
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-17
    • 1970-01-01
    • 2018-03-01
    • 2014-11-27
    • 2017-09-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多