一行多个非空值取值
请教各位,想在每行特定范围内,取值此范围内多个非空的数值,达成效果如绿色图层所示取值,不用数组仅用函数如何实现?K2=IFERROR(INDEX($C2:$I2,,SMALL(IF($C2:$I2<>"",1,10)*(COLUMN($A1:$G1)),COLUMN(A1))),"")
是数组公式 K2=IFERROR(INDEX($C2:$I2,SMALL(IF($C2:$I2<>"",COLUMN($A:$G),9^9),COLUMN(A1))),""),右拉下拉 多谢shss12和为食猫朋友,能否再延伸请教一下,如何根据无关数据1这列的内容到R列里查找,并且根据非空值所对应的取值范围到S列里查找,双重判定返回T列的值,想达成效果如黄色图层,烦请再查收下新上传附件,谢谢您们了!
这样么?
=INDEX($T$2:$T$71,MATCH($A2&INDEX($C$1:$I$1,MATCH(INDEX($A2:$I2,SMALL(IF($C2:$I2<>"",COLUMN($C:$I),99999),COLUMN(A1))),$C2:$I2,0)),$R$2:$R$71&$S$2:$S$71,0)) 多谢roben110朋友!N列非空值数据1用您的公式完美运行是我想要的效果,还想问问O列非空值数据2和P列非空值数据3该如何调整公式也能使用,再次感谢! 不用调整,直接右拉下拉就好了,你EXCEL如果不是2003的话,可以再多套个IFERROR
=IFERROR(INDEX($T$2:$T$71,MATCH($A2&INDEX($C$1:$I$1,MATCH(INDEX($A2:$I2,SMALL(IF($C2:$I2<>"",COLUMN($C$2:$I$2),99999),COLUMN(A1))),$C2:$I2,0)),$R$2:$R$71&$S$2:$S$71,0)),"") 感激感激!
用开始您讲解的公式右拉下拉的话,碰到空值就会显示#REF!,如何可以让空值不显示?试过EXCEL2016和WPS2016都会显示#REF!
将文件格式改为xlsx用后来多套个IFERROR的公式,可以完美解决空值不显示#REF!
由于我EXCEL文档是作为数据源链接到其它软件使用的,那个软件由于比较老调用xls格式可以完美运行,调用xlsx格式是通过安装了Microsoft Access database engine 2010后才实现的,但有时候可能会报错。如果可以的话可否请帮忙再次优化下前面的公式?如果不好实现也实在非常感谢您,您给出的2种公式缩减了我绝大部分做表工作量,只需要简单删除下#REF!数值即可
页:
[1]