查找具有重复值的单元格

时间:2013-10-30 07:09:36

标签: excel excel-formula excel-2010

我需要根据A列(Product Brand)和B列(Region)的串联找到不同的Product s(D列)。 C列包含Col A和Col B的串联。

问题是A列和B列的值可以重复,所以我不能使用= VLOOKUP来查找不同的Product Brand

我的输入如下: -

Region      Product     Concat       Product Brand    

R1          P3          R1P3         PB1
R2          P2          R2P2         PB1
R3          P3          R3P3         PB1
R4          P4          R4P4         PB1
R5          P5          R5P5         PB1
R1          P1          R1P1         PB2
R1          P1          R1P1         PB3
R1          P2          R1P2         PB4
R1          P1          R1P1         PB5
R1          P1          R1P1         PB6
R1          P1          R1P1         PB7
R2          P1          R2P1         PB2

如果我选择区域1(R1)和产品P1(在另一个应用程序中),我应该能够在不同的单元格中显示具有该组合的所有产品品牌。我的结果集应该看起来像(比如Cols E& F):

R1P1      PB2
R1P1      PB3
R1P1      PB4
R1P1      PB5
R1P1      PB6
R1P1      PB7

我需要一个纯Excel公式解决方案,没有枢轴,没有VB,也没有其他过滤器选项。

任何帮助都会非常感激。

2 个答案:

答案 0 :(得分:0)

使用数组公式得到解决方案:
假设我们要使用A1:D13中的示例数据。

选择E1:E13并在公式栏中写下:

=IF(C1:C13=G1&H1,C1:C13,"")

按CTRL + SHIFT + ENTER。

同样,在F1:F13写下这个:

=IF(C1:C13=G1&H1,D1:D13,"")

注意:显示的值取决于您的G1H1输入 如果为空,则E1:F13上会显示空白 如果您分别在G1H1输入R1和P1,E1:F13将显示所有R1P1及其对应的B(x)。
但是你们之间有空白。几乎就在那里。

现在,选择G2并输入以下公式:

=INDEX(E$2:E$13, MATCH(LARGE(COUNTIF(E$2:E$13, "<"&E$2:E$13), ROW(1:1)), COUNTIF(E$2:E$13, "<"&E$2:E$13), 0))

再次输入数组公式(CTRL + SHIFT + ENTER) 拖动到G13

同样,在H2中写下这个公式:

=INDEX(F$2:F$11, MATCH(LARGE(COUNTIF(F$2:F$11, "<"&F$2:F$11), ROW(1:1)), COUNTIF(F$2:F$11, "<"&F$2:F$11), 0))

再次输入数组公式(CTRL + SHIFT + ENTER) 拖动到H13

现在你可以看到R1P1和所有B(x)之间没有空白。
这是基于您可能想要阅读的article

答案 1 :(得分:0)

假设布局如下:

SO19675938 example

然后在F1中复制到适合:

=IFERROR(INDEX($D$1:$D$14,SMALL(IF($C$1:$C$14=E$1,ROW($D$1:$D$14),9.99E+207),ROW())),"")  

(使用 Ctrl + Shift + Enter 输入)并在E2中复制以适应:

=IF(F2<>"",E1,"")  
如果您在E1中输入Concat值,我认为是否符合您的要求,但您可能希望扩展行引用。