Excel中

时间:2017-10-12 21:53:34

标签: excel

如何使用Excel函数获取行中最后一个非零值的列名。

示例:

答:E - 带有值的列 x - 功能结果

A B C D E x

0 0 1 0 0 C
1 0 2 1 2 E
0 1 1 0 1 E
1 1 1 1 1 E
0 0 0 0 0 

3 个答案:

答案 0 :(得分:2)

这有效:

=IFERROR(CHAR(AGGREGATE(14,6,COLUMN(A1:E1)/(A1:E1<>0),1)+64),"")

enter image description here

答案 1 :(得分:1)

这些是必须使用CTRL + SHIFT + ENTER输入的数组公式:

这适用于ZZ:

=IFERROR(SUBSTITUTE(MID(CELL("address",OFFSET(A1,0,MAX(IF(A1:AA1<>0,COLUMN(A1:AA1),0))-1)),2,2),"$",""),"")

这适用于所有列:

=IFERROR(MID(CELL("address",OFFSET(A1,0,MAX(IF(A1:AAA1<>0,COLUMN(A1:AAA1),0))-1)),2,FIND("$",MID(CELL("address",OFFSET(A1,0,MAX(IF(A1:AAA1<>0,COLUMN(A1:AAA1),0))-1)),2,99))-1),"")

更新:接受的答案更有效。它假设数值,但也可以轻松更新以处理非数字值。但是它可以进一步优化:

=IFERROR(MID(SUBSTITUTE(ADDRESS(1,MAX(IF(A2:XED2,COLUMN(A2:XED2)))),"$1",""),2,3),"")

答案 2 :(得分:1)

输入 CTRL + Shift + 输入

=IFERROR(MID(ADDRESS(ROW(),MAX(IF(A2:E2,COLUMN(A2:E2)))),2,SEARCH("$",ADDRESS(ROW(),MAX(IF(A2:E2,COLUMN(A2:E2)))),2)-2),"")

enter image description here