EXCEL用函数筛选出一列中不重复的数据,遇到错误了,求大神解答

公式在SMALL公式时就已经出现错误了,但是我重新根据IF公式生成的结果做small是没问题的,看了半天不知道错误出在哪儿?还有,我想把数列生成的结果变成一行显示(后期做... 公式在SMALL公式时就已经出现错误了,但是我重新根据IF公式生成的结果做small是没问题的,看了半天不知道错误出在哪儿?还有,我想把数列生成的结果变成一行显示(后期做图表方便,不占用太长空间),有没有直接的方法?

在这里做了一下,公式没问题,到底哪里出BUG了,头疼!
展开
 我来答
s今生缘
高粉答主

2017-02-26 · 醉心答题,欢迎关注
知道大有可为答主
回答量:3.2万
采纳率:85%
帮助的人:4863万
展开全部

公式中错误比较多:

  1. 引用未加绝对引用符$,下拉时区域不断变化;

  2. 维数不同,前面用的是38:53,后面用的是1:10000,这是出错的主要原因;

  3. 后面不要用ROW(A1:A10000)来取第几小,虽然结果也不错,但没这必要,ROW(A1:A10000)就指用了行号的第一个ROW(A1),后面的都不用到,只要写这个就可以了,一般用公式时,可以只写行号,不写列标,因为这本身是与列标无关的,比如写成ROW(1:1)这样;

  4. 公式可以这样:=INDEX(工作表1!C:C,SMALL(IF(MATCH(工作表1!C$38:C$53,工作表1!C$38:C$53,0)=ROW($38:$53)-37,ROW($38:$53),4^8),ROW(1:1)))&"";

  5. 工作表1!C:C取整列,与ROW($38:$53)相呼应,不是从1开始了,如果用:工作表1!C$38:C$53,就必须换成ROW($38:$53)-37或ROW($1:$16);

  6. 上面公式中ROW($38:$53)-37,也可以换成ROW($1:$16),这样写只是直接些,方便修改。

凌文元LWY
高粉答主

2017-02-26 · 每个回答都超有意思的
知道大有可为答主
回答量:3.6万
采纳率:76%
帮助的人:1.3亿
展开全部
公式的维度不一致。
输入以下数组公式
=INDEX(工作表1!C:C,SMALL(IF(MATCH(工作表!C$38:C$53,工作表!C$38:C$53,0)=ROW($38:$53)-37,ROW($38:$53),4^8),ROW(A1)))

如果需要转换为行,那么输入以下数组公式
=INDEX(工作表1!$C:$C,SMALL(IF(MATCH(工作表!$C$38:$C$53,工作表!$C$38:$C$53,0)=ROW($38:$53)-37,ROW($38:$53),4^8),COLUMN(A1)))
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式