怎样从excel表中提取符合某一条件的数据,并生成一张新表?

如题所述

加入A列100行,其中第1行是标题行,在A中要找出张三的所有数据,公式如下:
=IFERROR(INDEX(A1:A100,SMALL(IF((A2:A100="张三"),ROW(A2:A100),99^9),ROW(A1))-1),"")
公式为数组公式,需要按三键结束
解析,先排除IFERROR,那剩下的就是INDEX(A1:A100,SMALL(IF((A2:A100="张三"),ROW(A2:A100),99^9),ROW(A1))-1)
if函数中是找到符合张三的条件,返回行号,这个行号数值提供所给INDEX第二参数,自然就会找到这个符合张三的单元格,SMALL的使用,在公式第一行里的第二参数为1,第二行里为2,意思是第几小。这样知道最后都能找到,99^9是当找不到符合张三条件的,返回一个足够大的行号给INDEX。将公式往下拉,知道足够使用,IFERROR在这里起到的作用,当找不到满足张三条件的时候,返回空值。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-06-27
加入A列100行,其中第1行是标题行,在A中要找出张三的所有数据,公式如下:
=IFERROR(INDEX(A1:A100,SMALL(IF((A2:A100="张三"),ROW(A2:A100),99^9),ROW(A1))-1),"")
公式为数组公式,需要按三键结束
解析,先排除IFERROR,那剩下的就是INDEX(A1:A100,SMALL(IF((A2:A100="张三"),ROW(A2:A100),99^9),ROW(A1))-1)
if函数中是找到符合张三的条件,返回行号,这个行号数值提供所给INDEX第二参数,自然就会找到这个符合张三的单元格,SMALL的使用,在公式第一行里的第二参数为1,第二行里为2,意思是第几小。这样知道最后都能找到,99^9是当找不到符合张三条件的,返回一个足够大的行号给INDEX。将公式往下拉,知道足够使用,IFERROR在这里起到的作用,当找不到满足张三条件的时候,返回空值。
第2个回答  2022-06-24
加入A列100行,其中第1行是标题行,在A中要找出张三的所有数据,公式如下:
=IFERROR(INDEX(A1:A100,SMALL(IF((A2:A100="张三"),ROW(A2:A100),99^9),ROW(A1))-1),"")
公式为数组公式,需要按三键结束
解析,先排除IFERROR,那剩下的就是INDEX(A1:A100,SMALL(IF((A2:A100="张三"),ROW(A2:A100),99^9),ROW(A1))-1)
if函数中是找到符合张三的条件,返回行号,这个行号数值提供所给INDEX第二参数,自然就会找到这个符合张三的单元格,SMALL的使用,在公式第一行里的第二参数为1,第二行里为2,意思是第几小。这样知道最后都能找到,99^9是当找不到符合张三条件的,返回一个足够大的行号给INDEX。将公式往下拉,知道足够使用,IFERROR在这里起到的作用,当找不到满足张三条件的时候,返回空值。
第3个回答  2022-06-27
加入A列100行,其中第1行是标题行,在A中要找出张三的所有数据,公式如下:
=IFERROR(INDEX(A1:A100,SMALL(IF((A2:A100="张三"),ROW(A2:A100),99^9),ROW(A1))-1),"")
公式为数组公式,需要按三键结束
解析,先排除IFERROR,那剩下的就是INDEX(A1:A100,SMALL(IF((A2:A100="张三"),ROW(A2:A100),99^9),ROW(A1))-1)
if函数中是找到符合张三的条件,返回行号,这个行号数值提供所给INDEX第二参数,自然就会找到这个符合张三的单元格,SMALL的使用,在公式第一行里的第二参数为1,第二行里为2,意思是第几小。这样知道最后都能找到,99^9是当找不到符合张三条件的,返回一个足够大的行号给INDEX。将公式往下拉,知道足够使用,IFERROR在这里起到的作用,当找不到满足张三条件的时候,返回空值。
第4个回答  2022-06-28
第二行里为2,意思是第几小。这样知道最后都能找到,99^9是当找不到符合张三条件的,返回一个足够大的行号给INDEX。将公式往下拉,知道足够使用,IFERROR在这里起到的作用,当找不到满足张三条件的时候,返回空值。
相似回答