Kurze Antwort
=ArrayFormula(vlookup(ROW(1:10),{IF(LEN(A1:A10)>0,ROW(1:10),""),A1:A10},2))
Erläuterung
Angenommen, die Eingabedaten in der Column A
folgenden Tabelle befinden sich in der Zelle B1
.
Hinweis: Um die Auswertung der Formel zu vereinfachen, Column A
wiederholt die (Eingabe) keine Werte, funktioniert jedoch mit allen Arten von Werten (Buchstaben, Zahlen, Symbole, wiederholt, unsortiert usw.).
| A B
=== + ======= =======
1 | a a
2 | a
3 | b b
4 | b
5 | b
6 | c c
7 | d d
8 | e e
9 | e
10 | f f
VLOOKUP
wurde ausgewählt, da es verwendet werden kann, um ungefähre Werte zu finden, und mehrere Werte (Array) zurückgeben kann.
Da die Eingabewerte in beliebiger Reihenfolge angezeigt werden können, wurde anstelle der tatsächlichen Werte die Zeilennummer für nicht leere Zellen verwendet, und leere Zellen haben eine leere Zeichenfolge zugewiesen ""
.
Es wurde LEN
anstelle von ISBLANK
Zellen mit Formeln verwendet, die eine leere Zeichenfolge zurückgeben. FALSE
Dies kann in einigen gängigen Szenarien zu Problemen führen.
IF(LEN(A1:A10)>0,ROW(1:10),"")
HINWEIS: Wenn Sie drei Zeichen speichern möchten, kann der zweite Parameter ( ""
das Zeichen ist das Parametertrennzeichen ,
) entfernt werden. Bei der Analyse dieses Teils der Formel werden leere Zellen zurückgegeben FALSE
.
Da VLOOKUP
die Nachschlagespalte die erste Spalte anstelle eines Bereichs sein muss, wurde ein "halb manuell" erstelltes Array verwendet.
{IF(LEN(A1:A10)>0,ROW(1:10),""),A1:A10}
Der obige Ansatz spart uns Zellen und Verarbeitungszeit.
""
des if-Befehls etwas kürzer gemacht werden (weggelassenes Argument ist standardmäßig leer).""
aber eine Notiz , dass und ersetzt hinzugefügtROW(A1:A10)
durchROW(1:10)
. :)Zusätzlich zum vorherigen Beitrag ermöglicht die folgende Formel die Verwendung offener Bereiche, sodass die Ausgabe automatisch erweitert wird, wenn der angegebenen Spalte neue Werte hinzugefügt werden (A im folgenden Beispiel).
BEARBEITEN: Wenn Sie nicht möchten, dass die Ausgabe auf die letzte Zeile der Quelldaten beschränkt wird, können Sie die Endzeile wie folgt fest codieren:
quelle
Sie können diese Formel ausprobieren:
quelle