Excel:基于最大值的一个单元格中的值,其他列中包含多个条件

时间:2014-06-10 15:07:54

标签: excel max criteria vlookup

我试图在第8列中获取值,基于具有多个条件(Range1,Range2,Range3)的MAX值(列Range4),但是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

范围和列之间的等价:

  • Range1 =列“年”
  • Range2 =列“月”
  • Range3 =列“Rank_name”
  • Range4 =列“Week_Num”
  • Range5 =列“Rank_value”

2 个答案:

答案 0 :(得分:0)

请尝试:

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

使用Control + Shift + Enter。

答案 1 :(得分:0)

现有配方的问题(来自pnuts,2014年6月10日)是这样的: 该公式首先按嵌套的if缩小列表,然后从符合条件的行中选择最大的Week_Num。但是找到最大值后,MATCH函数会忽略标准(它们仅用于从Range4中找到最大值)。如果您有其他行(即使它们与条件不匹配)具有相同的Week_Num,MATCH将在整个列表中找到Range4中具有相同Week_Num的第一行。一种解决方案是将相同的标准添加到“lookup_value”中使用的MATCH的“lookup_array”中。

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

再次使用Control-Shift-Enter。

我想我正确地输入了上面的公式,但我没有建立一张表来测试它,所以......

另外,请注意,在列表中没有符合条件的情况下,此公式仍然存在问题。在这种情况下,您会收到错误。解决方法是在整个事物的前面添加一个IFERROR。

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