Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
432to436
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
432to436
432to436
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

letzte 3 Werte einer Liste finden

letzte 3 Werte einer Liste finden
26.05.2004 10:39:27
Micha.hal
Hallo Excelperten,
folgende Tabelle:
1. Spalte = Namen
2. - 20. Spalte = teilweise Werte enthalten
Anforderung: Ich möchte für die letzten 3 Werte jedes Namens den Mittelwert berechnen. Bei einem Namen sind es vielleicht die Spalten 18, 19, 20, beim nächsten vielleicht die Spalten 7, 13, 15, usw.
Wie kann ich also aus dieser Tabelle, die unregelmäßig Werte enthält, jeweils die letzten 3 Werte herausfiltern?
Danke für die Hilfe.
Micha
Mittelwert der 3 letzten Zahlen (Array)
WF
Hi Micha,
{=SUMME(INDIREKT("A"&KGRÖSSTE(ISTZAHL(A1:A1000)*ZEILE(A1:A1000);3)):A1000)/3}
ARRAY-Formel {=geschweifte Klammern} nicht eingeben;
Abschluß der Formel mit gleichzeitig Strg / Shift / Enter; - das erzeugt sie.
trapp, trapp, trapp, trapp, trapp, brrrrr
WF
http://www.excelformeln.de/
die ultimative Formelseite
AW: Mittelwert der 3 letzten Zahlen (Array)
Micha.hal
Hi WF,
habe Deine Formel mal für die Zeile 2 meiner Tabelle angepasst:
{=SUMME(INDIREKT("B"&KGRÖSSTE(ISTZAHL(B2:U2)*ZEILE(B2:U2);3)):U2)/3}
Er sucht zwar schön die Werte raus und teilt dann durch 3, aber leider sucht er alle Werte, und nicht nur die 3 letzten (von Spalte B beginnend), also eigentlich wie Summe(B2:U2)/3.
Oder liegt es vielleicht daran, dass ich den Syntax der Formel noch nicht ganz verstanden habe (Steht das "A" bzw. "B" für die Startspalte?, Wieso wird mit KGRÖSSTE nur nach den größten Werten gesucht und nicht nach den letzten Werten von links beginnend?, Und was bringt die Verbindung beider Argumente mit &?)?
Fragen über Fragen...
Micha
Anzeige
Mittelwert der 3 letzten Zahlen FÜR EINE ZEILE
WF
Hi Micha,
für Deinen Bereich B2 bis U2 lautet die Formel:
{=SUMME(INDIREKT(ADRESSE(2;KGRÖSSTE(ISTZAHL(B2:U2)*SPALTE(B2:U2);3))):U2)/3}
ARRAY-Formel {=geschweifte Klammern} nicht eingeben;
Abschluß der Formel mit gleichzeitig Strg / Shift / Enter; - das erzeugt sie.
trapp, trapp, trapp, trapp, trapp, brrrrr
WF
http://www.excelformeln.de/
die ultimative Formelseite
Anzeige
AW: 2 durch ZEILE() ersetzen
FP
Hallo WF,
... so kann er Deine Formel ja nicht runterkopieren ;-)
{=SUMME(INDIREKT(ADRESSE(ZEILE();KGRÖSSTE(ISTZAHL(B2:U2)*SPALTE(B2:U2);3))):U2)/3}
und etwas kürzer geht es so:
{=SUMME(INDIREKT(ADRESSE(ZEILE();19-ANZAHLLEEREZELLEN(B2:U2))):U2/3)}
wobei 19 der Spaltennummer "S" entspricht.
Falls Micha keine Arrayformeln mag habe ich noch die anzubieten:
=SUMME(BEREICH.VERSCHIEBEN(INDIREKT(ADRESSE(ZEILE();19-ANZAHLLEEREZELLEN(B2:U2)));;;1;3+ANZAHLLEEREZELLEN(B2:U2)))/3
ist zwar länger, aber wie gesagt: keine Arrayformel!
Servus aus dem Salzkammergut
Franz
Anzeige
Du testest nicht !!! (you remember :-)
WF
Hi Franz,
Zum Runterkopieren: klar Zeile() bzw. im konkreten Fall ZEILE(A2)
Und das mit ANZAHLLEEREZELLEN ist Unsinn:
da dürfen ja vor der drittletzten Zahl keine Leerzellen vorkommen!
Salut WF
AW: Du hast Recht, aber so geht es kürzer
FP
Hi WF,
das mit ANZAHLLEEREZELLEN war blödsinn :-(
Habe aber doch noch eine kürzere Formel gefunden ;-)
{=SUMME((SPALTE(B2:U2)&gt=KGRÖSSTE(WENN(B2:U2;SPALTE(B2:U2));3))*B2:U2)/3}
Servus aus dem Salzkammergut
Franz
Du hast absolut was drauf; - aber .....
WF
Hi Franz.
.....Deine Lösungen schau ich mir sehr ungerne an, da man diese zu intensiv testen muß.
Die Grundidee ist meistens richtig; - aber fast nie zu Ende gedacht.
Dein WF
Anzeige
AW: letzte 3 Werte einer Liste finden
Andi_H
Hi Micha,
versuche es mal mit cells(Zeile,200).End(xltoleft).column
Der Befehl geht von spalte 200 nach links und stoppt sobald eine zelle einen Wert enthält.
dim ColWertA,ColWertB,ColWertC as Byte
colwertA = cells(zeile,200).end(xltoleft).column ' hier hast du den Spaltenindex des ersten wertes
colWertB = cells(Zeile,ColwertA).end(xltoleft).column ' Spaltenindex Wert 2
ColWertC = cells(Zeile,ColwertB).end(xltoleft).column ' Spaltenindex Wert 3
Wert1 = cells(Zeile,ColWertA)
Wert2 = cells(Zeile,ColWertB)
Wert3 = cells(Zeile,ColWertC)
Gruß
Andi

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige