如何使用Power Query对数据号段进行拆分?

精进Excel


这样的数据拆分,使用Excel完成的难度非常大,而用Power Query则很简单。


切换到【数据】选项卡,在【获取与转换】分区中,点击【从表格】将当前表格导入查询编辑器。


Step2:对号段列进行拆分

①导入编辑器后,选中【号段】字段,点击【开始】→【转换】→【拆分项】选项,选择【按分隔符】选项。接下来会弹出【按分隔符拆分列】对话框,设置分隔符为【自定义】,并输入【-】号,如图所示。

②点击确定后,【号段】字段被拆分成两列,如图所示:

③设置【号段1】和【号段2】的数据类型为【整数】,如图所示:


Step3:添加自定义列

①切换到【添加列】选项卡,然后单击【添加自定义列】,如图所示:

②在弹出的【添加自定义列】对话框中,设置新列名为【号码】,自定义列公式为={[号段.1]..[号段.2]},这样数据表就添加了一个新的数据列。

③如图所示为新增加的数据列,单击【号码】字段右侧的展开按钮,将数据列展开。

展开后的结果


Step4:删除多余的列

选中两个多余的字段并单击鼠标右键,在弹出的菜单中选择【删除列】,把无用的列删除掉,如图所示。

完成后,生成的数据表就是按照号段拆分后的数据表:


补充:

自定义列公式={[号段.1]..[号段.2]},表示生成从一个初始值到一个结束值的List清单。


「精进Excel」系头条签约作者,关注我,如果任意点开三篇文章,没有你想要的知识,算我耍流氓!

精进Excel


先占个前排,明天来回答!😁😁😁

-----------------------------------

提问的Excel老大哥给出了常规的方法,那我只好用写PQ公式的方法了。

-----------------------------------


第一步、将数据加载到PQ

数据选项卡-从表格,数据就加载到PQ。


二、拆分组合数据

添加列-自定义列,写上公式:

={Number.From(Text.Range([号段],0,5))..Number.From(Text.Range([号段],6,5))}

  1. 这里分别用“-”左右边的数字构造列表,其中Text.Range函数类似工作表函数Mid,但是因为出来的结果是文本,所以用Number.From转换为数字;

  2. 这里因为号段长度是统一的,所以直接写的0位开始取5位和6位开始取5位(注意PQ里的起始位置是0),如果号段长度不一致,可以用Text.PositionOf来确定符号“-”的位置,类似于工作表函数Find;
  3. 这里的操作和上面老哥的操作其实原理一致,只不过这里不会产生多余的列。


三、扩展到行

上面的步骤是构造了列表,现在只需要点击扩展到新行,就可以展开数据了。

以下是做好的结果


分享到:


相關文章: