我正在尝试提取列表中所有唯一名称。理想情况下,这将像 FREQUENCY 函数一样工作,该函数返回一个数组(然后可以通过 INDEX 函数访问该数组)。
我知道数据透视表和高级筛选都可以做到这一点,但都不能动态更新。
我是否遗漏了某个功能?
答案1
请参阅这篇关于无需代码即可自动对列表进行排序和去重的文章:
答案2
从这一页。 公式1:
=IF(COUNTIF($A$2:A2,A2)=1,A2,"")
将其输入到 B2 中并向下填充。
从这一页,公式2:
=IF(ROW()-ROW(NoBlanksRange)+1>ROWS(BlanksRange)-COUNTBLANK(BlanksRange),"",INDIRECT(ADDRESS(SMALL((IF(BlanksRange<>"",ROW(BlanksRange),ROW()+ROWS(BlanksRange))),ROW()-ROW(NoBlanksRange)+1),COLUMN(BlanksRange),4)))
在 C2 中输入并向下填充。将范围 B2:B8 命名为“BlanksRange”,将范围 C2:C8 命名为“NoBlanksRange”。这两个范围必须具有相同的行数(它们不必是在尽管是相同的行)。
在 A2 到 A8 单元格中输入一些值。尝试更改它们。您会看到 B 列和 C 列中的列表动态变化。
样本表:
values formula 1 formula2
1 1 1
2 2 2
5 5 5
2 "" 7
1 "" ""
5 "" ""
7 7 ""
两个双引号代表显示空白的单元格