【问题标题】:Excel, SQL - Change select header rows to columns and insert values for each columnExcel,SQL - 将选择标题行更改为列并为每列插入值
【发布时间】:2014-04-25 00:04:27
【问题描述】:

我希望有人可以提供帮助。我有一个包含数百个项目的 excel 文件,如下表所示,显示了样式的颜色/尺寸和数量级别。但我需要采用相应的标题尺寸并将其与样式和颜色以及它的数量级别相匹配。然后将其格式化为每一行,然后复制与每一列对应的样式、颜色、长度和价格。我有 excel 和 sql,如果一个更容易使用,那么另一个。 p>

所以基本上采取这个:

+--------+----------+--------+-------+---------+--------+--------+--------+--------+--------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
| STYLE# |  COLOR   | LENGTH | Price | Size 00 | Size 0 | Size 2 | Size 4 | Size 6 | Size 8 | Size 10 | Size 12 | Size 14 | Size 16 | Size 18 | Size 20 | Size 22 | Size 24 | Size 26 | Size 28 | Size 30 | Size 32 |
+--------+----------+--------+-------+---------+--------+--------+--------+--------+--------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
|    710 | PURPLE   | RL     |   199 |       0 |      0 |      0 |      2 |      5 |      5 |       5 |       4 |       4 |       3 |       0 |       0 |       0 |       0 |       0 |       0 |       0 |       0 |
|    710 | DP CORAL | RL     |   199 |       0 |      0 |      2 |      0 |      1 |      2 |       1 |       3 |       1 |       3 |       1 |       0 |       0 |       0 |       0 |       0 |       0 |       0 |
|    720 | RED      | RL     |   225 |       0 |      0 |      1 |      0 |      0 |      0 |       1 |       0 |       0 |       0 |       0 |       0 |       0 |       0 |       0 |       0 |       0 |       0 |
|    720 | NAVY     | RL     |   225 |       0 |      0 |      0 |      1 |      0 |      1 |       2 |       0 |       0 |       0 |       0 |       0 |       0 |       0 |       0 |       0 |       0 |       0 |
+--------+----------+--------+-------+---------+--------+--------+--------+--------+--------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+

然后把它变成这样:

+--------+----------+---------+-----+--------+-------+
| STYLE# |  COLOR   |  Size   | QTY | LENGTH | Price |
+--------+----------+---------+-----+--------+-------+
|    710 | PURPLE   | Size 00 |   0 | RL     |   199 |
|    710 | PURPLE   | Size 0  |   0 | RL     |   199 |
|    710 | PURPLE   | Size 2  |   0 | RL     |   199 |
|    710 | PURPLE   | Size 4  |   2 | RL     |   199 |
|    710 | PURPLE   | Size 6  |   5 | RL     |   199 |
|    710 | PURPLE   | Size 8  |   5 | RL     |   199 |
|    710 | PURPLE   | Size 10 |   5 | RL     |   199 |
|    710 | PURPLE   | Size 12 |   4 | RL     |   199 |
|    710 | PURPLE   | Size 14 |   4 | RL     |   199 |
|    710 | PURPLE   | Size 16 |   3 | RL     |   199 |
|    710 | PURPLE   | Size 18 |   0 | RL     |   199 |
|    710 | PURPLE   | Size 20 |   0 | RL     |   199 |
|    710 | PURPLE   | Size 22 |   0 | RL     |   199 |
|    710 | PURPLE   | Size 24 |   0 | RL     |   199 |
|    710 | PURPLE   | Size 26 |   0 | RL     |   199 |
|    710 | PURPLE   | Size 28 |   0 | RL     |   199 |
|    710 | PURPLE   | Size 30 |   0 | RL     |   199 |
|    710 | PURPLE   | Size 32 |   0 | RL     |   199 |
|    710 | DP CORAL | Size 00 |   0 | RL     |   199 |
|    710 | DP CORAL | Size 0  |   0 | RL     |   199 |
|    710 | DP CORAL | Size 2  |   2 | RL     |   199 |
|    710 | DP CORAL | Size 4  |   0 | RL     |   199 |
|    710 | DP CORAL | Size 6  |   1 | RL     |   199 |
|    710 | DP CORAL | Size 8  |   2 | RL     |   199 |
|    710 | DP CORAL | Size 10 |   1 | RL     |   199 |
|    710 | DP CORAL | Size 12 |   3 | RL     |   199 |
|    710 | DP CORAL | Size 14 |   1 | RL     |   199 |
|    710 | DP CORAL | Size 16 |   3 | RL     |   199 |
|    710 | DP CORAL | Size 18 |   1 | RL     |   199 |
|    710 | DP CORAL | Size 20 |   0 | RL     |   199 |
|    710 | DP CORAL | Size 22 |   0 | RL     |   199 |
|    710 | DP CORAL | Size 24 |   0 | RL     |   199 |
|    710 | DP CORAL | Size 26 |   0 | RL     |   199 |
|    710 | DP CORAL | Size 28 |   0 | RL     |   199 |
|    710 | DP CORAL | Size 30 |   0 | RL     |   199 |
|    710 | DP CORAL | Size 32 |   0 | RL     |   199 |
|    710 | DP CORAL | Size 00 |   0 | RL     |   199 |
|    720 | RED      | Size 0  |   0 | RL     |   225 |
|    720 | RED      | Size 2  |   1 | RL     |   225 |
|    720 | RED      | Size 4  |   0 | RL     |   225 |
|    720 | RED      | Size 6  |   0 | RL     |   225 |
|    720 | RED      | Size 8  |   0 | RL     |   225 |
|    720 | RED      | Size 10 |   1 | RL     |   225 |
|    720 | RED      | Size 12 |   0 | RL     |   225 |
|    720 | RED      | Size 14 |   0 | RL     |   225 |
|    720 | RED      | Size 16 |   0 | RL     |   225 |
|    720 | RED      | Size 18 |   0 | RL     |   225 |
|    720 | RED      | Size 20 |   0 | RL     |   225 |
|    720 | RED      | Size 22 |   0 | RL     |   225 |
|    720 | RED      | Size 24 |   0 | RL     |   225 |
|    720 | RED      | Size 26 |   0 | RL     |   225 |
|    720 | RED      | Size 28 |   0 | RL     |   225 |
|    720 | RED      | Size 30 |   0 | RL     |   225 |
|    720 | RED      | Size 32 |   0 | RL     |   225 |
|    720 | NAVY     | Size 00 |   0 | RL     |   225 |
|    720 | NAVY     | Size 0  |   0 | RL     |   225 |
|    720 | NAVY     | Size 2  |   0 | RL     |   225 |
|    720 | NAVY     | Size 4  |   1 | RL     |   225 |
|    720 | NAVY     | Size 6  |   0 | RL     |   225 |
|    720 | NAVY     | Size 8  |   1 | RL     |   225 |
|    720 | NAVY     | Size 10 |   2 | RL     |   225 |
|    720 | NAVY     | Size 12 |   0 | RL     |   225 |
|    720 | NAVY     | Size 14 |   0 | RL     |   225 |
|    720 | NAVY     | Size 16 |   0 | RL     |   225 |
|    720 | NAVY     | Size 18 |   0 | RL     |   225 |
|    720 | NAVY     | Size 20 |   0 | RL     |   225 |
|    720 | NAVY     | Size 22 |   0 | RL     |   225 |
|    720 | NAVY     | Size 24 |   0 | RL     |   225 |
|    720 | NAVY     | Size 26 |   0 | RL     |   225 |
|    720 | NAVY     | Size 28 |   0 | RL     |   225 |
|    720 | NAVY     | Size 30 |   0 | RL     |   225 |
|    720 | NAVY     | Size 32 |   0 | RL     |   225 |
+--------+----------+---------+-----+--------+-------+

对此的任何帮助将不胜感激。

【问题讨论】:

  • 这是pivot table
  • 请注意,我仍然需要从每个尺寸标题列的每一行复制样式#、颜色、价格和数量。
  • @paqogomez 我不太擅长 sql,但这似乎不是一个好的解决方案,因为我必须“总结”我所有的颜色和样式值。拥有数百条记录将永远持续下去。
  • 永远是一段很长的时间。我怀疑这需要那么长时间。 “数百条记录”?!?如果有数百万......而不是数百,我会担心。

标签: mysql sql sql-server excel vba


【解决方案1】:

我认为在 SQL 中你可以做这样的事情(对不起,我有点生疏了)..

SELECT style, color, size, qty, length price, 
FROM table_name
ORDER BY style DESC, color, size DESC, qty DESC, length, price;

【讨论】:

  • 这只是按 desc order 排序。
【解决方案2】:

在 excel 中您可以执行此步骤(因为我认为这是快速的方法):

  • 选择要成为行的数据
  • 复制该数据
  • 右击
  • 选择 paste special 然后你选择 transpose

在 sql server 中,您可以使用关键字 PivotUnpivot 这个链接可以帮助你:

Transpose in SQL Server

【讨论】:

  • 我不太擅长 sql,但这似乎不是一个好的解决方案,因为我必须“总结”我所有的颜色和样式值。拥有数百条记录将永远持续下去。
【解决方案3】:

我只需使用 excel 并加入颜色、价格,然后将相应的大小添加到每个数量级别,并使用分隔每个值的管道分隔符,就能够弄清楚我需要什么。然后将其垂直转置,使用excel中的文本到列功能将所有内容分开。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多