Excel中最后一个非零值的列名称
如何使用Excel函数获取行中最后一个非零值的列名。
例:
答:E – 值为x的列 – 函数结果
ABCDE 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
用CTRL + Shift + Enterinput :
=IFERROR(MID(ADDRESS(ROW(),MAX(IF(A2:E2,COLUMN(A2:E2)))),2,SEARCH("$",ADDRESS(ROW(),MAX(IF(A2:E2,COLUMN(A2:E2)))),2)-2),"")
这工作:
=IFERROR(CHAR(AGGREGATE(14,6,COLUMN(A1:E1)/(A1:E1<>0),1)+64),"")
这些是必须使用CTRL
+ SHIFT
+ ENTER
input的数组公式:
这工作到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),"")