【问题标题】:Excel table lookup matching values of two columnsExcel表格查找匹配两列的值
【发布时间】:2013-10-23 13:59:39
【问题描述】:

我想创建一个匹配两列的表查找公式。例如,假设我想在Type 列是Biennial 和Result 列是Warning 的行中找到Letter 列的值。

甲乙丙 1 字母类型结果 2 A 年度超额 3 B 两年一次的警告 4 C 两年一次的发展需要 5 D 双年展 PartiallyMeets 6 E 年会

实现这一点的公式是什么样的?

【问题讨论】:

    标签: database excel excel-formula lookup-tables


    【解决方案1】:

    SUMPRODUCT() 公式非常适合您要查找具有多个条件的值的情况。查找数值时最方便,但也可以调整为查找字符串值。作为奖励,您可以避免使用数组公式。

    可以使用以下公式解决此特定问题(为便于阅读而添加缩进,您可以使用 ALT + ENTER 在 Excel 公式中执行此操作):

    =INDEX(
           $A$2:$A$6,
           SUMPRODUCT(
                      ($B$2:$B$6 = "Biennial") *
                      ($C$2:$C$6 = "Warning") *
                      ROW($A$2:$A$6)
                     ) - 1
           )
    

    首先,SUMPRODUCT() 用于使用($B$2:$B$6 = "Biennial") 和($C$2:$C$6 = "Warning") 过滤掉正确的行;乘法运算符* 用作AND 运算符(+ 运算符将用作OR 运算符)。

    然后将结果乘以ROW($A$2:$A$6) 以找到具有该组合的特定行。 SUMPRODUCT() 然后将所有内容相加,在本例中为我们提供3。由于列标题,所寻求的结果实际上位于第 2 行,因此我们减去 1。通过应用 INDEX() 函数,我们得到了所需的结果:B。

    请注意,这种情况当且仅当所寻求的组合是唯一的。如果所寻求的组合不止一次存在,这将失败。

    【讨论】:

    • 哇!我一直使用 ALT-ENTER 来控制文字内容的格式,但我没有意识到它可以在公式中使用!这是非常有用的信息:谢谢!
    • Excel 中唯一不幸的事情是你需要使用大量的空格来进行缩进:-(
    • 是的,没有 ALT-TAB!但是,无论如何……我还是过得更好。
    【解决方案2】:

    另一种避免数组输入的方法是:

    =INDEX($A$2:$A$6,MATCH(2,index(1/(($B$2:$B$6="Biennial")*($C$2:$C$6="Warning")),0)))
    

    它利用了 match 函数忽略某些错误并且索引自然地管理数组的事实。

    【讨论】:

      【解决方案3】:

      如果您愿意,可以使用数组公式:

      =INDEX($A$2:$A$6,MATCH(1,($B$2:$B$6="Biennial")*($C$2:$C$6="Warning"),0))
      

      使用 Ctrl+Shift+Enter 进入

      如果您想在没有数组公式的情况下执行此操作,一种方法是创建一个帮助列。

      D列有公式:

      =B2&C2
      

      复制下来

      那么新的公式可能是:

      =INDEX($A$2:$A$6,MATCH("BiennialWarning",$D$2:$D$6,0))
      

      这只是对文字的玩弄,真的。

      【讨论】:

      • 你知道没有数组公式的方法吗?
      • @JeffAxelrod 调整了公式。只是好奇,你为什么不想使用数组公式?
      • 因为我相信没有简单的方法可以复制和粘贴具有相对引用的数组公式。
      • @JeffAxelrod 我明白了。好吧,如果您在一个单元格中输入数组公式,然后垂直/水平复制它,它将调整相对引用。我尝试使用填充选择器和普通的旧复制/粘贴(复制单元格而不仅仅是公式文本)
      猜你喜欢
      • 1970-01-01
      • 2015-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-22
      • 1970-01-01
      • 2020-01-24
      • 2015-10-01
      相关资源
      最近更新 更多