为包含值的每个单元格创建一个新行
Create a new row for each cell containing a value
我有一个 table 类似于:
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 来实现吗?
使用详细描述的技术 here 得到如下所示的 Table:
删除 ColumnC 为 (Blanks)
或 X
的位置。 Select ColumnB 和主页 > 编辑 - 查找并 Select、替换...、查找内容:Qty
、全部替换。调整列标签并全部居中。然后你应该有一个 Table 像这样:
您可以通过右键单击其中一个单元格选择将其转换为 Rage,Table,转换为范围。
您可以使用 Microsoft Query 指向您的数据 sheet。 Select 您的数据,然后通过在顶部公式栏左侧的框中键入名称为其命名范围。
将您的工作簿保存到某个目录中。然后选择它作为数据源:
- 单击顶部的数据选项卡。
- Select "From Other Sources" 按钮。
- Select "From Microsoft Query" 来自菜单。
- 选择 "Excel Files" 数据源。
- 找到并select您将工作簿保存为的数据文件。
- 如果您收到未找到 table 的错误消息,请单击“确定”,然后
select "Options..." 按钮在底部,确保勾选
显示所有类型的 tables.
- Select 您的数据所在的 table 或 sheet 并移动所有列
转到右侧框,然后单击下一步。
- 在过滤器对话框中再次单击下一步。
- 在排序对话框中再次单击下一步。
- Select 在 Microsoft Query 中查看数据或编辑查询,然后单击“完成”。
- 单击 Microsoft Query 中的视图菜单,然后 select "SQL..."
- 输入此 SQL 语句(并更改目录路径以匹配
您保存文件的位置:
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')
- 点击确定
- Select 文件菜单,然后 "Return Data to Microsoft Excel"。
- Select 数据的目标单元格,然后单击“确定”。
我有一个 table 类似于:
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 来实现吗?
使用详细描述的技术 here 得到如下所示的 Table:
删除 ColumnC 为 (Blanks)
或 X
的位置。 Select ColumnB 和主页 > 编辑 - 查找并 Select、替换...、查找内容:Qty
、全部替换。调整列标签并全部居中。然后你应该有一个 Table 像这样:
您可以通过右键单击其中一个单元格选择将其转换为 Rage,Table,转换为范围。
您可以使用 Microsoft Query 指向您的数据 sheet。 Select 您的数据,然后通过在顶部公式栏左侧的框中键入名称为其命名范围。
将您的工作簿保存到某个目录中。然后选择它作为数据源:
- 单击顶部的数据选项卡。
- Select "From Other Sources" 按钮。
- Select "From Microsoft Query" 来自菜单。
- 选择 "Excel Files" 数据源。
- 找到并select您将工作簿保存为的数据文件。
- 如果您收到未找到 table 的错误消息,请单击“确定”,然后 select "Options..." 按钮在底部,确保勾选 显示所有类型的 tables.
- Select 您的数据所在的 table 或 sheet 并移动所有列 转到右侧框,然后单击下一步。
- 在过滤器对话框中再次单击下一步。
- 在排序对话框中再次单击下一步。
- Select 在 Microsoft Query 中查看数据或编辑查询,然后单击“完成”。
- 单击 Microsoft Query 中的视图菜单,然后 select "SQL..."
- 输入此 SQL 语句(并更改目录路径以匹配 您保存文件的位置:
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')
- 点击确定
- Select 文件菜单,然后 "Return Data to Microsoft Excel"。
- Select 数据的目标单元格,然后单击“确定”。