我正在开发一个项目,其中我有一组Ward Group数据,数据格式为市政名称 - 类型(城市,城镇,村庄)病房。例如:
ADAMS - T 1 & 2
Cumberland V 1 - 5
Marshfield - C 1 - 20, 23 - 25 & 27
....
etc.
要将此信息链接到政府提供的病房shapefile,我需要每个病房有一行。例如,我需要将上述信息转换为:
ADAMS - T 1
ADAMS - T 2
Cumberland V 1
Cumberland V 2
Cumberland V 3
Cumberland V 4
Cumberland V 5
Marshfield - C 1
....
Marshfield - C 20
Marshfield - C 23
Marshfield - C 24
Marshfield - C 25
Marshfield - C 27
此外,每个Ward Group行都有几列选举数据,我希望将其复制到每个新行中。例如:
Ward Group Total Votes
ADAMS - T 1 & 2 300
需要成为:
Ward Group Total Votes
ADAMS - T 1 300
ADAMS - T 2 300
有没有办法在Excel中手动执行此操作,无论是公式还是VBA?
答案 0 :(得分:1)
虽然没有这样标记,但我怀疑你将需要代码,所以意味着你的问题“必须证明对正在解决的问题的最小理解。包括尝试的解决方案,为什么它们不起作用,以及预期结果“。或者可能被认为是主题。所以也许从公式开始(假设每个'行'是一个单元格):
Cumberland V 1 - 5
最终会以与其他字母空格相似的格式结束,即Cumberland - V 1 - 5
。)=SUBSTITUTE(A1,"-",",",1)
替换带有逗号的Type之前的连字符(可以回复连字符,因为也用于范围指示)。应用于您的示例,此时结果应该如此:
专栏C& D是范围的下限和上限 - 但我担心E3单独代表一个范围(虽然这可能会再次与文本到列分开 - 需要注意的一点可能是混淆27-29与27& 29 。
公式可以做得更多,但我认为VBA是一个更好的选择 - 除非这绝对是一次性的“一次性”要求。例如,如果在不同的单元格中,则可以在页面(?)被拆分之后附加投票,通过查找功能。