将垂直表中的数据更改为单个行

时间:2015-11-03 19:52:19

标签: excel excel-formula string-concatenation worksheet-function unpivot

我有一个Excel工作簿,格式如下:

 | A  | B     | C     | D     | E     |   
 |----|-------|-------|-------|-------|  
1|    | po#1  | po#2  | po#3  | po#1  |
2|    | date1 | date2 | date3 | date4 |
3|sku1| qty1  | qty4  | qty7  | qty10 | 
4|sku2| qty2  | qty5  | qty8  | qty11 |
5|sku3| qty3  | qty6  | qty9  | qty12 |

我需要转换为以下格式:

  | A      | B     | C     | D     |
  |--------|-------|-------|-------|
 1|  po#1  | date1 | sku1  | qty1  |
 2|  po#1  | date1 | sku2  | qty2  |
 3|  po#1  | date1 | sku3  | qty3  |
 4|  po#1  | date4 | sku1  | qty10 |
 5|  po#1  | date4 | sku2  | qty11 |
 6|  po#1  | date4 | sku3  | qty12 |
 7|  po#2  | date2 | sku1  | qty4  |
 8|  po#2  | date2 | sku2  | qty5  |
 9|  po#2  | date2 | sku3  | qty6  |
10|  po#3  | date3 | sku1  | qty7  |
11|  po#3  | date3 | sku2  | qty8  |
12|  po#3  | date3 | sku3  | qty9  |

不使用VBA。

1 个答案:

答案 0 :(得分:0)

在副本上,删除Row2并应用详细的反向透视技术(带图片!)here。当您到达表格时,切换RowColumn列的顺序,并在两者之间插入新列。使用原始数据(仍具有Row2)的HLOOKUP填充此内容。在列Value上按升序排序。删除标签,如果需要,将表格转换为范围。

编辑以上地址是OP的早期版本。为了解决当前版本,Rows1和2可以替换为公式的结果,例如=A1&"|"&A2(基于A1和A2的内容替换之前的),复制到适合,然后通过搜索|的文本操作在表格中再次拆分这些。