在Excel中进行自动筛选后,筛选结果中第一行的行号是不确定的。在某些特定的筛选中(例如某列筛选内容都是相同的),要获取筛选后这列单元格的内容,就需要先取得筛选后第一行的行号。下面的数组公式可以实现这个目的,假如标题在第4行,数据在A5:D500区域并进行了如图所示的自动筛选。
在A2中输入数组公式:
=MATCH(1,SUBTOTAL(3,OFFSET(A5,ROW(A5:A500)-ROW(A5),0)),0) ROW(A4)
公式输入完毕后按Ctrl Shift Enter结束(下同),即可获得筛选后第一行的行号“28”。
实现分离Excel单元格内的日期和时间
如果一个Excel单元格内同时包含日期和时间,如A1单元格中包含“2011-6-8 13:13:16”,要将其中的日期和时间分离到不同的单元格,可以用下面的公式: 在B1单元格中输入: =TRUNC(A1) 或: =INT(A1) 再设置单元格格式为日期即可得到A1单元格中的日期。由于Excel
或用下面的数组公式:
=MIN(IF(SUBTOTAL(3,INDIRECT(ADDRESS(ROW(A5:A500),1))),ROW(A5:A500)))
说明:SUBTOTAL函数总是忽略筛选结果中隐藏的行,其第一个参数为“3”,相当于COUNTA函数,用该函数与OFFSET函数或INDIRECT函数的组合获取一个包含“0”和“1”的数组,其中第一个“1”在数组中的位置即筛选结果中第一行的位置,第一个公式用MATCH函数获取,第二个公式将“1”用行号替换,其最小值即为第一行行号。
要取得A列筛选结果中第一行单元格的内容,可用下面的数组公式:
=OFFSET(A1,MATCH(1,SUBTOTAL(3,OFFSET(A5,ROW(A5:A500)-ROW(A5),0)),0) ROW(A4)-1,)
EXCEL中LEFT和LEFTB函数的使用基础教程
根据所指定的字符数,LEFT返回文本字符串中第一个字符或前几个字符。语法为: LEFT(text, [num_chars]) LEFTB(text, [num_bytes]) ▲Text:必需。包含要提取的字符的文本字符串。 ▲Num_chars:可选。指定要由LEFT提取的字符的数量。Num_chars必须大