请教高手解决一下:EXCEL单元格引用跳过空值而连续引用不为空的值,怎么录入公式?

发布网友 发布时间:2022-04-23 03:42

我来回答

3个回答

热心网友 时间:2023-10-13 16:19

1楼大哥的公式基本能解决问题了,就是一时手快打漏了一个工作表定义 sheet1!

SHEET2的A2中输入数组公式:
=INDEX(Sheet1!2:2,SMALL(IF(Sheet1!$A$3:$Z$3<>"",COLUMN($A:$Z),4^8),COLUMN(A1)))&""
以同时按CTRL+SHIFT+回车 三键结束
向右拉,往右复制公式

SHEET2的A3中输入:
=HLOOKUP(A2,SHEET1!2:3,2,0)
往右复制公式。

热心网友 时间:2023-10-13 16:19

就问题本身来说,可以不用公式解决。使用excel的筛选功能可以解决。
首先,将sheet1中的两行数据拷贝,然后别处的空白处进行行列置换的选择性粘贴。
然后,用筛选功能,将分值不为空的行表示出来。
然后,再选中这些不为空的科目和分值,拷贝。在sheet2中的A1处进行行列置换的选择性粘贴。
大功告成,你想要的分数为空的科目和空值就都滤掉了。

热心网友 时间:2023-10-13 16:20

SHEET2的A2中输入:
=INDEX(2:2,SMALL(IF(SHEET1!$A$3:$G$3<>"",COLUMN($A:$G),4^8),COLUMN(A1)))&""
往右复制公式即可。
SHEET2的A3中输入:
=HLOOKUP(A2,SHEET1!2:3,2,0)
往右复制公式。追问看不懂呀,请详细解释一下好吗?

追答IF(SHEET1!$A$3:$G$3"",COLUMN($A:$G),4^8)
A3:G3单元格不为空时,返回COLUMN($A:$G),即1、2、3、4、5、6、7,否则返回65536,
SMALL(IF(SHEET1!$A$3:$G$3"",COLUMN($A:$G),4^8),COLUMN(A1))
的作用是对返回值进行由小到大排序,如你给出的例子,排出来的结果是:1,4,6,65536,65536,65536
INDEX(2:2,SMALL(IF(SHEET1!$A$3:$G$3"",COLUMN($A:$G),4^8),COLUMN(A1)))
作用是返回由上面的这些列号对应是第二行中的值,即A1、A4、A6,由于第65536列对就的值为空,所以再往后填充时会返回空单元格。
这样就达到了你的要求。
另外,excel2003只有256列,上面公式中取到65536,可能会出现错误,你可以把公式中的4^8改为256就可以了。公式输入后按Ctrl+Shift+回车键结束,向右拉。
第二个公式不用解释了吧?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com