The only other way I know is to use a custom function.
From Excel, Select Tools -> Macro -> Visual Basic Editor
Press Ctrl+R to open the Projects Window
Select your workbook in the Projects Window and from the main menu select Insert -> Module
Double Click on the new module to open it
In the code window, paste this code:
Public Function GetLastValue(arLastCell As Range)
Dim lOffset As Long
'--make sure this function gets recalced when the workbook recalcs
Application.Volatile
lOffset = 0
Do Until arLastCell.Offset(0, lOffset).Value > 0
lOffset = lOffset - 1
Loop
GetLastValue = arLastCell.Offset(0, lOffset).Value
End Function
To use the function, enter (in cell B1):
=GetLastValue(AZ1)
Pass it the last cell you want to check for values.
You should be able to copy this down the column, but if there is not any data to the right of the cell, you might get a circular reference error since the last cell with a value will be the cell the formula is in.
If you have a large workbook, you can remove the line Application.Volatile from the function and recalc manually (F9).