【发布时间】:2014-02-19 22:02:09
【问题描述】:
我决定从头开始这个问题,以澄清问题和目标。
关于我的数据的注意事项
- 我有一个包含笔记本电脑产品数据的电子表格
- 每个产品都有一个型号和一个 SKU 值
- 许多型号都有多个与之关联的 SKU
- 当一个模型中有多个 SKU 时,每个 SKU 都会有一个新行。在这种情况下,每一行在模型字段中都有相同的值
- 某些型号可能有 4 个电池和 1 个充电器,其他型号可能有 1 个电池和 2 个充电器,其他型号可能有 1 个电池和没有充电器,反之亦然...我想说的是没有固定规则或SKU 数量之间的关系
- 有两种产品,电池和充电器
- 所有电池产品的 SKU 都以“BAT”开头
- 所有充电器产品都有以“ACA”或“ACS”开头的 SKUS
- 我可以轻松拆分两种类型的数据来帮助实现目标 - SKU、型号和类别数据可以并排放置在列中,也可以针对每种类型的产品(电池或充电器)放在单独的工作表中
在同一工作表中并排格式化的示例数据:
单独工作表中的示例数据(sheet1 = 电池,sheet2 = 充电器):
无论使用哪种方法,模型字段都可以位于 A 列中的任何位置 - 比较两组数据时,模型字段不会位于相邻单元格中(如图所示)
我正在努力实现的目标
- 对于每个型号,我需要有一行数据,其中包含一个电池 SKU 和一个充电器 SKU
- 在为该模型输出所有组合之前,应为同一模型创建一个新行
- 每行的输出中最多应有 2 个 SKU。这应始终包含 1 个电池和 1 个充电器
期望的输出
值得一提的是,这是我将使用的数据的一个非常小的样本,完整的数据集超过 60k 行并且还在不断增长,因此解决方案需要高效。
我正在使用 excel 2007。
我是 VBA 的菜鸟,我已经购买了一些插件来尝试实现我的目标,我花了 2 天时间研究并尝试了各种方法来做到这一点,但都无济于事。
我以为我已经接近 Santosh 的这个答案了:
https://stackoverflow.com/a/19780188/1018153
这是我上一个问题的基础,但是除了在模型之间产生重复和匹配数据之外,我实际上无法以完整的形式格式化我的数据,以便该脚本无论如何都适合我,所以我最初的问题是无关紧要的.
【问题讨论】:
-
你没有添加足够的细节。您正在使用的当前代码是什么,哪些代码不能按预期工作?如果你得到
modelB ONE TWO和modelB ONE THREE会发生什么?如果你得到modelA ONE TWO和modelA TWO TWO会发生什么 -
我已经完全改写了这个问题,以(希望)让它更容易理解,而且它也对我有用,因为我忽略了一个关键问题!也许我链接到的另一个答案的作者也会遇到这个问题? @桑托什
标签: vba excel excel-2007 combinations