0

这个问题与 这个问题有关

我有如下数据。

 Col A
22-Oct-12
22-Oct-12
22-Oct-12
23-Oct-12
23-Oct-12
23-Oct-12
23-Oct-12
23-Oct-12
23-Oct-12
24-Oct-12
24-Oct-12
24-Oct-12

我想要的是在 B 列中找到唯一值,以便输出如下所示。

 Col A
22-Oct-12
23-Oct-12
24-Oct-12

我试过了,=IF(COUNTIF(A$1:A1,A1)=1,A1,"")但问题是我22-Oct-12在第一次出现的前面22-Oct-1223-Oct-12在第一次出现的前面23-Oct-12。输出如下所示。

 Col A       Col B
22-Oct-12   22-Oct-12
22-Oct-12   
22-Oct-12   
23-Oct-12   23-Oct-12
23-Oct-12   
23-Oct-12   
23-Oct-12   
23-Oct-12   
23-Oct-12   
24-Oct-12   24-Oct-12
24-Oct-12   
24-Oct-12   

我不想要这样的输出。我想要的是如下。

 Col A       Col B
22-Oct-12   22-Oct-12
22-Oct-12   23-Oct-12
22-Oct-12   24-Oct-12
23-Oct-12   
23-Oct-12   
23-Oct-12   
23-Oct-12   
23-Oct-12   
23-Oct-12   
24-Oct-12   
24-Oct-12   
24-Oct-12   

或者

 Col A      Col B          Col C
22-Oct-12   22-Oct-12   22-Oct-12
22-Oct-12               23-Oct-12
22-Oct-12               24-Oct-12
23-Oct-12   23-Oct-12
23-Oct-12   
23-Oct-12   
23-Oct-12   
23-Oct-12   
23-Oct-12   
24-Oct-12   24-Oct-12
24-Oct-12   
24-Oct-12   

注意:我可以通过 MACRO 做到这一点,但是我不想使用 MACRO。我想通过使用 excel 函数来完成这项工作。

另外,我可以按照这个答案在上面做,但是我不想手动完成。

一切由预定义的excel函数。没有宏观或没有手动工作。

4

2 回答 2

1

假设数字数据(例如数字或日期)......

在 B1 中使用这个公式

=MIN(A1:A1000)

然后在 B2 中(假设 Excel 2007 或更高版本)

=IFERROR(SMALL(IF(A$1:A$1000>B1,A$1:A$1000),1),"")

...或在早期的 Excel 版本中

=IF(COUNTIF(A$1:A$1000,">"&B1),MIN(IF(A$1:A$1000>B1,A$1:A$1000)),"")

确认CTRL+SHIFT+ENTER并复制下来

如果您有超过 1000 行的数据,请进行相应调整。

此方法将按时间顺序列出日期而不重复,但是它们在数据中排序

于 2012-10-29T13:12:06.643 回答
1

试试这个,并使用CONTROL + SHIFT + ENTER

=IFERROR(INDEX($A$2:$A$20;MATCH(0;COUNTIF($B$1:B1;$A$2:$A$20);0));"")
于 2012-10-29T12:48:19.653 回答