EXCEL函数提取指定列不重复值到任意列且无空格

 时间:2024-10-12 20:42:31

1、函数目的:在I列取G列的不重翱务校肢复值完整函数:=IFERROR(INDEX(G:G,SMALL(IF(MATCH($G$1:$G$6,$G$1:$G$6,)=ROW($G$1:$G$6),ROW($G$1:$G$6),4^8),ROW(G1)))&"",””)思路:判断G列数据的行号,若为重复行号,则取个极大值,然后把结果排序;用INDEX函数+行号,把值取出。(数组函数Ctrl+Shift+Enter)

EXCEL函数提取指定列不重复值到任意列且无空格

2、用MATCH函数,可以取得相应值得行号。待查找值G1:G6,查找范围G1:G6,找到后范围对应数据的行号。对应函数:MATCH($G$1:$G$6,$G$1:$G$6,)得到结果:{1,2,2,2,5,6}

3、由于我们需要的行号是1,2,5,6;那么就需要把另外的两个2,忽略掉。这时需要引入IF、ROW、SMALL函数。① ROW函数,ROW(G1),往下拖公式时,会得到结果1,2,3,4,5荑樊综鲶,6--------n;② 用IF函数,判断MATCH的结果,与ROW的结果,若相同取ROW的结果,若不同,返回一个极大的数字,如4^8;对应函数:(IF(MATCH($G$1:$G$6,$G$1:$G$6,)=ROW($G$1:$G$6),ROW($G$1:$G$6),4^8)③ 用SMALL函数+ROW函数,将取得的行号的数字组合,从小到大排序,(这里为了函数更容易理解,把SMALL公式中,范围的部分,直接写成得到的列数的数组了),如:SMALL({1,2,4^8, 4^8,5,6,},ROW(G1)),得到结果{1,2,5,6,4^8, 4^8}对应函数:SMALL(IF(MATCH($G$1:$G$6,$G$1:$G$6,)=ROW($G$1:$G$6),ROW($G$1:$G$6),4^8),ROW(G1))

4、然后通过INDEX函数,把G列的值取出来对应函数:INDEX(G:G,SMALL(IF(MATCH($G$1:$G$6,$G$1:$G$6,)=ROW($G$1:$G$6),ROW($G$1:$G$6),4^8),ROW(G1)))

5、为了避免出现0值和错误值影响美观,在函数后面加上&””,在函数外面套上IFERROR(已有函数,””)对应函数:=IFERROR(INDEX(G:G,SMALL(IF(MATCH($G$1:$G$6,$G$1:$G$6,)=ROW($G$1:$G$6),ROW($G$1:$G$6),4^8),ROW(G1)))&"",””)完毕。(转载请注明出处)

  • excel表格技巧—用函数实现模糊查询
  • Excel从多表中提取不重复的值(数据透视图法)
  • 通过VBA代码合并单元格
  • Excel中如何用函数对数据进行查找引用
  • 一列数据只有一个数据但位置不定怎样提取
  • 热门搜索
    宁波旅游必去景点 旅游拍照姿势 合肥旅游景点大全 淮安旅游 泾县旅游 全国旅游年票 周庄旅游 海南省旅游 上海邮轮旅游 邯郸旅游景点大全