Guten Tag,
ich bin Developer in einem Online 3D-Chat und mache Produkte für die User. Ich habe mir heute meine Einkommensübersicht heruntergeladen. Sie sieht so aus:
Spalte A____/____Spalte B____/____Spalte C____/____Spalte D____/____Spalte E____/____Spalte F____/____Spalte G-M
Verkaufs-Id______Käufer__________leer_____________leer_____________Empfänger_______Produktname____Kleinkram, Verdienst...
Der Bericht umfasst tausende von Zeilen. Ich verkaufe verschiedene Produkte. Darunter eine Serie, die den Namen NEON trägt. Was ich möchte ist folgendes:
Ich möchte ausrechnen, welcher User wieviel NEON-Produkte gekauft hat. Ich möchte den Usern Punkte geben mit den Regeln:
Selbstkäufer 2 Punkte (wenn Käufer = Empfänger)
Beschenkter 1 Punkt (nur Empfänger, aber nicht Käufer)
und Schenker 1 Punkt (nur Käufer, aber nicht Besitzer)
Die Punkte sollen dann summiert werden. Den Endsummen sollen dann Klassen zugewieden werden.
Ich habe mir einige Gedanken gemacht. Ich komme aber nicht mehr so gut mit Calc zurecht. Ich erläutere mal, wie ich es mir vorstelle, so ist es für euch vielleicht einfacher nachzuvollziehen, warum ich welche Funktionen benötige. Außerdem bin ich mit den Begrifflichkeiten in Calc nicht mehr so ganz vertraut, und eine Umschreibung ist sicherlich hilfreich. Ich fasse weiter unten zusammen, welche Funktionen ich suche. Also auf gehts:
Ich nehme mal als Beispiel die Zeile 3 (weil die ersten beiden mit Überschriften belegt sind), also N3 ist Spalte N, Zeile 3.
Spalte N: Wenn F3 "NEON" enthält, Dann 1, Sonst 0. Ich möchte diesen Wert dann später als Multiplikator benutzen. So filtere ich Nicht-NEON Produkte heraus.
Spalte O: = Spalte B (Käufer) Der Übersicht wegen nochmal aufgeführt.
Spalte P: erste Punktevergabe; Wenn B3 = E3, Dann 2 (Selbstkäufer erhalten 2 Punkte), Sonst 1 (Schenker bekommen 1 Punkt) Das Ganze wird mit N3 (0 oder 1) multipliziert. Denn, wenn es kein NEON Produkt ist, dann interessiert es mich nicht.
Spalte Q: Wenn P3=2, Dann Leer (den Käufer will ich nicht nochmal aufführen), Sonst E3 (Empfänger)
Spalte R: Wenn P3=2, Dann 0, Sonst 1. Auch der Wert wird mit N3 (0 der 1) multipliziert, je nach dem, ob es sich um kein NEON Produkt handelt, oder doch.
Spalte S: Jetzt wird es schwierig, hier soll die Summe aller Punkte der Users hin, der in Spalte O aufgeführt wird. Dieser User kann aber vorher auch in Spalte Q als Empfänger auftauchen. Nochmal als Hinweis: steht der User in Spalte O hat er in Spalte P 1 Punkt als Schenker und 2 Punkte als Selbstkäufer. Er kann aber auch in Spalte Q als Beschenkter auftreten und in Spalte R 1 Punkt dafür bekommen. Jetzt soll in Spalte S die Summe aller Punkte des Users aufgelistet werden, die er oberhalb dieser Zeile in den Spalten P und Q gesammelt hat. Die weitere Schwierigkeit ist, ich möchte, dass diese Zelle hier leer ist, wenn der User unterhalt dieser Zeile nochmal auftritt. So habe ich im Dokument dann viele leere Zellen und nur Endsummen der jeweiligen User werden aufgelistet.
Spalte T: Das selbe, wie in Spalte S. Ich brauche sie, weil in einer Zeile oft zwei User auftauchen. Somit muss auch Platz für zwei Summen gemacht werden.
Danach werde ich die Summen auswerten und Klassen vergeben (F,E,D,C,B,A). Das wird dann in weiteren Spalten erledigt.
Spalte U: Wenn der Wert in Spalte S in einem Bestimmten Wertebereich liegt, dann die entsprechende Klasse angeben. Ist leer, wenn Spalte S auch leer ist.
Spalte V: Wenn der Wert in Spalte T in einem Bestimmten Wertebereich liegt, dann die entsprechende Klasse angeben. Ist leer, wenn Spalte T auch leer ist.
Ja, und dann vergebe ich die Klassen an die User.
Hier nochmal eine Übersicht.
Spalte N____/____Spalte O____/____Spalte P____/____Spalte Q____/____Spalte R____/____Spalte S____/____Spalte T____/____Spalte U____/____Spalte V
1 oder 0_________Käufer________2, 1 oder 0____Leer oder Empfänger___1 oder 0______Punktesumme #1__Punktesumme #1__Klassenvergabe#1_Klassenvergabe#2
Ich denke, die Spalten kann ich dann noch übersichtlicher anordnen (z.B. die Klasse direkt neben dem User) aber aus erklärungslogischen Gründen ist es so erstmal besser.
Also, das ist sehr kompliziert. Ich fasse mal zusammen, was ich für Funktionen brauche:
Textabfrage: wenn eine Zelle eine bestimmte Zeichenfolge enthält, soll die Eingabezelle einen Wert annehmen
Summe, wenn der Inhalt einer Zelle vorher schonmal auftrat (addieren der Selbstkäufer- Schenker- und Beschenktenpunkte)
Unterbinden einer Ausgabe, wenn der Inhalt einer Zelle später nochmal auftritt (Summe soll nicht dargestellt werden, wenn es nicht die allerletzte ist)
Wertebereich: wenn der Betrag einer Zelle in einem Intervall liegt, soll ein Wert ausgegeben werden (z.B. 10-20 soll F ergeben, 20-40 soll E ergeben, usw.)
Ah, noch ganz wichtig: Der Code jeder Zeile müsste im Grunde gleich sein (bis aus Zellenbezüge) damit ich die Codezellen beliebig erweitern kann, wenn ich die Einkommensübersicht monatlich ergänze.
Ich hoffe, es ist keine Zumutung, dass ich euch so zutexte. Mir würde auch ein dezenter Hinweis reichen, wie was in Calc heißt, dann würde ich die Hilfe nochmal bemühen.
Beste Grüße,
Sam
Aufwendige Kalkulation
Moderator: Moderatoren
Re: Aufwendige Kalkulation
Hallo Sam,
hast dir sehr viel Mühe gemacht mit deiner Frage, und doch, sie schreckt ehr ab sich da ran zu machen.
Vorschlag:
Erstelle mal eine "Baustelle" und hänge die Tabelle deinem Beitrag an.
Anschließend schreibst du dann in welcher Zelle du welche Ergebnisse per Formel angezeigt bekommen möchtest.
Ist viel viel einfacher zu Antworten wenn man eine Vorlage "vor der Nase" hat.
Außerdem kann man die Formeln dann sofort der Tabelle bzw. den relevanten Zellen anpassen und schon mal probieren.
Trotzdem mal ein paar Anregungen und ein Vorschlag:
=SUMMENPRODUKT(($A$2:$A$100="Beschenkter")*($B$2:$B$100="NEON"))
=WENN(ISTFEHLER(FINDEN("neon";A1));"nicht gefunden";"gefunden")
Möglicher weise auch eine kleine "Wertetabelle" und SVerweis()
Gruß Holger
hast dir sehr viel Mühe gemacht mit deiner Frage, und doch, sie schreckt ehr ab sich da ran zu machen.
Vorschlag:
Erstelle mal eine "Baustelle" und hänge die Tabelle deinem Beitrag an.
Anschließend schreibst du dann in welcher Zelle du welche Ergebnisse per Formel angezeigt bekommen möchtest.
Ist viel viel einfacher zu Antworten wenn man eine Vorlage "vor der Nase" hat.
Außerdem kann man die Formeln dann sofort der Tabelle bzw. den relevanten Zellen anpassen und schon mal probieren.
Trotzdem mal ein paar Anregungen und ein Vorschlag:
=ZÄHLENWENN($A$2:$A$100;"Selbstkäufer")*2Ich möchte ausrechnen, welcher User wieviel NEON-Produkte gekauft hat. Ich möchte den Usern Punkte geben mit den Regeln:
Selbstkäufer 2 Punkte (wenn Käufer = Empfänger)
Beschenkter 1 Punkt (nur Empfänger, aber nicht Käufer)
und Schenker 1 Punkt (nur Käufer, aber nicht Besitzer)
=SUMMENPRODUKT(($A$2:$A$100="Beschenkter")*($B$2:$B$100="NEON"))
=wenn(a1="NEON";1;0)Also, das ist sehr kompliziert. Ich fasse mal zusammen, was ich für Funktionen brauche:
Textabfrage: wenn eine Zelle eine bestimmte Zeichenfolge enthält, soll die Eingabezelle einen Wert annehmen
=WENN(ISTFEHLER(FINDEN("neon";A1));"nicht gefunden";"gefunden")
=WENN((A1>=10)*(A1<=20);"F";WENN((A1>=21)*(A1<=40);"E";""))Wertebereich: wenn der Betrag einer Zelle in einem Intervall liegt, soll ein Wert ausgegeben werden (z.B. 10-20 soll F ergeben, 20-40 soll E ergeben, usw.)
Möglicher weise auch eine kleine "Wertetabelle" und SVerweis()
Gruß Holger
Re: Aufwendige Kalkulation
Wow, danke für die schnelle Antwort! Vor allem nach dem Batzen 
Ja, ich hab mir schon gedacht, dass es ein Hammer ist. Hab ja noch die /___Spalten____/ reingemacht, in der Hoffnung auf Übersicht.
Dieses ZÄHLENWENN ist ja super! Ich habe folgendes gemacht:
=WENN(ISTFEHLER(FINDEN("NEON";F3));"";B3) Gibt mir in der Spalte NEON Käufer aus
=WENN(ISTFEHLER(FINDEN("NEON";F3));"";E3) Gibts mir in der Spalte NEON Empfänger aus
=WENN(N3="";"";ZÄHLENWENN($N$3:O3;N3)) Zählt die NEON Käufer, auch wenn sie mal Empfänger waren. Statt dem Selbstkäufer 2 Punkte zu geben, gebe ich dem User als Käufer UND Empänger jeweils 1 Punkt, wodurch dann wieder 2 Punkte resultieren. ABER, pro Zeile treten oft 2 User auf, daher das ganze nochmal...
=WENN(N3=O3;"";WENN(N3="";"";ZÄHLENWENN($N$3:O3;O3))) Zählt genauso wie eben, nur nicht wenn Käufer = Empfänger ist. So habe ich keine Summe doppelt.
So einfach, dank ISTFEHLER und ZÄHLENWENN.
Jetzt noch eine Frage: Wie kann ich nach "NEON", "Neon" und "neon" prüfen? Ich habe nämlich nicht ganz konsquent benannt in der Anfangsphase...
Als nächstes sage ich, WENN von hier an der Name nochmal auftaucht, DANN Summe ausblenden, SONST anzeigen (Formel von oben). Dann habe ich nur die Endsummen und habe mehr Übersicht
Und dann mache ich mich an die Wertetabelle.
Mann, das ging ja super. Danke schonmal!
ps.: für künftige Fragen, wie kann ich eine Tabelle anfügen?

Ja, ich hab mir schon gedacht, dass es ein Hammer ist. Hab ja noch die /___Spalten____/ reingemacht, in der Hoffnung auf Übersicht.
Dieses ZÄHLENWENN ist ja super! Ich habe folgendes gemacht:
=WENN(ISTFEHLER(FINDEN("NEON";F3));"";B3) Gibt mir in der Spalte NEON Käufer aus
=WENN(ISTFEHLER(FINDEN("NEON";F3));"";E3) Gibts mir in der Spalte NEON Empfänger aus
=WENN(N3="";"";ZÄHLENWENN($N$3:O3;N3)) Zählt die NEON Käufer, auch wenn sie mal Empfänger waren. Statt dem Selbstkäufer 2 Punkte zu geben, gebe ich dem User als Käufer UND Empänger jeweils 1 Punkt, wodurch dann wieder 2 Punkte resultieren. ABER, pro Zeile treten oft 2 User auf, daher das ganze nochmal...
=WENN(N3=O3;"";WENN(N3="";"";ZÄHLENWENN($N$3:O3;O3))) Zählt genauso wie eben, nur nicht wenn Käufer = Empfänger ist. So habe ich keine Summe doppelt.
So einfach, dank ISTFEHLER und ZÄHLENWENN.
Jetzt noch eine Frage: Wie kann ich nach "NEON", "Neon" und "neon" prüfen? Ich habe nämlich nicht ganz konsquent benannt in der Anfangsphase...
Als nächstes sage ich, WENN von hier an der Name nochmal auftaucht, DANN Summe ausblenden, SONST anzeigen (Formel von oben). Dann habe ich nur die Endsummen und habe mehr Übersicht
Und dann mache ich mich an die Wertetabelle.
Mann, das ging ja super. Danke schonmal!
ps.: für künftige Fragen, wie kann ich eine Tabelle anfügen?
Re: Aufwendige Kalkulation
verwende statt der Funktion =finden() die Funktion =suchen() die ignoriert die GROß/klein-Schreibung.Jetzt noch eine Frage: Wie kann ich nach "NEON", "Neon" und "neon" prüfen? Ich habe nämlich nicht ganz konsquent benannt in der Anfangsphase...
Gruß Holger
PS
Schau die auch noch mal die Funktionen
=summewenn()
http://www.online-excel.de/excel/singsel.php?f=15
=summenprodukt()
http://www.online-excel.de/excel/singse ... l.php?f=53
an. Ist zwar eine Excel-Seite aber gut beschreiben.
Zuletzt geändert von echo am Di, 20.07.2010 12:41, insgesamt 1-mal geändert.
Re: Aufwendige Kalkulation
Klappt super!
Hab gerade versucht, die Summe auszublenden ("") wenn ein Name in späteren Zeilen nochmal auftaucht, aber ich kriege es nicht hin.
sowas wie =WENN(NACHFOLGENDERBEREICH enthält ZELLE, DANN "", SONST FORMEL)
Hab gerade versucht, die Summe auszublenden ("") wenn ein Name in späteren Zeilen nochmal auftaucht, aber ich kriege es nicht hin.
sowas wie =WENN(NACHFOLGENDERBEREICH enthält ZELLE, DANN "", SONST FORMEL)
Re: Aufwendige Kalkulation
Hallo
Angenommen die letzte Zelle ist A1000 und deine Formel steht in A5
Dann erstelle einen Bezug der so aussieht:
NACHFOLGENDERBEREICH= A5:$A$1000
Durch das runter kopieren passt sich der relative Bezug A5 an, während der absolute Bezug zu A1000 immer so bleibt.
fertig sieht das dann ungefähr so aus:
=WENN(ZÄHLENWENN(A5:$A$1000;"Name")>1;"";"Formel")
Gruß Holger
Angenommen die letzte Zelle ist A1000 und deine Formel steht in A5
Dann erstelle einen Bezug der so aussieht:
NACHFOLGENDERBEREICH= A5:$A$1000
Durch das runter kopieren passt sich der relative Bezug A5 an, während der absolute Bezug zu A1000 immer so bleibt.
fertig sieht das dann ungefähr so aus:
=WENN(ZÄHLENWENN(A5:$A$1000;"Name")>1;"";"Formel")
Gruß Holger
Re: Aufwendige Kalkulation
Ich weiß wo mein Fehler lag. Ich erhielt #NAME? als Ergebnis, weil ich frecherweise als Endzelle $O$10000 angegeben habe, ich aber in meiner Testtabelle erstmal nur 1000 Zeilen vorgegeben bekommen habe. Mann, mann, mann. Ah, und es muss >0 sein, sonst bekomme ich immernoch die letzten beiden Summen angezeigt.
Vielen vielen Dank!
Vielen vielen Dank!