簡體   English   中英

Excel:來自一個單元格的值基於最大值,另一列中有多個條件

[英]Excel: Value from one cell based on max value with multiple criteria in other column

我正在嘗試基於具有多個條件(Range1,Range2,Range3)的MAX值(Range4列)獲取第8列中的值,但是excel給我一個錯誤“#N / A”。 錯誤在哪里?

VLOOKUP(MAX(IF(Range1=2013;IF(Range2="april";IF(Range3="Alexa";Range4))));Range5;8;FALSE)

那個部分

{MAX(IF(Range1=2013;IF(Range2="april";IF(Range3="Alexa";Range4))))} 

可以單獨工作(它給我正確的值),但不能在VLOOKUP函數內部工作。

謝謝!

用於測試的樣本數據集:

First_day   Last_day    Week_Num    Week_Range  Month   Year    Rank_name   Rank_value
01/04/2013  07/04/2013  14  1-7 april   april   2013    Alexa   10122
08/04/2013  14/04/2013  15  8-14 april  april   2013    Alexa   9670
15/04/2013  21/04/2013  16  15-21 april april   2013    Alexa   9130
22/04/2013  28/04/2013  17  22-28 april april   2013    Alexa   8340
29/04/2013  05/05/2013  18  29-5 april  april   2013    Alexa   7543
31/03/2014  06/04/2014  14  31-06 april april   2014    Alexa   11428
07/04/2014  13/04/2014  15  07-13 april april   2014    Alexa   7159
14/04/2014  20/04/2014  16  14-20 april april   2014    Alexa   7027
21/04/2014  27/04/2014  17  21-27 april april   2014    Alexa   6675
28/04/2014  04/05/2014  18  28-04 april april   2014    Alexa   5379

范圍和列之間的等價關系:

  • 范圍1 =列“年份”
  • 范圍2 =列“月”
  • Range3 =列“ Rank_name”
  • Range4 =列“ Week_Num”
  • Range5 =列“ Rank_value”

請試試:

=INDEX(Range8;MATCH(MAX(IF(Range1=2013;IF(Range2="april";IF(Range3="Alexa";Range4))));Range4;0)) 

使用Control + Shift + Enter。

現有公式的問題(來自pnuts,2014年6月10日)是:公式首先按嵌套的if來縮小列表的范圍,然后從與您的條件匹配的那些行中選擇最大Week_Num。 但是找到該最大值后,MATCH函數將忽略條件(它們僅用於從Range4中查找最大值)。 如果您還有其他具有相同Week_Num的行(即使它們不符合條件),則MATCH將在整個列表中找到Range4中具有相同Week_Num的第一行。 一種解決方案是向MATCH的“ lookup_value”中添加相同的條件。

= INDEX(Range8; MATCH(MAX(IF(范圍1 = 2013; IF(范圍2 = “四月”; IF(Range3 = “Alexa的”;范圍4)))); IF(范圍1 = 2013; IF(范圍2 = “四月” ; IF(Range3 = “Alexa的”;范圍4))); 0))

同樣,使用Control-Shift-Enter。

我認為我正確輸入了上述公式,但是我沒有建立表格來對其進行測試,所以...

另外,請注意,在列表中沒有任何行符合條件的情況下,此公式仍然存在問題。 在這種情況下,您會得到一個錯誤。 解決方案是在整個過程的開頭添加IFERROR。

= IFERROR(INDEX(Range8; MATCH(MAX(IF(范圍1 = 2013; IF(范圍2 = “四月”; IF(Range3 = “Alexa的”;范圍4)))); IF(范圍1 = 2013; IF(范圍2 =”四月 “; IF(Range3 =” Alexa的 “;范圍4))); 0)),”“)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM