Hallo Doc,
mit Formeln hab ich#s nicht so und da muss man wohl tricky rangehen, scheint nicht so einfach.
Wie wär#s mit Vba?
Nimm mal ein leeres Blatt = Tabelle1 einer neuen mappe.
Dann unten Rechtsklick auf den namen des Blattes, dann "Code anzeigen.
Nun bist du im VB-Editor im Modul des tabellenblattes,
Kopiere da diesen Code rein:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range(„B1:B12“)) Is Nothing Then Exit Sub
Call Ausfuellen
End Sub
Dann im Editor, Einfügen—Modul, dadurch bist du im Satandardmodul Modul1, dort kopierst du diesen Code rein:
Option Explicit
Sub Ausfuellen()
Dim Zei As Long, Pos As Long
Pos = 20
With Worksheets("Tabelle1")
.Cells(20, 1).Resize(1000, 1).ClearContents
For Zei = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
If .Cells(Zei, 2).Value \> 0 Then
.Cells(Pos, 1).Resize(.Cells(Zei, 2).Value, 1).Value = .Cells(Zei, 1).Value
Pos = .Cells(Rows.Count, 1).End(xlUp).Row + 1
End If
Next Zei
End With
End Sub
Jetzt schließe den Vb-Editor.
Schreib da in A1:b12 rein was du willst. Äh, so wie in deinem Beispiel *mein* 
Du wirst sehen daß immer wenn du in B1:B12 eine Eingabe gemacht hast reagiert der Code vollautomatisch und schreibt aktualisiert ab A20 nach unten das rein was du wolltest.
Um nervige lange hin- und her Beitragsfolgen zu vermeiden,
lade dann eine Kopie deiner Originalmappe hier hoch.
Daten/Spalten/Blätter die keinerlei Rolle spielen für uns kannste ja löschen.
Wir wollen nur wissen wo stehen da deine A1:b12 im Realen als Zellbereich, wo deine A20:Ax im Realen.
Und wenn im Berecih von A1:B12 Formeln stehen müssen wir die zellen sehen auf die sich die Formeln beziehen.
Und, wenn Thomas da Bock hat eine Formellösung zu basteln so kann ihm das langen. Mir bzw. einer Vba-Lösung noch nicht.
Denn um automatisch auf zellwertänderungen zu reagieren muß Vba die Zelle kennen in der du manuell etwas eingibst.
Hochladen der mappe dann mit file-upload o.ä., s. FAQ:2606
Gruß
Reinhard
Gruß
Reinhard