我正在尝试链接多个列表并显示所有值。包括重复项。
我的工作表的数据分为11列。一列包含“产品”(可以多次出现),其余列与“商店”(出售产品,没有商店出售相同的产品)。
这里有个小例子:
我已使用以下公式创建了辅助列(A):=B2&COUNTIF($B$2:B2,B2)
。帮助器列计算产品在“产品”列(B)中显示的时间。我认为这是必需的。
我已经设法使用=VLOOKUP($C$2&ROWS($L$1:L1),$A$2:$C$11,2,0)
来对数据进行一些排序,如下所示:
结果
但是我想像这样将每个商店的数据按单个列排序:
所需结果
,而不必每2-3行更改一次公式,因为某些商店有30种左右的产品。
使用公式或VBA可以实现吗?
我希望将结果放在一栏中:
希望这很清楚。谢谢
后来编辑:
也许这有助于理解我想要获得的东西。
第1列帮助程序我已添加它,以计算产品在第2列中出现的次数。
我想获得一个单独的列,该列显示第3列(store1)中的项目x多少次它们出现在“产品”列中。
在上面的示例中,Store1的产品“ Hansa”在“产品”列中出现了4次,因此应在单独的列中出现4次,在产品“ Korek”在产品列中出现了1次之后因此它应该在“ Hansa”下的单独列中出现一次,依此类推。因此,基本上我想将第三列与第二列进行比较,并在第三次中显示它们在不同列中第二次出现时的值。
答案 0 :(得分:1)
此公式使用F1
作为辅助单元格,该单元格用于计算产品列表中的匹配项。
在FormulaArray
中输入此F1
:
=SUM( IF( ISERROR( MATCH( $B$2:$B$11, $C$2:$C$6, 0 ) ), 0, 1 ) )
在E2:E11
中输入以下公式:
= IFERROR( INDEX( $C$2:$C$6,
AGGREGATE( 15, 6,
MATCH( $B$2:$B$11, $C$2:$C$6, 0 ),
ROWS( E$2:E2 ) ) ),
IFERROR( INDEX( $C$2:$C$6,
AGGREGATE( 15, 6,
ROW(E:E) / ISERROR( MATCH( $C$2:$C$6, $B$2:$B$11, 0 ) ),
ROWS( E$2:E2 ) - $F$1 ) ) & "-", "" ) )
请注意,不需要辅助列A
。