本次的练习是:如何使用公式获取每行中第一个非空单元格?例如下图1所示工作表,要求使用公式根据上半部分的表格求各项目的开工日期。 图1 也就是说,要求出单元格区域B2:G6的每行中第一个非空单元格对应的B1:G1中的日期。
先不看答案,自已动手试一试。 公式思路 先找到该行中第1个非空单元格的位置,然后获取第1行B1:G1中该位置的值。
公式 在单元格B9中的数组公式如下: =IF(COUNTA(B2:G2),INDEX($B$1:$G$1,MATCH(TRUE,B2:G2<>'',0)),'') 结果如图2所示。 图2
公式解析 首先,公式: MATCH(TRUE,B2:G2<>'',0) 找出第2行单元格区域B2:G2中第1个非空单元格的位置,本例中为1。
然后,将该值代入INDEX函数,即变成公式: INDEX($B$1:$G$1,1) 得到单元格B1,即对应的第1行中B1:G1的值。 将该值代入后的公式: =IF(COUNTA(B2:G2),B1,'') 然后,根据COUNTA函数的值来判断公式最后的值。 因为本例中B2:G2包含文本,因此最后的结果即为单元格B1中的值。
将该公式下拉至单元格B13,即可求出各项目对应的开工时间。
小结
下期预告: Excel公式练习19:获取单元格区域中最长内容的单元格数据 如下图所示的工作表,在单元格区域A1:A7中有一组数据,如何使用公式获取该区域中最长内容的单元格数据?即单元格A2包含的文本“excelperfect”。 有兴趣的朋友可以先思考一下。 本文属原创文章,转载请注明出处。 欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。 |
|