如何使用公式获取每行中第一个非空单元格?例如下所示工作表,要求使用公式根据上半部分的表格求各项目的开工日期。
也就是说,要求出单元格区域B2:G6的每行中第一个非空单元格对应的B1:G1中的日期。
先不看答案,自已动手试一试。
公式思路
先找到该行中第1个非空单元格的位置,然后获取第1行B1:G1中该位置的值。
公式
在单元格B9中的数组公式如下:
=IF(COUNTA(B2:G2),INDEX($B$1:$G$1,MATCH(TRUE,B2:G2<>””,0)),””)
结果如所示。
公式解析
首先,公式:
Excel提取字符串中的数字
单元格中的数据包含文本和数字(如),如何使用公式提取出该单元格中的数字? 先不看答案,自已动手试一试。 公式思路 先找到字符串文本中第1个数字出现的位置,然后取出从该位置起的全部数据。 公式 数组公式如下: =1*MID(A1,MATCH(FALSE,ISERROR(1*MID(A1,ROW(1:10)
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,即可求出各项目对应的开工时间。
小结
使用MATCH函数找到位置,使用INDEX函数获取相应位置的数据。
使用<>””来生成代表空与非空单元格的数组。
求包含文本内容的单元格中的数字之和
单元格中的数据包含文本和数字(如),如何使用公式求出该单元格中的数字之和? 先不看答案,自已动手试一试。 公式思路 先将文本屏蔽,然后求数字之和。 公式 数组公式如下: =SUM(IFERROR(1*MID(A1,ROW(1:10),1),0)) 公式解析 首先,公式: MID(A1,ROW(1: