此问题与 this question有关。
我的数据如下。
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-12
前面23-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
{{1}}
注意: 我可以通过MACRO执行此操作,但我不想使用MACRO。我想通过使用excel函数来完成这项工作。
另外,我可以按照this answer进行上述操作,但我不想手动完成。
通过预定义的excel功能实现所有功能。没有MACRO或没有手动工作。
答案 0 :(得分:1)
试试这个,并使用CONTROL + SHIFT + ENTER
=IFERROR(INDEX($A$2:$A$20;MATCH(0;COUNTIF($B$1:B1;$A$2:$A$20);0));"")
答案 1 :(得分: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行数据进行相应调整。
此方法将按时间顺序列出日期而不重复,但它们是在数据中排序的