如何使用Excel函數獲取行中最後一個非零值的列名稱。Excel中最後一個非零值的列名稱
實施例:
甲:電子 - 列與值 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
如何使用Excel函數獲取行中最後一個非零值的列名稱。Excel中最後一個非零值的列名稱
實施例:
甲:電子 - 列與值 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
這些陣列的公式必須使用輸入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),"")
爲什麼?你會用另一個公式來返回其他的東西嗎? –
@ScottCraner是的。在實際的例子中,每一列都與時間有關(第一期,第二期......)我想計算開始日期和最後一次發生日期(結束日期)之間的差異。 – Kulis
您需要顯示完整的問題,在一個步驟中而不是兩個步驟中執行所需的操作會更容易。 –