在Excel中列出不同的值
这个问题与 这个问题有关 。
我有如下的数据。
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
我想要的是find列B中的唯一值,以便输出如下。
Col A 22-Oct-12 23-Oct-12 24-Oct-12
我尝试了=IF(COUNTIF(A$1:A1,A1)=1,A1,"")
但问题是我得到22-Oct-12
infront第一次出现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
注:我可以通过MACRO做到这一点,但我不想使用MACRO。 我想通过使用Excel函数来完成这个任务。
此外,我可以按照这个答案上面做,但我不想手动完成。
一切都由预定义的excel函数来完成。 没有macros观或没有手动的工作。
假设数字数据(例如数字或date)…..
在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行的数据相应的调整。
这种方法将按时间顺序列出date而不重复,但是它们在数据内sorting
试试这个,然后使用CONTROL + SHIFT + ENTER
=IFERROR(INDEX($A$2:$A$20;MATCH(0;COUNTIF($B$1:B1;$A$2:$A$20);0));"")