Autor
|
Thema: Summe in Abhängigkeit von zwei Werten (2007 mal gelesen)
|
cossi Mitglied
Beiträge: 33 Registriert: 14.12.2006
|
erstellt am: 18. Dez. 2006 10:27 <-- editieren / zitieren --> Unities abgeben:
Ja guten Morgen allerseits, ich bins mal wieder Ich hab hier eine Tabelle, die Verkaufszahlen von Artikeln zu bestimmten Monaten enthält. Jeder Artikel kann in der Tabelle mehrmals auftauchen: zum einen in verschiedenen Monaten, zum anderen innerhalb des selben Monats. Ich möchte jetzt die Summe der verkauften Zahl jedes Artikels pro Monat ermitteln. Hab da eigentlich auch schon ne Lösung gefunden aber die arbeitet nicht korrekt. Meine ursprüngliche Vorgehensweise war, dass ich mir eine gefilterte Liste an eine andere Stelle kopiere und dann von dort aus mit der Summewenn (bei mir halt Sumif) Funktion die Werte für ein Produkt pro Monat berechnen lasse. Wichtig ist eben, dass die beiden Kriterien für die Berechnung die Artikelnummer UND der Monat sind. Bei mir jedeoch wird scheinbar die Summe für alle gefundenen Datensätze gebildet- unabhägig vom Wert des Monats. Hab mal meine vorläufige Tabelle hochgeladen, vielleicht kann jemand darauf einen Blick werfen. Kleine Info: das Sheet1 enthält die Haupttabelle mit den Verkaufszahlen, Sheet 2 enthält einen "Knöppel" (also Button) mit dem ich die gefilterte Liste einfüge und mir die Werte berechnen lasse. Bei diesem Makro muss etwas nicht korrekt sein. Wäre cool wenn mir da wieder jemand helfen könnte. Ach noch ne Frage: gibts hier sowas wie ne Jeany Code Funktion? Damit kann man Ausschnitte aus den Excel Tabellen hier auch graphisch anzeigen. Wenn ja, wo finde ich hier diese Funktion? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
okl Mitglied Wirtsch-Ing (Maschbau)
Beiträge: 157 Registriert: 21.04.2006 3,6 GHz, 2 GB RAM, NVIDIA Quadro FX 1300, Delmia V5R16 SP1, Win XP Prof SP2, Office 2003, VS 2005, VB 6
|
erstellt am: 18. Dez. 2006 11:37 <-- editieren / zitieren --> Unities abgeben: Nur für cossi
Moin Cossi, wenn ich's richtig verstanden habe, möchtest Du das genaze monatlich auswerten. Dem entsprechend musst Du Deine SummeWenn-Funktion im Sheet2!C2:Cx in folgendes ändern:
Code: =SUMME(WENN((Sheet1!E4:E60000=B2);WENN(Sheet1!D4 60000=A2;Sheet1!F4:F60000)))
Dann ist erstmal das Ergbenis monatlich richtig. Bei weiteren Fragen, fragen! HTH, Grüße Ole Edit: meint " " ... sehr schöner Automatismus der Seite Edit2: kann man nicht mal einen : und ein D hintereinander schreiben ohne, dass ein entsteht???[Diese Nachricht wurde von okl am 18. Dez. 2006 editiert.] [Diese Nachricht wurde von okl am 18. Dez. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
okl Mitglied Wirtsch-Ing (Maschbau)
Beiträge: 157 Registriert: 21.04.2006 3,6 GHz, 2 GB RAM, NVIDIA Quadro FX 1300, Delmia V5R16 SP1, Win XP Prof SP2, Office 2003, VS 2005, VB 6
|
erstellt am: 18. Dez. 2006 11:44 <-- editieren / zitieren --> Unities abgeben: Nur für cossi
Noch eine andere Sache: ich bin Verfächter der "genaueren" Angabe von Zellen. Ein
Code: Sheet1!C2:C60000
macht mich wahnsinnig. Vielleicht kannst Du über Dein Makro einfach noch die Anzahl genauer einstellen. In diesem einfachen Fall mag es möglich sein, dass man die Geschwindigkeitsverluste durch die viel zu weit angegebenen Zellbezüge nicht merkt, es gibt aber durchaus Fälle, indem man es sehr wohl merken wird. Vllt mal drüber nachdenken.Grüße, Ole Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cossi Mitglied
Beiträge: 33 Registriert: 14.12.2006
|
erstellt am: 18. Dez. 2006 11:58 <-- editieren / zitieren --> Unities abgeben:
hmmm.... Danke erst mal für die Antwort. Leider weiss ich nicht genau wie ich das implementieren muss, da ich eine englische Excel Version benutze und die genauen Befehle sowie Syntax hierfür nicht kenne. Vielleicht kannst du das ganze nochmal auf englisch und mit angepasster Syntax hier reinposten. Aber wenn ich schon dabei bin: ich hab ne andere Formel ausprobiert und die würde auch funktionieren. Nur muss ich die noch ein bisschen anpassen. Und zwar würde ich das ganze über die Summeprodukt (bei mir wieder Sumproduct) Formel lösen wollen. Da ich die Werte über verschieden Sheets verteilen will, muss ich in der Formel auch die richtigen Sheets ansprechen- und da wiederum weiss ich nicht wie das geht. Also momentan sieht das noch so aus: =SUMPRODUCT((Sheet1!$D$6:$D$30=Sheet1!D30)*($B$2:$B$30=B30)*(Sheet1!$F$6:$F$30)) (geht allerdings noch nicht) Jemand ne ahnung wie ich das abändern muss, oder ob ich das überhaupt so benutzten kann? Oder wenn ihr andere Lösungsvorschlage habt- nichts wie her damit Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
okl Mitglied Wirtsch-Ing (Maschbau)
Beiträge: 157 Registriert: 21.04.2006 3,6 GHz, 2 GB RAM, NVIDIA Quadro FX 1300, Delmia V5R16 SP1, Win XP Prof SP2, Office 2003, VS 2005, VB 6
|
erstellt am: 18. Dez. 2006 12:10 <-- editieren / zitieren --> Unities abgeben: Nur für cossi
Zitat: ganze nochmal auf englisch
: Code: SUMME = SUM WENN = IF
Rest bleibt gleich. Zitat: Und zwar würde ich das ganze über die Summeprodukt (bei mir wieder Sumproduct) Formel lösen wollen
Was ist denn Dein Ziel?
Code: =SUMPRODUCT((Sheet1!$D$6:$D$30=Sheet1!D30)*($B$2:$B$30=B30)*(Sheet1!$F$6:$F$30))
Was willst Du denn damit machen?? Also ICH bräuchte noch mehr Infos. Vielleicht hat ein Anderer das aber schon geblickt und kann Dir schneller helfen.Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cossi Mitglied
Beiträge: 33 Registriert: 14.12.2006
|
erstellt am: 18. Dez. 2006 12:24 <-- editieren / zitieren --> Unities abgeben:
hallo ole. das ziel bleibt nach wie vor das selbe: die summen pro monat eines artikels berechnen. und zwar soll mir das ganze halt nicht im sheet1 angezeigt werden (wo sich alle daten befinden) sondern in sheet2. dort kann man sich ja die produkte und monate mit meinem makro hinkopieren lassen (die ebenfalls eingefügten summen, die nicht korrekt sind, sollten halt dann gelöscht werden). aber wenn man mal einen blick auf mein file wirft dann sollte man den aufbau halbwegs verstehen. wegen deinen übersetzungen: danke. natürlich bin ich des englischen soweit mächtig. aber man kann ja nie wissen welche formel sich dahinter verbergen. mir war beispielweise nicht klar ob die formel SUMME(WENN....) evtl das gleiche ist wie SUMIF(... ). verstehst du worauf ich hinaus wollte? naja is auch nicht so von bedeutung. bin für jede hilfe dankbar Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cossi Mitglied
Beiträge: 33 Registriert: 14.12.2006
|
erstellt am: 18. Dez. 2006 12:37 <-- editieren / zitieren --> Unities abgeben:
ok noch was: hab deinen code ausprobiert und sieht dann folgendermaßen aus: Code: Private Sub CommandButton1_Click() Range("C2").Select ActiveCell.FormulaR1C1 = _ "=SUM(IF((Sheet1!E4:E60000=B2);IF(Sheet1!D4: D60000=A2;Sheet1!F4:F60000)))"End Sub
Tut aber noch nicht. Folgende Fehlermeldung kommt: Run time error 1004: Application defined or object defined error. vielleicht weisst du was ich da falsch mache.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
okl Mitglied Wirtsch-Ing (Maschbau)
Beiträge: 157 Registriert: 21.04.2006 3,6 GHz, 2 GB RAM, NVIDIA Quadro FX 1300, Delmia V5R16 SP1, Win XP Prof SP2, Office 2003, VS 2005, VB 6
|
erstellt am: 18. Dez. 2006 12:44 <-- editieren / zitieren --> Unities abgeben: Nur für cossi
Mir geht ein Lichtlein auf! Code: SUMME(WENN....)
ist natürlich etwas anderes als Code: SUMMEWENN(...
OK. Einfach ünersetzen und die Syntax etc gleich lassen.Warum nutzt Du nicht das Sheet1 und baust darüber Deine Felder auf? Siehe Anhang. Grüße, Ole Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cossi Mitglied
Beiträge: 33 Registriert: 14.12.2006
|
erstellt am: 18. Dez. 2006 12:46 <-- editieren / zitieren --> Unities abgeben:
|
okl Mitglied Wirtsch-Ing (Maschbau)
Beiträge: 157 Registriert: 21.04.2006 3,6 GHz, 2 GB RAM, NVIDIA Quadro FX 1300, Delmia V5R16 SP1, Win XP Prof SP2, Office 2003, VS 2005, VB 6
|
erstellt am: 18. Dez. 2006 12:46 <-- editieren / zitieren --> Unities abgeben: Nur für cossi
|
cossi Mitglied
Beiträge: 33 Registriert: 14.12.2006
|
erstellt am: 18. Dez. 2006 12:50 <-- editieren / zitieren --> Unities abgeben:
|
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 18. Dez. 2006 12:53 <-- editieren / zitieren --> Unities abgeben: Nur für cossi
moin,moin, ist mir alles zu undurchsichtig :-) die big ranges, der defekte Filter... da täte ich doch auf eine Pivotauswertung gehen wollen markiere D2:Fxx (xx) so gross wählen wie die zu erwartende Liste gross wird) Pivot-Tabellenbericht auswählen und in ein neues Blatt kopieren. Quantities in die Zelle über 'Drop row fields here' ziehen zuerst Monat & dann Products in das Feld 'Drop row fields here', das nun total heissen müsste ziehen. rechte Maustaste auf Count of Quantities Field Settings und in Sum ändern Monat anklicken und bei blank den haken deaktivieren. die Pivotliste nimmt neue Werte auf, solange die Werte sich im Berauch D2:Fxx befinden (aka Zelleneinfügen) IHMO schnell gebaut und flexibler -siehe auch Mappe ahja, und aufpassen beim formatieren der Zellen bei den Zellen mit dem Monat Oct, da ist in deiner Tabelle irgendeine Zelle falsch formatiert oder die Benennung Oct enthält irgendwelche Leerzeichen -ich habe es nicht nachgeprüft, sondern die Oct Zellen Werte und Formatmässig auf alle oct zellen angewand - fehler suchen ist manchmal mühseeliger als es schnell neu machen :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 18. Dez. 2006 13:22 <-- editieren / zitieren --> Unities abgeben: Nur für cossi
Zitat: Original erstellt von cossi: ok kleine verbesserung meinerseits. die vorherige sumproduct formel sollte so lauten: =SUMPRODUCT((Sheet1!$D$6:$D$30=Sheet1!D6)*($B$2:$B$30=B6)*(Sheet1!$F$6:$F$30))
hmm, das ergibt doch keinen Sinn? die formel sollte so arbeiten: bilde mit summenproduct = ((wenn Sheet1!$D$6:$D$30 = Zellwert aus A2)*(wenn Sheet1!$E$6:$E$30 = Zellwert aus B2) * (wenn werte aus Sheet1!$F$6:$F$30 vorhanden)) ergibt Code: =SUMPRODUCT((Sheet1!$D$6:$D$60=A2)*(Sheet1!$E$6:$E$60=B2)*(Sheet1!$F$6:$F$60))
und runterkopierenExcel Jeanie Html von Peter Haserodt ist zwar eine feine Sache, aber da man Html in den Foren zulassen muss, Syntaxe geprüft werden müssen, nichts schlimmer ist als ein Sack voller Flöhe zu hüten (mit Html kann man prima Forenlayouts zerschiessen -und womöglich noch mehr :-)) bleibt mal lieber bei Ascii - mit der [ code] [/code] kann man auch wunderbar formatieren -naja, bis auf die und noch einige Kombinationen [Diese Nachricht wurde von Thomas Harmening am 18. Dez. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cossi Mitglied
Beiträge: 33 Registriert: 14.12.2006
|
erstellt am: 18. Dez. 2006 13:33 <-- editieren / zitieren --> Unities abgeben:
|