2017-04-04 27 views
0

我想在Excel中做什麼應該在數據庫中完成。我有一個包含原始數據的電子表格,我試圖根據標準來查詢。給出下面的例子表: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是在B列和F1發現E1和F1的標準塔A的值被發現等於或中的值的列C的和D.在這個例子中,我想返回「Gre」。

我一直在用INDEX和MATCH函數拉我的頭髮,我可以完成我的一部分任務,但沒有發現任何可擴展的解決方案。

非常感謝您的幫助!

回答

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)),"") 
+0

這似乎工作。謝謝你skelneer – chalk

+0

不客氣的粉筆!很高興它的工作。 – sktneer

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
這個例子會返回Yel當1進入單元格H2時。

+1

不錯的公式,但我懷疑它會適用於OP - '發現相等或列C和D的值之間。' – Vityata

+0

好點 - 我錯過了這個問題。我會進行更新以使其工作,儘管這將從OP提供的確切數據格式中略微移開。 –

0

我喜歡這個問題,因此我詳細闡述了一些關於Sktneer的答案。 原因,它的作品是因爲我們正在尋找真相(又名.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(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))