* 挑出重复的行
Excel表格有4列。第2-4 列作为一个整体,存在重复的情况。
A |
B |
C |
D |
|
1 |
# |
Product |
Non Conf |
Date |
2 |
1 |
Apple |
Worms |
4-Mar-24 |
3 |
3 |
Apple |
Worms |
4-Mar-24 |
4 |
2 |
Pear |
Worms |
4-Mar-24 |
5 |
7 |
Pear |
Worms |
5-Mar-24 |
6 |
11 |
Pear |
Worms |
6-Mar-24 |
7 |
10 |
Orange |
Worms |
6-Mar-24 |
8 |
12 |
Orange |
Worms |
6-Mar-24 |
9 |
9 |
Apple |
Rotten |
6-Mar-24 |
10 |
13 |
Apple |
Rotten |
7-Mar-24 |
11 |
4 |
Pear |
Rotten |
4-Mar-24 |
12 |
5 |
Orange |
Rotten |
5-Mar-24 |
13 |
6 |
Orange |
Rotten |
5-Mar-24 |
14 |
8 |
Orange |
Rotten |
6-Mar-24 |
15 |
14 |
Orange |
Rotten |
7-Mar-24 |
请在保持原有顺序的情况下,挑出重复的行,形成新表格。
F |
G |
H |
I |
|
1 |
# |
Product |
Non Conf |
Date |
2 |
1 |
Apple |
Worms |
4-Mar-24 |
3 |
3 |
Apple |
Worms |
4-Mar-24 |
4 |
10 |
Orange |
Worms |
6-Mar-24 |
5 |
12 |
Orange |
Worms |
6-Mar-24 |
6 |
5 |
Orange |
Rotten |
5-Mar-24 |
7 |
6 |
Orange |
Rotten |
5-Mar-24 |
使用 SPL XLL,输入公式:
=spl("=?.group@u(~.to(2,)).select(~.len()>1).conj()",A2:D15)
函数 group 对表格进行分组,@u 表示保持原有顺序。~ 表示当前成员,to(2,) 表示从第 2 到最后一个子成员。
来源:https://stackoverflow.com/questions/78105588/vba-collect-consecutive-similar-cells-in-the-row
英文版 https://c.scudata.com/article/1724988183910