* 挑出重复的行

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)

Picture1png

函数 group 对表格进行分组,@u 表示保持原有顺序。~ 表示当前成员,to(2,) 表示从第 2 到最后一个子成员。

来源:https://stackoverflow.com/questions/78105588/vba-collect-consecutive-similar-cells-in-the-row