通过什么excel函数得到第一个非空单元格位置 ?

一组数据A1:F9,有部分单元格为空,在G列通过函数求得当前行第一个非空单元格的位置值,比如C1、D2、A3等,如图

=CHAR(MATCH(1=1,A1:F1<>"",)+64)&ROW()

数组公式按CTRL+SHIFT+ENTER输入公式

追问

这个能直接套用在公式里吗,就是普通的excel函数里

追答

如果套公式中应该十取值,而不是取位置
应该用我之前给你写的hlookup来最简单了。
=HLOOKUP("?*",A1:F1&"",1,)
或者
=INDEX(1:1,MATCH("*?",A1:F1&"",))
=INDEX(1:1,MATCH(1=1,A1:F1"",))
都是数组公式

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-08-08

G1:

=ADDRESS(ROW(),SMALL(IF(A1:F1<>"",COLUMN(A1:F1),256),1),4)

按Ctrl+Shift+Enter完成数组公式,并向下填充。

追问

这个能直接套用在普通excel公式里面吗,另外如果要取对应的值,就对应的1、1234、12这些,是不是又需要其函数了

本回答被网友采纳
第2个回答  2022-06-27
可选用以下公式(假定查找的是A列)
1、=LOOKUP(0,0/(A1:A65535<>""),ROW(1:65535))
其中:LOOKUP函数用于返回向量或数组中的数值,其向量形式的语法是: LOOKUP(lookup_value,lookup_vector,result_vector)
参数Lookup_value为函数在第一个向量中所要查找的数值;
参数Lookup_vector和result_vector分别为第一向量查找区域和第二向量结果区域,它们是只包含一行或一列的区域。
2、=MAX(IF(A1:A65535<>"",ROW(1:65535),0))按组合键ctrl+shift+enter结束公式。其中:用IF(A1:A65535<>"",ROW(1:65535)))对符合条件的赋予自然数序列,对不符合条件的赋值0,然后用MAX获得最后一个符合条件的值。
第3个回答  2022-06-27
可选用以下公式(假定查找的是A列)
1、=LOOKUP(0,0/(A1:A65535<>""),ROW(1:65535))
其中:LOOKUP函数用于返回向量或数组中的数值,其向量形式的语法是: LOOKUP(lookup_value,lookup_vector,result_vector)
参数Lookup_value为函数在第一个向量中所要查找的数值;
参数Lookup_vector和result_vector分别为第一向量查找区域和第二向量结果区域,它们是只包含一行或一列的区域。
2、=MAX(IF(A1:A65535<>"",ROW(1:65535),0))按组合键ctrl+shift+enter结束公式。其中:用IF(A1:A65535<>"",ROW(1:65535)))对符合条件的赋予自然数序列,对不符合条件的赋值0,然后用MAX获得最后一个符合条件的值。
第4个回答  2022-06-27
可选用以下公式(假定查找的是A列)
1、=LOOKUP(0,0/(A1:A65535<>""),ROW(1:65535))
其中:LOOKUP函数用于返回向量或数组中的数值,其向量形式的语法是: LOOKUP(lookup_value,lookup_vector,result_vector)
参数Lookup_value为函数在第一个向量中所要查找的数值;
参数Lookup_vector和result_vector分别为第一向量查找区域和第二向量结果区域,它们是只包含一行或一列的区域。
2、=MAX(IF(A1:A65535<>"",ROW(1:65535),0))按组合键ctrl+shift+enter结束公式。其中:用IF(A1:A65535<>"",ROW(1:65535)))对符合条件的赋予自然数序列,对不符合条件的赋值0,然后用MAX获得最后一个符合条件的值。
相似回答