如何解析 kv(key=value) 格式的单元格

Excel的单元格是kv格式,同一行的key可能重复,如下图:


A

B

C

D

E

1

A=123

B=456

C=789

A=INV

Y=67

2

A=678

B=783

A=900

U=89


3

B=890

C=PO

F=09



计算目标:找到每行key等于Avalue,并用逗号拼起来,结果拼在第6列,如下:

F

123,INV

678,900


Excel没有针对kv格式的函数,虽然可以用其他函数拼凑出一个公式,但理解起来就困难了。

实现步骤:

1.      运行集算器(可以到润乾官网下载,用职场版,首次运行时会提示加载授权,下载个免费的就够了)

2.  用 Excel 打开要计算的文件,选中 A1:E3 区域,按 ctrl+C 复制到剪贴板。

3. 切换到集算器,选中 A1 格,注意要让光标落到 A1 的编辑状态中,用 ctrl+V,将数据粘贴进来。

imagepng

4.  在集算器中继续编写脚本:


A

1

…( 复制来的数据)

2

=A1.import@t()

3

=A2.(~.array().(~.property("A")).select(~).concat@c())

脚本函数property专门用来查询kv格式的数据,其中key还可以是输入参数。

5.  按 F9 执行,点击 A3 格,在右侧可以看到执行结果,点击 "copy data" 按钮,将 A3 的计算结果复制到剪贴板

 

imagepng

6.  返回 Excel 选中 F1 格,用 ctrl+V 粘贴,即可获得理想结果。