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