WPS Excel 使用 JS 宏按顿号拆分并汇总为单列
在无网、无编程环境下遇到的一个Excel数据处理问题。
某一列单元格中有很多顿号分隔的数据,比如a、b、c,需要按照顿号进行分隔后输出在一列上面。
1
2
3
4
a、b、c 处理之后需要转换成
a
b
c
有很多行数据,直接分列处理之后不能全部汇总在一列,尝试过转置、多行合并等方式均不好实现。
解决办法是编写js宏,直接使用代码处理,具体代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Afunction splitAndMergeToOneColumn() {
var sheet = Application.ActiveSheet;
var srcCol = 1; // A列
var dstCol = 2; // B列
var lastRow = sheet.UsedRange.Rows.Count;
var outRow = 1;
for (var r = 1; r <= lastRow; r++) {
var cell = sheet.Cells(r, srcCol).Text;
if (!cell) continue;
var parts = cell.toString().split("、");
for (var i = 0; i < parts.length; i++) {
var v = parts[i].replace(/^\s+|\s+$/g, "");
if (v === "") continue;
sheet.Cells(outRow, dstCol).Value2 = v;
outRow++;
}
}
}
处理效果如图:
本文由作者按照 CC BY 4.0 进行授权
