Excel:检查匹配行中的特定值

Excel:检查匹配行中的特定值

我想检查哪些产品(列在行中)由哪家公司(列在列标题中)生产,以便填充这样的表格

           Company A  Company B Company C
Product 1 
Product 2
Product 3

原始数据存储在单独的 Excel 工作表中,其设计如下:

Company A Product 3 Product 5 Product 7 Product 10 Product 11
Company B Product 1 Product 7
Company C Product 1 Product 8 Product 9

因此,我首先需要命令 Excel 选择正确的行(=公司),然后检查它是否包含我要查找的产品。我认为基本形式的 VLOOKUP 无法在这里提供帮助,因为它只能返回特定列的值。我知道一定有一个简单的解决方案,如果您有想法,请告诉我!非常感谢您的帮助!

答案1

有几个建议。第一个建议是将数据放入更可用的格式,然后从那里开始关联你会发现一个将数据更改为格式的宏

公司产品
产品 3
产品 5
产品 7
B 产品 1
B 产品 7
ETC

然后您可以使用数据透视表。

否则,您可以使用函数来实现。此函数位于以下屏幕截图中的单元格 B9:D19 中。

=IFERROR(--MATCH($A9,OFFSET($1:$1,MATCH(B$8,$A$2:$A$4,0),0),0)>0,"")

我的布局如下所示,您需要更改范围以使其类似。如果您需要,我很乐意提供有关该功能的更多信息。

戈登

在此处输入图片描述

答案2

这对我有用:

=IFERROR(MATCH($A15,OFFSET($A$1,MATCH(B$14,$A$1:$A$6,0)-1,0,1,255),0),"")

单元格引用如下:

=IFERROR(
  MATCH([Product 1 in report],
        OFFSET([Company A in raw table],
               MATCH([Company A in report],
                     [column holding company names],
                     0)-1,
               0,
               1,
               [max width of raw table]),
        0),
  "")

您可以添加:

=IFERROR(IF(MATCH($A15,OFFSET($A$1,MATCH(B$14,$A$1:$A$6,0)-1,0,1,255),0)>0,"X"),"")

使其在匹配的位置放置 X 而不是数字。

相关内容