我正在使用excel 2007。
我有一张excel表格,有1200张记录,结构如下.
做这件事最简单的方法是什么?
为了便于理解,添加图像:

发布于 2021-05-12 09:16:09
使用的公式如下(在这里给出解决方案,以便将来的成员可以使用它)
公式是:在财务栏后的空单元格中,
=If($a2="","",a2) // copy over next 4 columns to give the District, Branch, Pre name, address, mobile elements as =If($a2="","",a2), =If($b2="","",b2), =If($c2="","",c2), =If($c2="","",c3), =If($c2="","",c3), =If($c2="","",c4)
=if($d2="","",d2) // copy over next 2 columns for Secretary details like =if($d2="","",d2), =if($d2="","",d3), =if($d2="","",d4)
=if($g2="","",g2) // copy over next 2 columns for Treasurer details like =if($g2="","",g2), =if($g2="","",g3), =if($g2="","",g4)现在选择所有新公式单元格后,财务主管列>> 拖下,直到所有记录.
然后将所有这些复制到数据的底部。
要么复制/粘贴特殊的>>值到其他地方,
然后按地区/分支/ Pres排序,以删除空行
发布于 2021-05-11 19:45:53
根据您的评论请求,这里有一个Power Query解决方案。
输入代码:
在数据Table
Data => Get&Transform => from Table/Range
Home => Advanced Editor
< Code >F 218
算法
Branch
District和District和Branch District的空白行,将President、Secretary和Treasurer.如果您有更多的军官,或者每个军官/职位有更多的项目,或者在进入军官列之前有更多的列,那么修改代码以考虑到这一点应该是相对简单的。
M码
let
Source = Excel.CurrentWorkbook(){[Name="Table16"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"District", Text.Type}, {"Branch", type text},
{"President", type text}, {"Secretary", type text}, {"Treasurer", type text}}),
#"Filled Down" = Table.FillDown(#"Changed Type",{"District", "Branch"}),
#"Grouped Rows" = Table.Group(#"Filled Down", {"District", "Branch"},{
{"President", each Text.Combine([President],";")},
{"Secretary", each Text.Combine([Secretary],";")},
{"Treasurer", each Text.Combine([Treasurer],";")}
}),
colHeaderSuffix = {"","Addr","Mobile"},
PresidentCols = List.Accumulate(colHeaderSuffix, {}, (state, current) => List.Combine({state, {"President " & current}})),
#"Split Column by Delimiter" = Table.SplitColumn(#"Grouped Rows", "President",
Splitter.SplitTextByDelimiter(";", QuoteStyle.Csv), PresidentCols),
SecretaryCols = List.Accumulate(colHeaderSuffix, {}, (state, current) => List.Combine({state, {"Secretary " & current}})),
#"Split Column by Delimiter2" = Table.SplitColumn(#"Split Column by Delimiter", "Secretary",
Splitter.SplitTextByDelimiter(";", QuoteStyle.Csv), SecretaryCols),
TreasurerCols = List.Accumulate(colHeaderSuffix, {}, (state, current) => List.Combine({state, {"Treasurer " & current}})),
#"Split Column by Delimiter3" = Table.SplitColumn(#"Split Column by Delimiter2", "Treasurer",
Splitter.SplitTextByDelimiter(";", QuoteStyle.Csv), TreasurerCols)
in
#"Split Column by Delimiter3"原始数据

结果

发布于 2021-05-11 08:45:48
我不知道您的excel pc是否能够处理它,但您可以使用粘贴转置。
您复制所有的东西(我的建议,转到一个新的电子表格,但您可以使用相同的一个),然后您过去它使用过去的转换

*编辑
在用示例编辑问题之后,您可能需要使用过去的转换,然后使用枢轴表。
https://stackoverflow.com/questions/67482765
复制相似问题