根据值标准将列值转换为行

我有以下Excel电子表格:

ABCDEFG 1 Sale 1 Sale 2 Sale 3 2 Product A 0 150 400 Sale 2 Sale 3 3 Product B 1.000 0 300 Sale 1 Sale 3 4 Product C 50 200 70 Sale 1 Sale 2 Sale 3 5 Product D 800 0 0 Sale 1 

列B:D中,您可以看到每个产品的销售情况。

列E:G我想表明销售该产品销售。 因此,应显示<> 0的销售。

到目前为止使用这个公式:

 =INDEX($B$1:$D$1,MATCH(TRUE,INDEX($B2:$D2<>0,),0)) 

但是只有当产品只出售一次(唯一)时才有效。 一旦产品出现在更多的销售,例如产品A这个公式只给我回来的销售2,但它遗漏了销售3。

有没有办法列出产品旁边的每个销售。 像htis:

 Transposition IF value <>0 

在E2中复制并复制以适应:

 =IF(B2>0,B$1,"") 

B2没有被锚定,所以当复制时(和B3等复制下来时相当于RC [-3])将调整为C2等,而B$1的行被锚定,所以不会改变(但列将根据那B2 )。