我知道标题真的很长,我会尝试解释
我正在尝试将Magento产品纳入Zen Cart(仅限背景 - 不应该相关)。
我有一个excel 2010 xls电子表格,其中我有大量的产品数据:skus,价格,类别等......你明白了。我将每个产品及其数据列出一次,每个产品都有一个独特的SKU字段。
但是......其中一些产品属于多个类别和我导入的方式,每个产品需要多次列出,每个类别一次。
所以,我做了一个包含两列的sql转储; sku和类别。我已将这些值粘贴到excel中作为新行,所以现在我有这样的情况(有更多条目):
正如您所看到的每个sku(左侧突出显示),有一个条目包含除类别(右侧突出显示)之外的所有数据,然后它所属的每个类别都有一个附加条目,其中仅包含类别和sku但没有其他数据。
所以,我需要做的是如何使用相同的sku复制所有单元格中的所有数据(除了类别列)。有没有人知道如何在不按Ctrl + V数百次的情况下实现这一目标。我意识到VBA可能很容易处理这个问题,但我在这方面没有任何线索。
任何帮助非常感谢
答案 0 :(得分:3)
我希望你愿意使用第二张,并引用数据而不是实际复制。
在Sheet2上,将A1
设置为=IF(Sheet1!A1="", "", Sheet1!A1)
。将其向下拖动(扩展/填充)到A500
(与Sheet1上的数据一样多,或者进一步,以允许增长)。同时将A1
拖到AA1
,然后将其拖到AA500
。
然后将B2
设置为=IF($AA2="", Sheet1!B2, B1)
,将其拖至Z2
,然后将B2:Z2
向下拖至B500:Z500
。
P.S。如果您的任何数据(列)是日期,您可能需要在Sheet2上将它们显式格式化为日期。对于以任何非默认方式格式化的任何其他值(例如,货币或百分比)同上。可能有必要对仅进行具有值的单元格(而不是空白单元格)。
答案 1 :(得分:2)
您不需要VBA,除非您需要多次这样做
假设包含您的数据的工作表被称为Source
,并且带有结果的工作表被称为Dest
,您可以在工作表Dest
上按照这些步骤获得您想要的内容:
=Source!A1
=IF(ISBLANK(Source!A2),A1,Source!A2)
以下是对正在发生的事情的解释:
第一行是从源中复制的。
如果该单元格为空,则仅从Source复制第二行的每个单元格,否则复制上面的单元格。
答案 2 :(得分:1)
这是快速而肮脏的解决方案:
Ctrl-G
Alt-K
,Enter
)=B2
(假设您在B3中,即使用活动单元格上方的单元格)重要提示:按Ctrl-Enter
代替Enter输入公式。完成!
答案 3 :(得分:0)
在一个新的工作表上,通过在单元格A1中键入1,在单元格A2中键入2,然后选择这两个单元格并填充Z,将数字1-26在Row1的顶部运行。
现在在A2中输入以下公式=VLOOKUP(Sheet1!$A1,Sheet1!$A:$AA,VALUE(A$1),FALSE)
在范围A2中填写此公式:Z ##(其中##表示最后一行数据)。
然后将Sheet1中的Row1从Sheet1复制到Row1。
这个公式会将数据行直接复制到它们下面的空行中(假设sku只在有一行新信息的地方发生变化。
这将是所有活动公式,因此我建议在Sheet2上选择all并右键单击单元格A1,然后按值粘贴特殊值。