转换成新的列;高强

时间:2014-02-26 15:22:09

标签: excel vba excel-vba

我可以使用一些帮助来清点一些在线购物。

我希望将A列中的信息分为以下内容: Vendor name; item description; eBay item #; purchase price; shipping cost; purchase date

例如: ldean747; MEN'S WILLIAM BAY" "; 260725743398; 10.50; 0.00; 01/28/11

我被挂了,因为有些产品没有运费(这是你在图片中看到的第二笔金额)。

任何简单的方法都可以这样做,而不是通过复制粘贴,转置每次购买?

enter image description here

1 个答案:

答案 0 :(得分:0)

你有几个挑战

  • 动态数据集格式:3个文本字段,后跟1或2个数字字段(垂直)
  • 您数据集中的多个字段分隔符/分隔符
    • 第一个字段:'()''
    • 第二栏:'|'
    • 第3栏:':'

您现在可以开始创建公式,使用=LEFT()=MID()=RIGHT()=SEARCH()等函数提取每个字段的相关部分。案例(第3栏)非常简单,因为其他案件可能会有点复杂......

具体而言 - 可以将字段标识为:

  • 如果上面的单元格是数字而我是alpha那么我是第1场
  • 如果上面的单元格是第1个字段那么我是第2个字段
  • 如果上面的单元格是第二场那么我是第三场
  • 如果上面的单元格是第3个字段那么我就是产品成本
  • 如果上面的单元格是数字并且我是数字,那么我是运费

numeric / alpha:=TYPE(),提取分离字符分隔的子字符串在SO

中有详细介绍

或者你可以开始编写一个为你做同样工作的VBA程序

元代码:

loop through all rows
    determine record type
    process record type

所以试一试,回过头来回答更多问题。