追答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+回车键结束,向右拉。
第二个公式不用解释了吧?
本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。