Date,First,First,Second,Second
2022-01-01,one,two,three,four
2022-01-02,five,six,seven,eight
我怎样才能将像上面这样的表格(其中包含许多相同数量且相同标题的列(“第一”是两次列,“第二”是两次列)转换为像下面这样的表格,其中每个重复的列都成为具有重复独立变量的新行的一部分):
Date,First,Second
2022-01-01,one,three
2022-01-01,two,four
2022-01-02,five,seven
2022-01-02,six,eight
答案1
可能的解决方案之一:
您可以使用公式和自动填充选项。假设我们在 Sheet1 中有一个像您这样的表格:
Date,First,First,Second,Second
2022-01-01,one,two,three,four
2022-01-02,five,six,seven,eight
现在,我使用 Sheet2 中的表格如下:
Date, First, Second
在单元格 A2、B2、C2 中使用Indirect
、、IF
和ISEVEN
自动填充ROW
来Rounddown
创建所需的表格:
在单元格中A2
写入:
=INDIRECT("Sheet1!A"&ROUNDDOWN(ROW()/2,0)+1)
在单元格中B2
:
=INDIRECT(IF(ISEVEN(ROW()),"Sheet1!B"&ROUNDDOWN(ROW()/2,0)+1,""Sheet1!C"&ROUNDDOWN(ROW()/2,0)+1"))
最后在 Cell 中C2
:
=INDIRECT(IF(ISEVEN(ROW()),"Sheet1!D"&ROUNDDOWN(ROW()/2,0)+1,""Sheet1!E"&ROUNDDOWN(ROW()/2,0)+1"))
现在,您可以使用“自动填充”选项,选择 A2 到 C2 并将其拖动到所需单元格。最终结果是:
Date,First,Second
2022-01-01,one,three
2022-01-01,two,four
2022-01-02,five,seven
2022-01-02,six,eight
答案2
您还可以尝试 Excel Power Query。
首先通过“数据”选项卡 >“获取和转换数据”组 >“从表/范围”将数据导入 Power Query。
然后转到“主页”选项卡 >“变换组”>“分组依据”,选择“先进的“选项,按日期、第一和第二分组数据。选择获取”所有行“。在我的示例中,我将新列命名为“测试”,然后我们将得到一个带有文本“表格”的列。
单击标题为“测试”旁边的图标。选择:日期、第一2和第二3以展开。
转到左侧的查询列,复制“Table1”并复制它,我们将得到一个名为“Table1(2)”的相同查询。
在表 1 中,我们只保留日期、第一天和第二天的列。
在表1(2)中,我们只保留Test.Date,Test.First2和Test.Second3的列。
但我们需要修改标题,使其与 Table1 标题相同。
转到“主页”选项卡 > 合并组 > 附加查询 > 将查询附加为新查询,然后将这两个表附加为一个。