如何将字符串按类型拆开再统计

例题描述

在 Excel 中有一行数据,为括号和逗号以及数字等混合在一起的字符串,如下图所示:

..

 

现在需要先将里面的所有数值拆分出来。然后统计每个数值前面有多少左括号 (‘(‘),以及有多少连接符 (‘-‘),比如其中的数值 1,共有 5 个左括号,1 个连字符。期望的结果如下:

..

实现步骤

1.      运行集算器,新建一个程序网格

可去润乾官网下载职场版,同时下载一个免费授权就够了,首次运行时会提示加载。

2.   用 Excel 打开需要计算的文件,比如上例。

3.   选中格子 A1,然后按 Ctrl+C 复制文本。

4.   切换回集算器,也选中格子 A1,然后按 Ctrl+V 粘贴数据。粘贴数据后的网格如下:

..

5.      然后编写处理代码,示例如下:

..

 

下面列出代码,方便看得更清晰,并逐行解释一下代码的含义:


A

B

1

……(从 Excel 粘贴的数据 )


2

=A1.words@d()


3

=A1.words@w()


4

=A2.new(~:Number,A3.pos(~):Index)


5

=A4.derive(A3.count(#<Index   && ~=="("):LeftBrackets)


6

=A5.derive(A3.count(#<Index   && ~=="-"):Hyphens)


7

=A6.new(Number,LeftBrackets,Hyphens)


 

A2   仅拆出 A1 串中的所有数值。

A3   拆出 A1 串中的所有类型字串。

A4   将所有 A2 中的数值,从全部字串 A3 中找到索引号,并创建一个新的序表。

A5   计算出每一数值前有多少左括号,产生新列。

A6   计算出每一数值前有多少连字符,产生新列。

A7   去掉表中的索引列,得到计算结果表。

 

6.      运行代码,执行完成后,点中 A7 格子,从右侧可以看到最终的计算结果:

..

7.      然后单击上图圆圈所示图标,将结果复制到剪贴板。

8.      回到 Excel 文件编辑界面,选中 C2 格子,粘贴并设置上标题即可。



【附件】 data.zip