Excel标题作为单元格数据

我已经给了一个有一千个条目的Excel工作表导入SQL数据库。

问题是,它不是一个可以轻松导入的列表。

它显示如下:

GROUP NAME itemName Price Order 

例如

 Desserts Chocolate Cake 8.5 1 Butter Cookies 3.0 2 Refreshments Coke 1.5 1 Water 1.0 2 

我需要将以上转换为

 Chocolate Cake 8.5 1 Desserts Butter Cookies 3.0 2 Desserts Coke 1.5 1 Refreshments Water 1.0 2 Refreshments 

所以要把它们属于哪个组的标题下的所有行都得到

有没有办法做到这一点?

我可以很好地使用Notepad ++和SQL

谢谢

我不积极,这将按照你的需要,但它应该让你在场上。 这是一个VBA子程序,它将循环你的数据,并以你需要的格式写出到另一个表单中。

 Sub transformNastyData() Dim transformRange as range Dim readRow as range Dim writeRow as range Dim groupHeader as string 'change these to suit your needs Set transformRange = Sheets("Sheet1").Range("A1:C20000") 'the row we'll start writing to in sheetOut set writeRow = Sheets("Sheet2").Rows(1) 'loop through each row For each readRow in transformRange.Rows 'check to see if the value in column B is blank (assuming this is how to identify a group header?) If readRow.cells(1, 2).value = "" Then 'capture the group header groupHeader = readRow.cells(1, 1).value Else 'we have a good record, so just write it out. writeRow.cells(1, 1).value = readRow.cells(1, 1).value writeRow.cells(1, 2).value = readRow.cells(1, 2).value writeRow.cells(1, 3).value = readRow.cells(1, 3).value writeRow.cells(1, 4).value = groupHeader 'increment the writeRow set writeRow = writeRow.offset(1) End if Next readRow End Sub