本次的练习是:如下图1所示,列C中有很多空单元格,使用公式将其整理,移除空单元格并将值放置在列D中。
?
图1
先不看答案,自已动手试一试。...公式
在单元格D2中,输入数组公式:
=IFERROR(OFFSET(C2,SMALL(IF((List)>1,ROW(List),""),ROW(E1))-2,0),"")
下拉至单元格出现空为止。...那么,IF语句生成的数组由列C中含有值对应的行号和空组成,即:
{2;””;””;””;6;7;8;””;””;””;””;13;14;15;…}
相应地在工作表中演示如下图3所示。
?...图4
这样,在单元格D2中的公式最终等价为:
OFFSET(C2, 2-2,0)
得到单元格C2中的值。...在单元格D3中的公式最终等价为:
OFFSET(C2, 6-2,0)
得到单元格C6中的值。
在单元格D4中的公式最终等价为:
OFFSET(C2, 7-2,0)
得到单元格C7中的值。
依此类推。