精进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))}
这里分别用“-”左右边的数字构造列表,其中Text.Range函数类似工作表函数Mid,但是因为出来的结果是文本,所以用Number.From转换为数字;
- 这里因为号段长度是统一的,所以直接写的0位开始取5位和6位开始取5位(注意PQ里的起始位置是0),如果号段长度不一致,可以用Text.PositionOf来确定符号“-”的位置,类似于工作表函数Find;
- 这里的操作和上面老哥的操作其实原理一致,只不过这里不会产生多余的列。
三、扩展到行
上面的步骤是构造了列表,现在只需要点击扩展到新行,就可以展开数据了。
以下是做好的结果