Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1256to1260
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

Bestimmte Werte innerhalb einer Zelle addieren

Bestimmte Werte innerhalb einer Zelle addieren
Schmitz
Hallo zusammen,
ich habe eine Kundenliste mit mehreren Hundert Kundendaten. Wenn ich einem Kunde etwas geliefert habe, schreibe ich das in eine Zelle, für jede Lieferung benutze ich eine neue Zeile innerhalb (!) der gleichen Zelle. Ich trage meine Angaben im folgenden Schema ein: "Datum-Menge-Preis"
Beispiel einer Zelle:
01.01.2012-2304-55,90
16.02.2012-350-112,90
08.03.2012-4200-78,50
Jetzt möchte ich etwas Statistik betreiben und wissen,
a) wie oft der Kunde beliefert wurde
b) wie große die Menge insgesamt war
Zu a) habe ich eine Lösung (Formel) gefunden, wobei "A1" die Zelle ist:
=1+LÄNGE(A1)-LÄNGE(WECHSELN(A1;ZEICHEN(10);""))
Zu b) habe ich noch keine Idee. Mein Problem ist. dass die Mengenangabe ein-, zwei-, drei-, vier- und mehrstellig seinen kann. Also kann ich keine Formel nutzten, die nur von rechts oder links die Zeichen zählt und einen gewissen Teil der Zelle addiert. Ausserdem weiß ich nicht, wie ich in einer Formel den Zeilensprung innerhalb der Zelle berücksichtigen soll.
Hat jemand von Euch eine Idee?
Danke im Vorras & Gruß
Christian Schmitz
AW: Bestimmte Werte innerhalb einer Zelle addieren
18.04.2012 11:46:17
Sheldon
Hallo Christian,
das wird ohne VBA wohl kaum lösbar sein. Deine Lösung wird aber ohnehin irgendwann an ihre Grenzen stoßen, weil in einer einzelnen Zelle m. W. nicht beliebig viele Zeichen gespeichert werden können. Um das ganze auswertbar und auch flexibler zu gestalten, würde ich dir statt dessen empfehlen, ein Kunden-Stammblatt anzulegen, wo also Kundennummer steht und wo du ggf. auch Auswertungen wie Gesamt-Liefermenge anfertigen kannst. Und ein separates Tabellenblatt, auf dem du Kundennummer, Lieferdatum, Menge und Preis in jeweils eigenen Zellen zeilenweise speicherst. Das macht ja auch die Pflege einfacher - und du kannst nicht versehentlich eine Zelle überschreiben oder löschen, womit dann gleich alle Lieferungen des Kunden verloren gingen!
Gruß
Sheldon
Anzeige
?warum machst Du das so ? oT-Gruß
18.04.2012 11:48:36
robert
AW: ?warum machst Du das so ? oT-Gruß
19.04.2012 07:58:38
Schmitz
Hallo Robert,
ich trage alle Lieferungen des Jahres pro Kunde in eine Zelle ein, da ich daneben die letzten zehn Jahre auf die gleiche Methode vertraut habe, also pro Jahr eine Zelle mit Datum-Menge-Preis. Das hat den Vorteil, dass wenn ich einen Kunden aufrufe, die letzten 10 Jahre eigentlich sehr gut überblicken kann und sehr leicht mit dem Autofilter herausfinden kann, wenn ein Kunde mal ein Jahr keine Ware bekommen hat (Zelle ist leer).
Das System hat sich eigentlich in unserem Falle bewert und ich wollte nur zusätzlich eine Statistik einfügen. Wie gesagt, die Anzahl der Lieferungen pro Kunde pro Jahr kann ich bereits anzeigen lassen, nur noch nicht die Liefermenge...
Gruß
Christian
Anzeige
schick doch eine Beispieldatei-Gruß
19.04.2012 08:19:47
robert
eigenwillige Erfassung....
19.04.2012 16:18:52
robert
Hi,
muss eine kleine ;-) Firma sein...
sind die Mengen immer 4 stellig?
Gruß
robert
AW: eigenwillige Erfassung....
20.04.2012 07:24:19
Schmitz
Hallo Robert,
ganz so klein sind wir nicht... ;-)
Die Mengen könne 1-5 Stellig sein...
Gruß
Christian
2.Version v.Reinhard ist besser !! Gruß
20.04.2012 08:26:47
robert
Zusatzfrage...
19.04.2012 17:11:20
robert
Hi,
wieviele Umsätze kann ein Kunde pro Jahr haben?
Gruß
robert
Anzeige
Stimme Robert zu! So etwas macht ggf ...
19.04.2012 00:56:27
Luc:-?
…ein wdProfi, Christian,
aber ein xlProfi…?
Gruß Luc :-?
AW: Bestimmte Werte innerhalb einer Zelle addieren
20.04.2012 03:18:44
Reinhard
Hallo Christian,
Formel in Q3: =menge(O3)
in ein Standardmodul, Modul1 o.ä.:
Option Explicit
Function Menge(Zelle) As Single
Dim Teil, N As Integer
If InStr(Zelle.Value, "-") = 0 Then Exit Function
Teil = Split(Zelle.Value, Chr(10))
For N = LBound(Teil) To UBound(Teil)
If Teil(N)  "" Then Menge = Menge + CSng(Split(Teil(N), "-")(2))
Next N
End Function

Gruß
Reinhard
Das ist aber der Preis, den Du addierst-oT
20.04.2012 07:46:58
robert
und so ist es die Menge-Super Reinhard ;-)
20.04.2012 08:19:43
robert
Option Explicit

Function Menge(Zelle) As Single
Dim Teil, N As Integer
If InStr(Zelle.Value, "-") = 0 Then Exit Function
Teil = Split(Zelle.Value, Chr(10))
For N = LBound(Teil) To UBound(Teil)
If Teil(N)  "" Then Menge = Menge + CSng(Split(Teil(N), "-")(1))
Next N
End Function
Gruß
robert
Anzeige
AW: und so ist es die Menge-Super Reinhard ;-)
20.04.2012 11:35:32
Schmitz
Hallo,
das funktioniert super!
Herzlichen Dank...
Eine kleine Frage habe ich aber noch:
Wie kann ich die Formel in P3 bzw. Q3 so abändern, das Zelle P12 berücksichtigt wird. Das müsste doch eigentlich mit einem VERWEIS gehen, nur habe ich gerade anscheinend ein Brett vor dem Kopf und komme nicht auf die Lösung...
siehe Beispieldatei:
https://www.herber.de/bbs/user/79882.xlsx
Gruß
Christian
AW: und so ist es die Menge-Super Reinhard ;-)
20.04.2012 15:04:28
Reinhard
Hallo Christian,
gab es in P9 zwei Lieferungen wie deine Formel sagt? Da ist doch eher ein Chr(10) zuviel.
Daß mit der Statistik habe ich nihct verstanden. In Spalte O stehen nur Datümer aus 2012,
in P12 steht das Jahr 2012.
Wie soll das in P/Q3 berücksichtigt werden?
Hier ist anderer Code für die Mengenberechnung:
Function Menge(Zelle) As Single
Dim Teil, N As Integer
Teil = Split(Zelle.Value, "-")
For N = 1 To UBound(Teil) Step 2
Menge = Menge + CSng(Teil(N))
Next N
End Function

Gruß
Reinhard
Anzeige
AW: und so ist es die Menge-Super Reinhard ;-)
20.04.2012 15:49:43
Schmitz
Hallo Reinhard,
also zuerst zu dem Problem "P9":
Da hast du recht. Meine Formel für die "Anzahl Lieferung" zählt nur die "Enter-Eingaben", nicht, ob es wirklich zwei ausgefüllte Zeilen sind. Das ist für mich aber nicht weiter schlimm...
Zu deiner zweiten Frage:
Also, ich habe ja für jedes Jahr (2006-2012) die Lieferungen eingetragen. Für meine Statistik hätte ich gerne die Möglichkeit im Feld P12 das Jahr einzugeben, so dass sich die Spalten P und Q dementsprechend ändern.
Also, im Moment bekomme ich meine Statistik ja nur für das Jahr 2012. Wenn ich jetzt z. B. in P12 das Jahr 2010 eingebe, möchte ich, dass sich die Werte in den Spalten P & Q demenstprechend für das Jahr 2010 ändern.
Ich hoffe man (bzw. du) konnte das jetzt verstehen ;-)
Gruß
Christian
Anzeige
AW: und so ist es die Menge-Super Reinhard ;-)
20.04.2012 16:16:48
Reinhard
Hallo Christian,
P3: =Anz(ADRESSE(ZEILE();VERGLEICH($P$12;$A$1:$O$1;0)))
Q3: =Menge(ADRESSE(ZEILE();VERGLEICH($P$12;$A$1:$O$1;0)))
die neuen Codes:
Function Menge(ByVal strZelle As String) As Single
Dim Teil, N As Integer
Teil = Split(Range(strZelle).Value, "-")
For N = 1 To UBound(Teil) Step 2
Menge = Menge + CSng(Teil(N))
Next N
End Function

Function Anz(ByVal strZelle As String) As Integer
Anz = (Len(Range(strZelle)) - Len(Replace(Range(strZelle), "-", ""))) / 2
End Function

Gruß
Reinhard
Anzeige
AW: und so ist es die Menge-Super Reinhard ;-)
20.04.2012 16:48:06
Schmitz
Es funktioniert!
Vielen Dank für die Hilfe!!!
Schönes Wochenende & Gruß
Christian

378 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige