gpt4 book ai didi

regex - 列出各种范围内的所有数字(1 - 6;1、2、5 和 23;等)

转载 作者:行者123 更新时间:2023-12-04 20:45:28 24 4
gpt4 key购买 nike

我正在做一个项目,其中有一列 Ward Group 数据,数据格式为市名称 - 类型(City、Town、Village)Wards。例如:

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?

最佳答案

虽然没有这样标记,但我怀疑您需要为此编写代码,因此意味着您的问题“必须展示对正在解决的问题的最低限度的理解。包括尝试的解决方案、为什么它们不起作用以及预期的结果。”或者可能被认为是题外话。所以也许从公式开始(假设每个“行”是一个单元格):

  • 也许正则表达式使市政名称 - 类型链接更加一致(比如查找字母空格字母空格并替换为字母空格连字符空格字母空格 - 所以 Cumberland V 1 - 5 以与其他格式相似的格式结束,即 Cumberland - V 1 - 5 。)
  • 然后使用 =SUBSTITUTE(A1,"-",",",1)用逗号替换类型之前的连字符(可以回复连字符,因为也用于范围指示)。
  • 然后“修复”结果(粘贴特殊值以替换公式)。
  • 然后用“,”和“&”作为分隔符(仅)解析结果(文本到列)。
  • 在这些列左侧的右侧插入三个新列,并使用空格和连字符作为分隔符解析(现有)左列。

  • 应用于您的示例,此时结果应如下所示:

    SO18645869 example

    列 C 和 D 是范围的下限和上限 - 但我担心 E3 单独代表一个范围(尽管这可以再次与 Text To Columns 分开 - 需要注意的一点可能会将 27-29 与 27 混淆& 29.

    公式可以做更多的事情,但我认为 VBA 是一个更好的选择——除非这绝对是一个“一次性”的要求。例如,如果在不同的单元格中,投票可以在页面(?)被拆分后附加,例如查找功能。

    关于regex - 列出各种范围内的所有数字(1 - 6;1、2、5 和 23;等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18645869/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com