Excel 有两个标准的VLOOKUP?

Excel 有两个标准的VLOOKUP?,excel,excel-formula,Excel,Excel Formula,是否有一个公式可以从匹配两个或多个条件的第一行返回值?例如,“从列A=x和列B=y的第一行返回列C”。我不想连接A列和B列 谢谢。显然您可以使用。真=1,假=0 D1返回0,因为0*1*8=0 D2返回9,因为1*1*9=9 这将允许您更改标准: SUMPRODUCT在需要多个条件匹配的总和时肯定有价值。但是按照我理解你问题的方式,你需要类似于VLOOKUP的东西来返回第一个匹配。试试这个: 为方便起见,G2中的公式如下——需要数组输入(Ctrl+Shift+Enter) [编辑:我在此处更

是否有一个公式可以从匹配两个或多个条件的第一行返回值?例如,“从列A=x和列B=y的第一行返回列C”。我不想连接A列和B列


谢谢。

显然您可以使用。

真=1,假=0

D1返回0,因为0*1*8=0

D2返回9,因为1*1*9=9

这将允许您更改标准:

SUMPRODUCT
在需要多个条件匹配的总和时肯定有价值。但是按照我理解你问题的方式,你需要类似于
VLOOKUP
的东西来返回第一个匹配。试试这个:

为方便起见,
G2
中的公式如下——需要数组输入(
Ctrl+Shift+Enter

[编辑:我在此处更新了公式,但未在屏幕截图中更新]
=索引($C$1:$C$6,匹配(E2&“|”和F2,$A$1:$A$6&“|”和$B$1:$B$6,0))

有两点需要注意:

  • 如果结果类型不是数字,
    SUMPRODUCT
    将不起作用
  • SUMPRODUCT
    将返回符合条件的结果的
    总和,而不是第一个匹配项(正如
    VLOOKUP
    所做的那样)

  • 我对此使用索引/匹配。例:

    我有一个数据表,希望返回C列中的值,其中a列中的值是“C”,B列中的值是“h”

    我将使用以下数组公式:

    =索引($C$1:$C$5,匹配(1,($A$1:$A$5=“C”)*($B$1:$B$5=“h”)),0))

    按Ctrl+Shift+Enter键提交公式


    输入公式后,您可以使用Excel的公式审核工具逐步完成评估,查看其计算方式。

    实际上,我认为他所问的是Excel中典型的多结果显示选项。这是可以做到的


    这将显示与不同条件匹配的所有结果。下面是一个答案,说明如何使用SUMPRODUCT和表头查找来实现这一点。这样做的主要优点是:它可以处理任何值,数字或其他值

    假设在一个名为MyTable的表上有头H1、H2和H3。假设我们把它输入到第1行,可能在另一张纸上。我们希望分别将H1,H2与该表上的x,y进行匹配,同时返回H3中的匹配值。那么公式如下:

    =INDEX(MyTable[H3], ROUND(SUMPRODUCT(MATCH(TRUE, (MyTable[H1] & MyTable[H2]) = ($x1 & $y1),0)),0),1)
    
    它有什么作用?和积确保所有内容都被视为数组。因此,您可以将整个表列串联在一起,形成一个串联的、动态计算的值数组。然后你可以将它们与x和y中的现有值进行比较——你可以神奇地将表中的连接数组与x和y的单独连接进行比较。这将为您提供一个真-假值数组。将其匹配为true将生成查找的第一个匹配项。然后我们需要做的就是返回并在原始表中索引它

    笔记 取整就是为了确保Index函数返回一个整数。在四舍五入之前,我得到了N/A值

    通过evaluator运行此命令可能更有指导意义,以查看发生了什么


    这可以很容易地修改为使用非表-只需将表引用替换为原始范围即可。不过,这些表格更清晰,所以如果可能,请使用它们。我在此处找到此的原始源:。但是有一个错误,将值设置为int,所以我修复了它。

    问题是我只能使用一个标准。我无法在第1行搜索条件x&y,在第2行搜索条件x&z等等。。。我有很多标准(在一张100k行的表格中,大约每10行就有一个)。是否有解决方案?可能重复的