Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1568to1572
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
Inhaltsverzeichnis

Erste und letzte Zahl zusammenrechnen

Erste und letzte Zahl zusammenrechnen
01.08.2017 08:58:22
GrauerEsel
Guten Morgen zusammen!
Ich habe mal wieder ein recht interessantes Problem.
Von unserem Tankdatenprogramm wurden alle Tankungen mit Kilometerständen in einer einzigen Tabelle ausgegeben. In Spalte A die Kennzeichen, in Spalte B die Kilometerstände und in Spalte C das jeweilige Datum.
DU1122 8562 22042017
DU1122 8563 23042017
DU3344 124 25042017
DU3344 154 26042017
DU8765 1245 24042017
DU8765 1547 26042017
DU8765 1678 27042017
Ich muss jetzt bei jedem Kennzeichen den ersten Kilometerstand vom letzten Kilometerstand abziehen, um die Jahreslaufleistung ermitteln zu können. Nur leider sind es nicht drei Kennzeichen, sondern knapp achthundert und die Anzahl der Tankungen ist auch unterschiedlich.
Mein Gedanke war, eine =Max-Min-Formel so weit zu erweitern, dass sie die verschiedenen Kennzeichen berücksichtigt. Gibt es dafür ebenfalls eine Formel oder habt ihr noch eine viel bessere Idee?
Bin dankbar für jede Anregung!
Grüße

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Anfang: Pivot
01.08.2017 09:10:21
Fennek
Hallo,
als erste Schritte:
- das Datum in ein xl-Datum umwandeln
- Pivot-Tabelle mit den Kennzeichen in den Zeilen und 2x das Datum in den Werten, einmal als "Min" und einmal als "Max".
Danach werden dann die passenden km-Stände gesucht.
mfg
mit Hilfsspalte und Arrayformeln
01.08.2017 09:32:39
WF
Hi,
Zeile 1 ist leer oder da stehen Überschriften.
Daten also ab A2 und B2 - Spalte C (Datum) brauchst Du nicht.
In E2 folgende Arrayformel:
{=WENN(A2=A1;0;MAX(WENN(A$1:A$999=A2;B$1:B$999))-MIN(WENN(A$1:A$999=A2;B$1:B$999)))}
runterkopieren
das Ergebnis ist dann
=SUMME(E2:E999)
WF
WFs Lösung ist schon der prinzipiell richtige ...
01.08.2017 19:33:10
Luc:-?
…Ansatz, GrEs,
aber die Erzeugung einer verdichteten KreuzTabelle aus den PrimärDaten wäre wohl die übersichtlere Lösung. Das kann in Form einer Pivot-Tabelle oder wie folgt geschehen:
 IJKLMN
1
IdentVerbrauchvonbis  DU1122122.04.201723.04.2017  DU33443025.04.201726.04.2017  DU876543324.04.201727.04.2017  Insgesamt46422.04.201727.04.2017J5:=SUMME(J2:J4)I2[:I4]:=Splint(VJoin(A$2:A$8;;-1);;ZEILE(A1))K5:=MIN(K2:K4)J2[:J4]:=VERWEIS(I2;A$2:A$8;B$2:B$8)-SVERWEIS(I2;A$2:B$8;2;0)L5:=MAX(L2:L4)K2[:K4]:=--ERSETZEN(SVERWEIS(I2;A$2:C$8;3;0);3;2;TEXT(--("1-"&TEIL(SVERWEIS(I2;A$2:C$8;3;0);3;2)&"-"&2017);"MMM"))L2[:L4]:=--ERSETZEN(VERWEIS(I2;A$2:A$8;C$2:C$8);3;2;TEXT(--("1-"&TEIL(VERWEIS(I2;A$2:A$8;C$2:C$8);3;2)&"-"&2017);"MMM"))
2
3
4
5
6
7
8
9
800 Datensätze sollten für die UDFs in Spalte I kein Problem sein. Falls doch, läge das wohl an Splint. Diese könnte aber durch die UDF VSplit ersetzt wdn; …
• für Einzelwerte wie oben: =INDEX(VSplit(VJoin(A$2:A$8;;-1);;;1);ZEILE(A1))
• oder als plurale MatrixFml für alle Werte: {=VSplit(VJoin(A2:A8;;-1);;;1)}
Die UDFs sind hier zu finden:
Splint: https://www.herber.de/forum/archiv/864to868/865813_Texte_per_VBA_in_einzelne_Teile_aufteilen.html#865877
VJoin (& VSplit): https://www.herber.de/bbs/user/99024.xlsm (in BspDatei)
Feedback nicht unerwünscht! Gruß, Luc :-?
PS für WF: Wie Du an den Fmln in Spalten K:L siehst, Walter, war die kürzliche DatumsDiskussion durchaus sinnvoll…! ;-]
Besser informiert mit …
Anzeige
Nachbemerkung für (spätere) Interessenten
02.08.2017 14:09:30
Luc:-?
Zur Bildung der echten Datumsangaben in Spalten K:L würde auch …
TEXT(--("1-"&TEIL(SVERWEIS(I2;A$2:C$8;3;0);3;2)&"-0");"MMM")
…anstelle von …
TEXT(--("1-"&TEIL(SVERWEIS(I2;A$2:C$8;3;0);3;2)&"-"&2017);"MMM")
…ausreichen.
Luc :-?
AW: Erste und letzte Zahl zusammenrechnen
02.08.2017 07:35:38
Daniel
Hi
1. Sortiere die Spalten A:B nach Spalte B. aufsteigend
2. kopieren die Spalte B Nach Spalte C.
3. sortieren die Spalten A:B nach Spalte B absteigend (C nicht mitsortieren)
4. wende auf die Spalten A:C das Duplikate-Entfernen an mit Spalte A als Kriterium
5. Bilde in Spalte D die Differenz: =B1-C1
Gruß Daniel
Anzeige
Danke euch allen!
02.08.2017 07:48:15
GrauerEsel
Danke für die verschiedenen Möglichkeiten. Habe für dieses mal die Pivotfunktion genutzt.
Ich habe mir aber alle Möglichkeiten in mein Notizbuch geschrieben und werde mich dran erinnern, wenn ich wieder solche Tabellen vor mir habe.
Wünsche einen schönen Tag allen zusammen!
AW: thread ist somit auch nicht mehr offen owT
02.08.2017 09:58:31
...
Gruß Werner
.. , - ...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige