Tja, dann gibt es halt nur die lange Variante, mit einer Schleife vom letzten zum 1. Element den 1. Wert <> 0 zu suchen.
Allerdings, wenn auch 0-Werte zwischendurch vorkommen können, wer sagt dir denn, dass die letzten 0-Werte nicht gültige Werte sind ?

Wie füllst du denn die Tabelle ?
Kannst du dir beim Füllen die Anzahl nicht merken ?
Wenn du eine oder mehrere Parallel-Tabellen hast, ist da ggf. das 1. freie Element = *blank ?

%elem hat nur den Vorteil, dass ich damit die definierte Anzahl nicht zusätzlich als Konstante/Variable speichern muss.