Excel INDEX和MATCH函数,不确定如何通过附加示例获取确切的相应单元格

我在我的桌子左侧有一个客户名单,顶部有一个经销商名单。

单元格中是客户从分销商购买的小部件的数量。

我需要一种方法,根据购买的单位,获得每个客户的前4名经销商。

我附上一个Excel文件,我使用的是一个不完美的公式。 如果该行中有重复的值,则会始终返回匹配的第一个经销商,我实际上想要将该值对应的经销商名称带回。 我已经把绿色细胞放入了我想要的黄色细胞。

请看下面的表格,我希望它提供了足够的信息

表

<table> <thead><tr><th>CustomerID</th><th>Reseller A</th><th>Reseller B</th><th>Reseller C</th><th>Reseller D</th></tr></thead><tbody> <tr><td>10001</td><td>1</td><td>2</td><td>78</td><td>1</td></tr> <tr><td>10002</td><td>4</td><td>7</td><td>43</td><td>6</td></tr> <tr><td>10003</td><td>3</td><td>3</td><td>5</td><td>7</td></tr> <tr><td>10004</td><td>6</td><td>3</td><td>34</td><td>65</td></tr> <tr><td>10005</td><td>8</td><td>4</td><td>7</td><td>8</td></tr> </tbody></table> 

如果行中的每个值都是唯一的,那么我的公式就可以工作,但不幸的是情况并非如此。

任何帮助或指导将不胜感激。

谢谢你的时间。 斯特凡。

在F2中使用以下公式:

 =INDEX($B$1:$E$1,MATCH(1,INDEX(($B2:$E2=LARGE($B2:$E2,COLUMN(A:A)))*(COUNTIF($E2:E2,$B$1:$E$1)=0),),0)) 

复制4列并沿着数据集的长度。 只有这一个公式的所有。

在这里输入图像说明