Excel数据操作/转换

时间:2013-02-22 16:38:38

标签: excel excel-vba vba

希望有人为此提供解决方案。我有这种格式的CSV(下面的小数据样本):

name    | sku |       configurable  | type
dress     001         clothing        normal 
shirt     012         clothing        normal 
socks     897         clothing        normal 
clothing  clothing                    configurable_item  

因此,您将看到我可以在数据之间使用通用关系密钥。我需要将“可配置”列与每个具有基于公共密钥的相关匹配sku的sku匹配。我需要运行一个匹配项,以便我可以匹配数据并实现以下结果:

name    | sku |       configurable  | type
dress     001         clothing        normal 
shirt     012         clothing        normal 
socks     897         clothing        normal 
clothing  clothing    001,012,897     configurable_item 

你会看到'configurable_item'行需要查找并根据'衣服'的sku在逗号分隔列表中列出'普通'项目sku。

是否有人知道可以帮助我的查找功能或VBA? - CSV总共超过1000行!

谢谢!

1 个答案:

答案 0 :(得分:0)

如果name在A1中,那么在E1中并复制到适合:

  

= IF(COUNTIF($ C:$ C,$ B5)> COLUMN() - 5,IF(MATCH($ B5,$ C:$ C,0)大于0的,间接的( “$ B” & COLUMN() - 3),“”),“”)

应将clothing SKU转置到configurable_item行。一旦这些公式到位,就可以用它们的值和公式替换它们,如:

  

= E5&“,”& F5&“,”& G5&“,”& H5&“,”& I5

(扩展/缩写为适合)放入备用列的Row5(比如Z)并向下复制到其他configurable_item行,而ColumnC被过滤为空值。

可以使用“查找/替换”和单个尾随逗号(

)删除成对的逗号
  

= IF(右(Z5,1)=“,”,左(Z5,LEN(Z5)-1),Z5)

在C5中(复制到西装)。