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

Zellbezug trotz $ nicht konstant

Zellbezug trotz $ nicht konstant
21.04.2022 14:06:16
Alex
Hallo zusammen,
ich habe eine Tabelle, in der die Stücklisten von Aufträgen stehen. Die Liste ist aufsteigend nach Artikelnummer sortiert.
Ich möchte nun die Summen über die Mengen je Stücklistenartikel berechnen, also wie viele Stück benötige ich von jedem Artikel (für unterschiedliche Aufträge).
Ich habe das mit folgender Formel gelöst:
1. Zelle: > SUMMENPRODUKT(TEILERGEBNIS(3;INDIREKT("A"&ZEILE(3:$3000)))*($K3:$K$3000=$K3)*($J3:$J$3000)) 2. Zelle: > SUMMENPRODUKT(TEILERGEBNIS(3;INDIREKT("A"&ZEILE(4:$3000)))*($K4:$K$3000=$K4)*($J4:$J$3000)) (in Spalte K steht der Artikel, in Spalte J die zu addierende Menge)
Mein Probem hierbei ist, dass sich die Liste per SQL-Skript generiert und sich dadurch die Zeilenanzahl verändert, was zur Folge hat, dass sich die Formel, obwohl durch $ fixiert, verändert, so dass die Formelergebnisse nicht mehr stimmen.
Da steht dann z.B. (3004 statt 3000):
> SUMMENPRODUKT(TEILERGEBNIS(3;INDIREKT("A"&ZEILE(3:$3000)))*($K3:$K$3004=$K3)*($J3:$J$3004)) und schon funktioniert die Formel nicht mehr.
Noch ein wichtiger Hinweis:
Die Liste wird über die Spalte "Aufträge" gefiltert, deshalb muss ich die Artikel-Teilsummen je nach Filterung berechnen, sonst könnte ich die Teilsummen ja auch mit Hilfe einer Pivot ermitteln.
Hat jemand einen Ansatz, wie ich die 3000 (wie in meinem Bsp) fixieren kann?
Vielen Dank.

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: und warum Bezug über Zelladressen? ...
21.04.2022 14:42:21
neopa
Hallo Alex,
... wenn Du Deine Datenliste als "intelligente" Tabelle hast, dann kannst Du in die Formel deren Spaltenüberschriftnamen einsetzen und brauchst Dich weiter darum zu kümmern. Eine solche "intelligente" Tabelle wird automatisch erzeugt, wenn Du den Import mit Power Query vornimmst.
Anderenfalls müsstest/kannst Du die letzte Zellennummer z.B. mit VERWEIS() ermitteln und dies dann mit Hilfe von INDEX() der Formel übergeben. Aber wie bereits geschrieben, einfacher ist es mit einer "intelligente" Tabelle.
Gruß Werner
.. , - ...
AW: und warum Bezug über Zelladressen? ...
21.04.2022 17:28:00
Alex
Hallo Werner,
Danke, ja, die Tabelle ist natürlich eine intelligente Tabelle, kommt ja automatisch bei einem Import mit Power Query.
Habe ich schon versucht, dies mit dem Spaltenkof in der Formel zu lösen, hat aber nicht funktioniert, liegt aber wohl an dem INDIREKT.
Wie würde deine Formel aussehen?
Anzeige
Wenn schon PQ...
21.04.2022 18:37:47
Yal
... dann konsequent die Daten mit PQ behandeln!
Hallo Alex,
ich kann nich ganz nachvollziehen, was Du vorhast:
_ Du hast verschiedene Aufträge
_ pro Auftrag ein oder mehrere Artikel
_ pro Artikel eine Stückliste inkl. Komponentmenge
Hast Du eine mehrstufige Stückliste?: 5 Schrauben pro Rad, aber 4 Räder pro Auto, also 20 Schrauben pro Auto.
Was soll genau ermittelt/zusammengerechnet werden?
Idealerweise lädst Du eine vereinfachte oder schematische Variante deiner Datei hoch. So kann man besser sortieren...
VG
Yal
AW: nicht unbedingt nur PQ ...
21.04.2022 20:22:22
neopa
Hallo Yal,
... er will ja Auswertungen für wahrscheinlich verschiedene Filterungen vornehmen. Da ist die angedachte Formellösung von Alex schon eine Alternative. Aber möglicherweise ist es möglich und dann auf jeden Fall vorzuziehen, die PQ-Auswertung nur oder zusätzlich auch in eine Datenbank zu überführen und für diese eine Pivotauswertung vorzunehmen.
Gruß Werner
.. , - ...
Anzeige
AW: nicht unbedingt nur PQ ...
22.04.2022 08:32:35
Alex
Hallo Yal, hallo Werner,
es handelt sich hierbei um eine Kommissionierliste für die Logistik, um Prozesse zu optimieren. Bisher hat sich jeder Kommissionierer einen Auftrag genommen und die Artikel dafür kommissioniert. Da aber Aufträge identisch sein können, will ich die Kommissionierung zusammenfassen, um Wege und Zeit zu sparen. Per SQL erzeuge ich eine Liste aller zu kommissionierenden Aufträge (kleiner Auszug daraus siehe Musterbeispiel: https://www.herber.de/bbs/user/152583.xlsx )
Der Logistiker filtert sich die relevanten Aufträge. Nun soll beim jeweils erstmaligen Auftreten einer Artikelnummer die SOLL-Menge summiert werden. Das Erkennen, wann der Artikel zum ersten Mal vorkommt, habe ich mit den gelben Hilfspalten (AGGREGAT und ZÄHLENWENNS) gelöst. Die Filtersumme in der grünen Spalte funktioniert auch.
Nur wenn die Liste sich aufgrund neuer Aufträge erweitert oder Aufträge rausfliegen, weil sie erledigt sind, ändert sich meine Summenformel in den Zellbezügen und es erscheint #NV, obwohl ich diese fixiert habe. Eleganter wäre es, wenn ich hier die Spaltenüberschrift ("intelligente Tabelle") verwenden könnte, aber dann funktioniert die Formel nicht, oder ich mache was falsch....
> =WENN([@erstmalig]="x";SUMMENPRODUKT(TEILERGEBNIS(3;INDIREKT("A"&ZEILE(2:$100)))*($D2:$D$100=$D2)*($C2:$C$100));"") Ich hoffe, ihr versteht jetzt mein Problem und könnt mir helfen. Vielen Dank.
LG Alex
Anzeige
AW: nicht unbedingt nur PQ ...
22.04.2022 09:56:05
Yal
Moin Alex,
ich denke, die Komplexität liegt daran, dass Du versuchst die Kommisionierungsliste und die Auftragsliste in einem zu haben. Löblich, aber vom Kosten/Aufwand-Verhältnis nicht unbedingt sinnvoll.
Lösung 1: mache eine Pivottabelle: Summe der Menge nach Artikelnummer. Fertig
Lösung 2: sortiere nach Artikelnummer, füge eine Formel kumulierte
wenn aktuelle Artikel nicht gleich Artikel davor
dann aktuelle Menge
sonst aktuelle Menge + Summe davor
(also in E2: =WENN(D22=D21;E21;0)+C22 )
Mit bedingte Formatierung auf "akt Art. Art. davor" kannst Du Trennlinien zeichnen lassen und die Schirftfarbe gleich Hintergrund, da wo akt.Art=Art.danach.
VG
Yal
Anzeige
AW: nicht unbedingt nur PQ ...
22.04.2022 10:12:49
Yal
in E2:

=SUMMEWENN([ARTIKEL];[@ARTIKEL];[SOLL])*(ZÄHLENWENN($D$2:[@ARTIKEL];[@ARTIKEL])=1)
VG
Yal
AW: nicht unbedingt nur PQ ...
22.04.2022 14:11:56
Alex
Hallo Yal,
Danke für deinen Lösungsvorschlag, aber so hatte ich angefangen. Wenn du Aufträge filterst und du nur die Summe der "sichtbaren" Zeilen haben willst, kommst du mit deiner Formel nicht weit.
Deine Formel funktioniert nur, wenn keine Filterung vorgenommen wird. Daher habe ich mit INDIREKT gearbeitet.
Bitte geht noch mal in euch und versucht mir zu helfen.
Ihr könnt das ja gut mit meiner Mustertabelle testen. :-)
Schönes WE und vielen Dank für neue Lösungsvorschläge
Anzeige
AW: nicht unbedingt nur PQ ...
22.04.2022 14:12:16
Alex
Hallo Yal,
Danke für deinen Lösungsvorschlag, aber so hatte ich angefangen. Wenn du Aufträge filterst und du nur die Summe der "sichtbaren" Zeilen haben willst, kommst du mit deiner Formel nicht weit.
Deine Formel funktioniert nur, wenn keine Filterung vorgenommen wird. Daher habe ich mit INDIREKT gearbeitet.
Bitte geht noch mal in euch und versucht mir zu helfen.
Ihr könnt das ja gut mit meiner Mustertabelle testen. :-)
Schönes WE und vielen Dank für neue Lösungsvorschläge
Das "in mich gehen" ...
22.04.2022 17:15:52
Yal
... würde nur zur Wiederholung von was ich bereits gesagt habe.
Wenn Du am Ende nur eine Zeile pro Artikel und darin die Gesamtmenge haben möchtest, dann mit Gruppierung in Power Query. Ein Excel-Profi braucht da keine weitere Unterstützung.
VG
Yal
Anzeige
AW: Das "in mich gehen" ...
25.04.2022 15:23:40
Alex
Hallo Yal, hallo Werner,
mit dem Sheet arbeiten aber Lagerarbeiter, die sich nicht mit Excel oder PQ auskennen und die nur den Filter aktivieren und dann die gefilterte Liste ausdrucken sollen. Daher hätte ich gerne eine einfache Anwendung und eine direkte Lösung innerhalb der per SQL erzeugten Tabelle.
Wir sind dem Ergebnis ja schon sehr nahe, bzw. hätten es schon gelöst, würden sich nicht die Zeilenbezüge ändern, sobald sich die Daten aktualisieren.
Seht ihr hier noch eine Möglichkeit?
Danke Alex
AW: Das "in mich gehen" ...
25.04.2022 16:01:49
GerdL
Hallo Alex!
Ich schlage dir als Excel-Laie vor, es mal mit Bereichsnamen zu versuchen :-)
Gruß Gerd
Anzeige
AW: Das "in mich gehen" ...
25.04.2022 15:35:40
Alex
Hallo Yal, hallo Werner,
mit dem Sheet arbeiten aber Lagerarbeiter, die sich nicht mit Excel oder PQ auskennen und die nur den Filter aktivieren und dann die gefilterte Liste ausdrucken sollen. Daher hätte ich gerne eine einfache Anwendung und eine direkte Lösung innerhalb der per SQL erzeugten Tabelle.
Wir sind dem Ergebnis ja schon sehr nahe, bzw. hätten es schon gelöst, würden sich nicht die Zeilenbezüge ändern, sobald sich die Daten aktualisieren.
Seht ihr hier noch eine Möglichkeit?
Danke Alex
AW: nicht unbedingt nur PQ ...
22.04.2022 09:35:39
Alex
Hallo Yal, hallo Werner,
es handelt sich hierbei um eine Kommissionierliste für die Logistik, um Prozesse zu optimieren. Bisher hat sich jeder Kommissionierer einen Auftrag genommen und die Artikel dafür kommissioniert. Da aber Aufträge identisch sein können, will ich die Kommissionierung zusammenfassen, um Wege und Zeit zu sparen. Per SQL erzeuge ich eine Liste aller zu kommissionierenden Aufträge (kleiner Auszug daraus siehe Musterbeispiel: https://www.herber.de/bbs/user/152583.xlsx )
Der Logistiker filtert sich die relevanten Aufträge. Nun soll beim jeweils erstmaligen Auftreten einer Artikelnummer die SOLL-Menge summiert werden. Das Erkennen, wann der Artikel zum ersten Mal vorkommt, habe ich mit den gelben Hilfspalten (AGGREGAT und ZÄHLENWENNS) gelöst. Die Filtersumme in der grünen Spalte funktioniert auch.
Nur wenn die Liste sich aufgrund neuer Aufträge erweitert oder Aufträge rausfliegen, weil sie erledigt sind, ändert sich meine Summenformel in den Zellbezügen und es erscheint #NV, obwohl ich diese fixiert habe. Eleganter wäre es, wenn ich hier die Spaltenüberschrift ("intelligente Tabelle") verwenden könnte, aber dann funktioniert die Formel nicht, oder ich mache was falsch....
> =WENN([@erstmalig]="x";SUMMENPRODUKT(TEILERGEBNIS(3;INDIREKT("A"&ZEILE(2:$100)))*($D2:$D$100=$D2)*($C2:$C$100));"") Ich hoffe, ihr versteht jetzt mein Problem und könnt mir helfen. Vielen Dank.
LG Alex
Anzeige
AW: INDIREKT() bedarf es auch dann nicht, ...
25.04.2022 16:52:59
neopa
Hallo Alex,
... wenn eine Datenerweiterung vorgenommen wird und eine Auswertung für eine beliebige Filterung vorgenommen werden soll. Vorausgesetzt allerdings, Deine Hilfsspalten G:H können belassen werden (können ja ausgeblendet werden.
Dann folgende Formel: =WENN([@erstmalig]="";"";SUMMEWENNS([SOLL];[ARTIKEL];[@ARTIKEL];[sichtbar];WAHR))
Gruß Werner
.. , - ...
AW: INDIREKT() bedarf es auch dann nicht, ...
25.04.2022 17:29:11
Alex
Hallo Werner,
manchmal sieht man den Wald vor lauter Bäumen nicht.... einfach die Bedingung "sichtbar" in eine SUMMEWENNS-Funktion packen.
Super, funktioniert :-)
Vielen herzlichen Dank.
PS: kennst du einen Fachmann in Sachen SQL-Code?
LG Alex
Anzeige
AW: bitteschön und zu Deiner Zusatzfrage ...
25.04.2022 20:15:23
neopa
Hallo Alex,
... wenn du damit klassischen SQL-Code meinst dann nicht wirklich. Obwohl ich es auch u.a. ChrisL und Yal zutraue, so wie die beiden sich auch mit PQ auskennen.
Gruß Werner
.. , - ...
AW: Deine Angaben, wie jetzt vorgenommen ....
21.04.2022 20:18:08
neopa
Hallo Alex,
... solltest Du bei evtl. künftigen neuen Anfragen immer gleich mit angeben, so vermeidest Du unsere und auch Deine Nachfragen. Gleiches gilt in solchen Fällen meist auch, für ein Vorliegen (D)einer Beispieldatei (ein repräsentativ Ausschnitt Aus dem Original mit bei Bedarf anonymisierten Datenwerten). Wir wissen nicht, wie bei Dir die Datenstruktur vorliegt und bezeichnet ist und werden nur in selten Fällen versuche, eine solche selbst aufzustellen.
Ich bin die nächsten Tage nicht online. Zwischenzeitlich, werden Yal und oder andere potentielle Helfer Dir weiterhelfen.
Gruß Werner
.. , - ...
AW: Deine Angaben, wie jetzt vorgenommen ....
22.04.2022 14:17:25
Alex
Hallo Werner,
Danke für den Hinweis, ist meine erste Frage in diesem Forum. Werde beim nächsten Mal gleich ausführlich und mit Bsp anfragen.
LG

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige