![](/img/trans.png)
[英]Oracle PLSQL validate a row and insert each cell value of row as a new row with validation results in another table oracl
[英]Create a new row for each cell containing a value
我有一个类似于这样的表:
ID | Item 1 | Item 2 | Item 3 | Qty 1 | Qty 2 | Qty 3
1 | | X | X | | 3 | 4
2 | X | | X | 2 | | 1
3 | | | X | | | 9
我需要找到一种方法为每个ID为每个项目创建一个新行:
ID | Item | Qty
1 | 2 | 3
1 | 3 | 4
2 | 1 | 2
有没有办法通过公式,原生Excel工具或VBA来实现这一目标?
使用此处详细描述的技术来获得如下所示的表:
删除ColumnC为(Blanks)
或X
。 选择ColumnB和HOME>编辑 - 查找和选择,替换...,查找内容: Qty
,全部替换。 调整列标签并居中。 你应该有一个像这样的表:
您可以选择通过右键单击其中一个单元格,表格,转换为范围来转换为Rage。
您可以使用Microsoft Query指向您的数据表。 选择您的数据,然后通过在顶部的公式栏左侧的框中键入名称为其指定范围。
将工作簿保存到某个目录。 然后选择它作为数据源:
SELECT `Sheet1$`.ID,
`Sheet1$`.Qty1
FROM `C:\Users\MyName\Desktop\data.xlsx`.`Sheet1$` `Sheet1$`
WHERE (`Sheet1$`.Item1='x')
union
SELECT `Sheet1$`.ID,
`Sheet1$`.Qty2
FROM `C:\Users\MyName\Desktop\data.xlsx`.`Sheet1$` `Sheet1$`
WHERE (`Sheet1$`.Item2='x')
union
SELECT `Sheet1$`.ID,
`Sheet1$`.Qty3
FROM `C:\Users\MyName\Desktop\data.xlsx`.`Sheet1$` `Sheet1$`
WHERE (`Sheet1$`.Item3='x')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.