Clever-Excel-Forum

Normale Version: [Lambda] ARRAY.COMBINE
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Ich habe mich nun auch noch an einem .APPEND versucht und es ARRAY.COMBINE genannt.

=ARRAY.COMBINE(_Tab1;_Tab2;) gibt das gemeinsame Array zweier Arrays zurück
=ARRAY.COMBINE(_Tab1;_Tab2;1) gibt in einer extra Spalte ("Origin") die Nr. der Herkunftstabelle 1 oder 2 aus
=ARRAY.COMBINE(_Tab1;_Tab2;1,1) ergänzt die Herkunfts-Nr. um den relativen Satz darin (für stabile Rücksortierung)

=LAMBDA(_Tab1;_Tab2;Origin;LET(
a;_Tab1;
b;_Tab2;
o;Origin;
x;ZEILEN(a);
y;SPALTEN(a);
z;ZEILEN(b);
k;SEQUENZ(x);
m;SEQUENZ(x+z);
n;SEQUENZ(;y+o);
WENN(m<=x;
WENN(n>y;1+(o=1,1)*k%%%;INDEX(a;k;n));
WENN(n>y;2+(o=1,1)*(m-x)%%%;INDEX(b;m-x;n)))))


Ich habe mich gefragt, ob man Feldnamen (ja oder nein in den beiden Tabs - und ja oder nein am Ziel) benötigt, um z.B. eine Pivotquelle bereitstellen zu können. Ich denke, dass es kein Problem ist, wenn _Tab1 mit solchen Feldnamen mitgeliefert wird. Bei _Tab2 darf das natürlich nicht sein, aber man kann sie ja auch ohne solche übergeben.

Sollten die beiden Tabellen ungleich viele Spalten haben (eher untypisch und eigentlich im Vorfeld anzugleichen), empfiehlt sich bei meiner Lösung ein gleich breiter Bezug für beide (ggflls über Leerzellen). Ansonsten entsteht #BEZUG! als Warnung in den nicht einbezogenen Zellen.