excel,匹配大于和小于静态值

时间:2017-04-04 08:37:49

标签: excel excel-formula match

我正在尝试在Excel中执行应该在数据库中执行的操作。我有一个包含原始数据的电子表格,我试图根据标准进行查询。给出以下示例表:

  A    B    C    D    E    F
1 Red  up   1    4    dn   5
2 Blu  up   5    9
3 Yel  dn   1    4
4 Gre  dn   5    9

我想返回满足E1和F1标准的A列的值,其中在B列中找到E1并且发现F1等于或在C和D列中的值之间。在示例中,我想要返回“Gre”。

我一直用INDEX和MATCH函数拉出我的头发,我可以完成部分任务,但没有找到任何可扩展性来解决整个解决方案。

提前感谢您的帮助!

3 个答案:

答案 0 :(得分:2)

请试试这个......

=IFERROR(INDEX($A$1:$A$4,MATCH(1,INDEX(($B$1:$B$4=$E$1)*($C$1:$C$4<=$F$1)*($D$1:$D$4>=$F$1),),0)),"")

答案 1 :(得分:1)

如果您不介意在原始数据中添加标题。 enter image description here

你可以使用这个公式:
=DGET($A$1:$D$5,"Field 1",$E$1:$F$2)

A1:D5 是您的数据库 字段1 是从中返回值的字段 E1:F2 是您的标准(要在该字段中查找的字段名称和值)。

https://support.office.com/en-gb/article/DGET-function-455568bf-4eef-45f7-90f0-ec250d00892e

如@Vityata所述,这对OP不起作用 - 寻找值6会返回#VALUE错误而不是Gre。

一些更新可以让它发挥作用:

  • 将公式更新为:=DGET($A$1:$D$5,"Field 1",$E$1:$G$2)
  • 将表格更新为:
    enter image description here

F2和G2中的值计算如下: ="<=" & $H$2=">=" & $H$2
然后,当在单元格H2中输入1时,此示例将返回Yel。

答案 2 :(得分:0)

我喜欢这个问题,因此我对sktneer的答案进行了详细阐述。 原因,它的作用是因为我们在以下公式中寻找真理(a.k.a。1):

=MATCH(1;
                          INDEX(($B$1:$B$4=$E$1)*($C$1:$C$4<=$F$1)*($D$1:$D$4>=$F$1););0)

像这样: enter image description here

然后我们可以通过INDIRECT得到答案: =INDIRECT(ADDRESSE(I1;1))

如果你想在一个公式中使用它,它应该是这样的:

=INDIRECT(ADDRESS(
                         MATCH(1;INDEX(($B$1:$B$4=$E$1)*($C$1:$C$4<=$F$1)*($D$1:$D$4>=$F$1););0);
                          1))