如果单元格中既有单字节字符又有双字节字符,且排列不规律,如何提取出所有双字节字符?

案例:

从下图 1 中提取出所有全角字符,效果如下图 2 所示。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

解决方案:

1. 将表格上传至 Power Query。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

2. 选择任务栏的“添加列”-->“索引列”

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

3. 在“查询”区域中复制“表1”。

打开网易新闻 查看精彩图片

4. 选中 ID 列 --> 选择任务栏的“转换”-->“拆分列”-->“按字符数”

打开网易新闻 查看精彩图片

5. 在弹出的对话框中按以下方式设置 --> 点击“确定”:

  • 字符数:输入 1;

  • 拆分:选择“重复”;

  • 点开“高级选项”--> 选择“行”

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

6. 选择任务栏的“添加列”-->“自定义列”

打开网易新闻 查看精彩图片

7. 输入以下公式 --> 点击“确定”:

Text.Length([ID])=Binary.Length(Text.ToBinary([ID]))

公式的作用是判断字符数和字节数是否相等。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

8. 点开“双字节”的下拉菜单 --> 仅勾选 FALSE --> 点击“确定”

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

9. 选中“索引”列 --> 选择任务栏的“主页”-->“分组依据”

打开网易新闻 查看精彩图片

10. 在弹出的对话框中输入所需的列名 --> 在“操作”中选择“求和”--> 在“柱”中选择 ID --> 点击“确定”

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

11. 将公式中的 List.Sum 修改为 Text.Combine。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

12. 选中“查询”区域中的“表1”--> 选择任务栏的“主页”-->“合并查询”

打开网易新闻 查看精彩图片

13. 在弹出的对话框中选择“索引”列 --> 在下拉菜单中选择“表1 (2)”--> 选择“索引”列 --> 点击“确定”

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

14. 展开“表1 (2)”--> 仅勾选“双字节”--> 取消勾选“使用原始列名作为前缀”--> 点击“确定”

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

15. 将“索引”列按升序排序。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

16. 仅保留“双字节”列,删除其他所有列。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

17. 将表格上传至 Excel,仅创建连接。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

18. 选中“工作簿查询”区域中的“表1”--> 将它上传至 Excel 中的指定区域。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

右侧绿色的表格区域就是所需的结果。

打开网易新闻 查看精彩图片