将唯一值与多个列进行比较并返回最近的一列

问题描述:

-------------------------------------------------- 
| X | A | B |  C  |  D  | 
-------------------------------------------------- 
| 1 | Fruit | List | Date  | Condition | 
-------------------------------------------------- 
| 2 | Banana | Banana | 02/05/2010 | Good  | 
-------------------------------------------------- 
| 3 | Tomato | Banana | 02/05/2014 | Excellent | 
-------------------------------------------------- 
| 4 | Orange | Banana | 02/05/2011 | Bad  | 
-------------------------------------------------- 

我想逐列比较列A中的项和列B,然后返回列C中列C中最近日期的内容该项目。将唯一值与多个列进行比较并返回最近的一列

例如为:对于“香蕉”(A2) - 结果=出色的

我尝试了一些INDEX与之相匹配的,但我不能得到对应的最大值。

谢谢

+0

请,包括您打算如何解决这个问题的代码片段或算法,和考虑正确格式化您的文章以避免downvotes。欢迎来到SO。 – canolucas 2014-08-31 00:15:02

+0

谢谢。我刚来这地方。我只是调整了格式,但似乎这个论坛没有添加表的简单方法,我没有“良好的声誉”,但添加图片:(无论如何,我希望现在更容易理解。对于反馈 – Rodri 2014-08-31 00:23:47

这是一个数组公式。通过按住ctrl-shift并按下输入来输入E2。 Excel将放在花括号公式周围{...}

=IF(COUNTIF(List,A2),INDEX(Condition,MATCH(MAX((A2=List)*Date),(A2=List)*Date,0)),"") 

列表,条件和日期命名对应于相应列的范围。例如:B2:b7,C2:c7,D2:d7。

这张截图是根据您的原职,由我作为编辑您编辑它自己的方式前:

enter image description here

+0

嗨罗恩,这很好,非常感谢!我花了这么多的时间,你解释得很好,数组公式技巧和一切,我感谢你不够!表以及:) – Rodri 2014-08-31 07:44:24

+0

@Rodri很高兴帮助。既然它有效,请将我的回答标记为答案。谢谢。 – 2014-08-31 09:51:40