excel - Excel:在多列中查找具有重复项的多个值
问题描述
我正在尝试链接多个列表并显示所有值。包括重复。
我的工作表有 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 项目的次数与它们在产品列中出现的次数一样多。
- 如果商品(来自商店 1)未显示在产品列中,则显示“产品名称 -”
- 产品列可以有可重复的项目
- 每个商店都有不同的产品,所以那里没有冲突。
- 如果可能的话,因为我有他们的帮助列,如果一个产品出现 4 次,当我将公式拖到第 5 行时,它应该跳转到下一个产品。
希望这足够清楚。谢谢
稍后编辑:
也许这有助于理解我想要获得的东西。
第 1 列助手我添加它来计算产品在第 2 列中出现的次数。
我想获得一个单独的列,它显示第 3 列(store1)中的项目 x 它们在产品列中出现的次数。
在上面的示例中,Store1 的产品“Hansa”在产品列中出现了 4 次,因此它应该在单独的列中出现 4 次,之后产品“Korek”在产品列中出现 1 次,因此它应该在“Hansa”下的单独列等等。所以基本上我想将第三列与第二列进行比较,并在第三个 x 次中显示它们出现在不同列中的第二个值。
解决方案
此公式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
不需要辅助列。
推荐阅读
- python - 在 Python 上打印变量的语法错误
- python - How to define conditional for pandas column of several last row in data frame?
- javascript - Chrome 调试器的“异步堆栈”是什么?
- php - 无法使用 Swift_Mailer 发送电子邮件
- javascript - 切换元素显示的 JavaScript 中的 ON/OFF 事件侦听器
- go - 如何在 Go 中获取 DNS 解析失败(NXDOMAIN)的主机的 CNAME?
- php - 如何防止 laravel 在测试中触发事件?
- java - 在 webapp 中删除文件时,Tomcat 8.5.42 权限被拒绝
- wordpress - 由于图像,http -> https 之后的混合内容。如何在没有插件的情况下在数据库中更改它们?
- sql - Execute all the stored procedures in the database with dummy input parameters