从Excel中的列范围动态提取唯一值列表?

时间:2017-10-16 20:16:18

标签: excel excel-2016

我在excel教程中找到了这个example

以下图片是我想要的结果。以下公式应该能够动态提取唯一记录。我知道如何使用VBA做到这一点,但我真的想在不使用宏的情况下将其作为公式。

=IFERROR(INDEX($B$2:$B$9, MATCH(0,COUNTIF($D$1:D1, $B$2:$B$9), 0)),"")

我已经尝试了上面示例链接中给出的上述公式,但它返回错误。我假设这在excel的某些时候起作用,但它不再适用于Excel 2016.有人可以澄清为什么这个公式不再有效吗?谢谢。 enter image description here

1 个答案:

答案 0 :(得分:1)

大约5分钟后回答我自己的问题,所以我读了关于从excel 2008到2016的匹配方式的补丁节点。你需要使用索引而不是计数。

=IFERROR(INDEX($B$2:$B$9, MATCH(0,INDEX(COUNTIF($D$1:D1,$B$2:$B$9),0,0),0)),"0)),"")")

建议编辑公式,将错误返回的值更改为空白: =IFERROR(INDEX($B$2:$B$9, MATCH(0,INDEX(COUNTIF($D$1:D1,$B$2:$B$9),0,0),0)),"")