VSuchlauf() mit Summe()

Hallo zusammen,

Habe diese Formel :

VSuchlauf(E5:E99;1;;SetzeZelle(Summe(Index(B5:B99;LfdIndex);Index(C5:C99;LfdIndex);Index(D5:D99;LfdIndex));E5:E99;LfdIndex))

So erhalte ich in der Spalte E auf jeder Linie die Summe der Werten von den Spalten B, C und D.

Die Formel funktioniert, aber ich finde das nicht elegant und auch nicht bequem ;

Habe also die folgende Formel erfolglos probiert :

VSuchlauf(E5:E99;1;;SetzeZelle(Summe(Index(B5:B99;LfdIndex):Index(D5:D99;LfdIndex));E5:E99;LfdIndex))

Wie könnte ich diese falsche Formel korrigieren ?

Grüsse,
jacques

Re: VSuchlauf() mit Summe()

#12837 On 29 Mai, 2020 07:18 Thomas Kaegi said,

Hallo Jacques

Das geht natürlich nicht! Der Doppelpunkt zwischen den beiden Index-Funktionen verbindet diese nicht zu einem Bereich.

Auch wenn ich in meinem Buch von der Benutzung der Funktion "Spaltenwert" abgeraten habe – hier scheint mir eine sinnvolle Anwedug!

VSuchlauf(B5:D99;1;;SetzeZelle(Summe(LfdZelle;Spaltenwert(2);Spaltenwert(3));E5:E99;LfdIndex))

oder einfacher:

VSuchlauf(B5:D99;1;;SetzeZelle(LfdZelle+Spaltenwert(2)+Spaltenwert(3);E5:E99;LfdIndex))

oder – wen die Funktion "Spaltenwert" vermieden werden soll:

VSuchlauf(B5:D99;1;;SetzeZelle(LfdZelle+Index(C5:C99;LfdIndex)+Index(D5:D99;LfdIndex));E5:E99;LfdIndex))

Cordialement – d'une matinée ensoleillée aux Grisons
Thomas

Re: VSuchlauf() mit Summe()

#12838 On 29 Mai, 2020 10:06 jacques villars said,

Hallo Thomas,
Vielendank für diene Lösungen (Spaltenwert wollte ich eben vermeiden…)
Salutations cordiales du Jura sous la bise et le soleil
jacques

Re: VSuchlauf() mit Summe()

#12839 On 29 Mai, 2020 14:28 Thomas Kaegi said,

Hallo Jacques

Hier ist noch eine Lösung in der Art, wie du sie zu programmiere versucht hast, nämlich mit einer Summe des horizontalen Bereichs. Aber dafür wird die RT-Erweiterung "MetaFormeln" benötigt:

VSuchlauf(B1:D99;LfdIndex>4;;SetzeZelle(RechneText("Summe("&Bereich(2;LfdIndex;4;LfdIndex)&")");E1:E99;LfdIndex))

oder auch

VSuchlauf(B5:D99;1;;SetzeZelle(RechneText("Summe("&Bereich(2;LfdIndex+4;4;LfdIndex+4)&")");E5:E99;LfdIndex))

Je nach RT-Sprachversion müssen einfache statt der doppelten Anführungszeichen benützt werden.

Herzlicher Gruss
Thomas

Re: VSuchlauf() mit Summe()

#12840 On 29 Mai, 2020 20:16 jacques villars said,

Hallo Thomas

Metaformeln habe ich nicht; aber deine Lösung :

VBalayage(B5:D99;1;;Cellule(Somme(ValeurColonne(1);ValeurColonne(2);ValeurColonne(3));E5:E99;IndexCourant))

ist viel leichter zu Schreiben und eventuell zu adaptieren als was ich vorher komponiert hatte und das genügt mir.

Also nochmals danke.

Herzliche Grüsse

jacques

Re: VSuchlauf() mit Summe()

#12841 On 31 Mai, 2020 09:08 Thomas Kaegi said,

Hallo Jacques

Ich bin mit deiner Schlussfolgerung einverstanden. Trotzdem schlage ich hier nochmals eine andere Lösung vor. Sie benötigt keine RT-Erweiterung. Unter der Annahme, dass später eventuell zwischen den Spalten B ud D noch eine weitere Spalte eingefügt werden könnte, hätte diese Formel den Vorteil, dass sie sich automatisch anpasst: Mit dem Bereich des HSuchlaufs wird einfach definiert, über wie viele Spalten die Summe gebildet wird, die in der letzten Spalte (in deinem Fall E) eingesetzt werden soll. Würde also zwischen den Spalten B und C noch eine neue Spalte eingefügt und das Resultat in Spalte F statt E eingetragen, so müsste die Formel nicht geändert werden, weil sie sich automatisch angepasst hätte.

VSuchlauf(B5:D99;1;;SetzeZelle(HSuchlauf(B1:D1;1;0;LfdResultat+Index(B5:D99;LfdIndex(1);LfdIndex));E5:E99;LfdIndex))

Ich nehme zwar nicht an, dass du deine einfache und gut lesbare Formel damit ersetzen wirst. Aber ich finde es doch eine interessante Anwendung für einen verschachtelten Suchlauf.

Freundliche Grüsse
Thomas

Re: VSuchlauf() mit Summe()

#12842 On 1 Juni, 2020 17:11 jacques villars said,

Hallo Thomas

Das ist genau was ich mit der zweiten Formel, die nicht funktionierte, zu tun gesucht hatte ! Und das Ziel war dasjenige, das du hier beschreibst ; während ich vorletzte Nacht darauf wartete, einzuschlafen, dachte ich an einer Lösung mit HSuchlauf ;-) ich habe aber nicht weiter versucht… wenn nötich werde ich also deine neue und interessante Lösung benutzen.

Herzliche Grüsse

jacques