Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Reichweite berechnen

Reichweite berechnen
20.10.2018 18:42:35
Stefan
Hallo,
ich möchte die Kalenderwoche ausgeben, wo der Bestand gleich oder kleiner Null ist.
Damit es schnell verständlich ist:
https://www.herber.de/bbs/user/124780.xls
In die orangen Felder soll die gesuchte KW ermittelt werden. Am besten sollte die Suche bei der aktuellen Woche beginnen und somit negative Bestände in der Vergangenheit ignorieren.
Die grünen Felder sind optional - sprich hier könnte auch nur die KW & Jahr etc. stehen . Ich habe zur eindeutigen Identifizierung noch ein "B" für Bestand vorgesetzt.
Ich wäre über eine VBA-Lösung glücklich, da eine Matrixformel die Tabelle noch langsamer werden lässt.
Danke vorab.
Stefan
Anzeige

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Reichweite berechnen
20.10.2018 19:34:54
Stefan
Das ist nur ein vereinfachtes Beispiel. Pro KW habe ich 5 Spalten x mind. 52 KW = 260 Spalten und mehr.
Der Benutzer soll gleich neben dem Artikel erkennen, in welcher Woche der Bestand null ist und negative Bestände in der Vergangenheit sollten ignoriert werden.
PS: Eine bedingte Formatierung ist eine kleine Hilfe, aber nicht optimal.
Anzeige
AW: Reichweite berechnen
20.10.2018 19:48:26
onur
Dann solltest du mal die Originaldatei posten, da, wenn man ein Makro für dein Beispiel schreiben würde,
es in der Originalversion nicht laufen würde.
AW: Reichweite berechnen
20.10.2018 20:03:54
Stefan
Danke für die Antworten, die Original ist recht groß und verformelt, aber hier ein Auszug daraus:
https://www.herber.de/bbs/user/124782.xls
grau = einfach ignorieren
Zeile 2 = bei Bedarf kann die Überschrift für Spalte "Bedarf" angepasst werden ("P" steht derzeit für "Plan")
PS: Etwas VBA-Kenntnisse zwecks Anpassung hätte ich vorzuweisen :)
Anzeige
AW: Reichweite berechnen
20.10.2018 21:14:00
onur
Wie gesagt: die Original-Datei und kein Auszug, der mit KW 32 beginnt und bei KW45 aufhört und mittendrin ("AH") eine Spalte hat, die nicht dahin gehört.
Abgesehen davon ist der Tabellenaufbau recht konfus und verwirrend.
AW: Reichweite berechnen
21.10.2018 21:27:58
Stefan
Das Original ist 4 MB groß, somit nicht uploadbar. Da es für den Außenstehenden verwirrend ist, hatte ich eben die vereinfachte Variante reingestellt. Mit einer VBA-Schleife, welche pro Artikel zunächst die Kopfzeile nach "B"+Jahr+KW und dann in der jeweiligen Zeile schaut ob der Wert kleiner gleich Null ist und sonst immer eine weitere KW hochgeht, sollte es funktionieren egal wie viele "verwirrende" Spalten dazwischen sind.
Anzeige
Kumulierung: Ich bleibe dabei ...
22.10.2018 07:07:44
lupo1
... wenn Deine Datei es irgendwie erlaubt, die Einzeldaten kumuliert zu erfassen, wird ein einfacher und schneller binärer VERGLEICH ausreichen.
Und Du kannst den Geschwindigkeitshemm-Pfropf ziehen.
neopas MAX-Formel ist zwar kürzer, als die alte 501, aber letztlich muss sie deren gleiche Klimmzüge 2-dimensional nachteilig vollziehen:
- keine binäre Suche möglich LOG(n;2) statt n
- statt n sind sogar n*(n-1)/2 Berechnungen nötig
Damit das n ein Gesicht bekommt: Bei n=100 Werten landen wir binär bei 6 bis 7.
Nicht binär wären es gerade diese 100.
Und die schreckliche Immer-Wieder-Neu-Einzelsummierung-bis-es-denn-passt kostet 4950 Rechenschritte. Und dies alles für nur eine einzelne Formel!
Anzeige
AW: Kumulierung: Ich bleibe dabei ...
22.10.2018 09:44:20
Stefan
...ich habe aber Bestellungen (Plan- und IST-Bestellungen, IST-Bestellungen einer abgeschlossenen Woche ersetzen die geplanten Bestellungen), mögliche Produktionen/Wareneingänge und den daraus resultierenden Wochenbestand. Deine Lösung 501 würde also nur funktionieren, wenn nur der Bestand in einer Zeile stehen würde, korrekt?
Der Anwender soll aber auf einem Blick pro Artikel sehen können: passen die geplanten zu den tatsächlichen Bestellungen, Bestandshöhe und ggf. spontaner Eintrag der Produktionsmenge.
Anzeige
Ich habe nicht behauptet, dass Arbeiten mit kum.
22.10.2018 10:20:01
lupo1
... Werten sehr eingängig wäre, wenn dadurch die Einzelwerte nicht sichtbar sind.
Es könnte aber sein, dass selbst die Verwendung von KumWerten als Hilfszellen die Datei zwar (etwas) größer, aber auch viel schneller werden lässt, wenn nämlich die Ermittlungsweise dieses Threads (501/neopa) eine vielfache Aufgabe bei Dir ist.
Was ich immer mache: Viele Formeln müssen nur einmal gerechnet werden und dann eigentlich nur nochmal, wenn/falls sich die entsprechende Datenzeile nachträglich ändern sollte (z.B. aufgrund eines Fehlers).
Dann bietet es sich an, solche Formeln - außer in der ersten verwendeten Zeile - plattzumachen. Bei Bedarf kopiert man sie halt wieder einmal runter, macht sie dann aber sofort wieder platt (Inhalte einfügen, Werte).
Mit anderen Worten: Prüfe, was nur einmal gerechnet werden muss, und klinke das intelligent aus.
Anzeige
Rein infohalber als Formel statt VBA
21.10.2018 07:35:38
lupo1
http://excelformeln.de/formeln.html?welcher=501
Empfehlung: Ist es möglich, mit kumulierten statt Einzelwerten zu arbeiten, benötigt man nur eine normale Vergleichsformel.
AW: geht auch einfacher als in excelformeln.de ...
21.10.2018 12:29:35
neopa
Hallo,
... auch ohne eine Kumulierung der Werte z.B. in einer Hilfsspalte und deren Auswertung mit einer einfachen VERGLEICHS()-Formel, wenn man zumindest die Excelversion 2010 im Einsatz hat.
Hier mein Vorschlag mit einer Matrixfunktion(alität)sformel in E2, die keines spez. Formelabschluss wie eine klassische Matrixformel benötigt, in Gegenüberstellung zu der bisherigen Formel für ältere Excelversionen in E1 für vertikal ausgerichtete (erweiterte) Datenwerte in http://excelformeln.de/formeln.html?welcher=501 und in A21 gegenüber bisheriger Formel in A20 für horizontal ausgerichtete Datenwerte:
 ABCDEFGHIJKLMNOPQR
1Bestand Monat bestellt reicht bis:Feb 15             
2111101/2014423 Feb 15             
3 02/2014217               
4 03/2014131               
5 04/201472               
6 05/201456               
7 06/201445               
8 07/201427               
9 08/201425               
10 09/201423               
11 10/201421               
12 11/201419               
13 12/201417               
14 01/201515               
15 02/201513               
16 03/201511               
17 04/20159               
18                  
19reicht bis:                 
20Feb 15Monat 01/201402/201403/201404/201405/201406/201407/201408/201409/201410/201411/201412/201401/201502/201503/201504/2015
21Feb 15bestellt 4232171317256452725232119171513119
22                  

Formeln der Tabelle
ZelleFormel
E1{=WENNFEHLER(INDEX(B2:B97;MAX(WENN(TEILERGEBNIS(9;BEREICH.VERSCHIEBEN(C2;;;ZEILE(1:97)))<=A2;ZEILE(1:97)))); "Ende")}
E2=AGGREGAT(14;6;B2:B97/(SUMMEWENN(B2:B99;"<="&B2:B99;C2:C99)<=A2); 1)
A20{=WENNFEHLER(INDEX(C20:W20;MAX(WENN(TEILERGEBNIS(9;BEREICH.VERSCHIEBEN(C21;;;;ZEILE(1:99)))<=A2;ZEILE(1:99)))); "Ende")}
A21=AGGREGAT(14;6;C20:W20/(SUMMEWENN(C20:W20;"<="&(C20:W20); C21:W21)<=A2); 1)
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Werner
.. , - ...
Anzeige
AW: auch in älteren Excelversionen möglich ...
21.10.2018 14:56:46
neopa
Hallo,
... da in E1 so: =MAX(INDEX((SUMMEWENN(B2:B99;" und in A20 so:

=MAX(INDEX((SUMMEWENN(C20:Z20;"
Gruß Werner
.. , - ...
WF wird es ja möglicherweise aufnehmen ...
21.10.2018 15:52:58
lupo1
...
wobei die Sache mit der Kumulierung trotzdem grundsätzlich Bestand hat.
Die älteren unter uns erinnern sich an Statistiktabellen, anhand derer man früher im Studium (ohne Computer) Werte ablas. Hier waren die Häufigkeiten kumuliert.
Anzeige
ist erfolgt
21.10.2018 17:43:26
WF
.
AW: ist erfolgt
21.10.2018 21:21:21
Stefan
Hallo,
danke für die zahlreichen Antworten. Leider helfen mir diese nicht sehr viel, da die Aufgabenstellung einfach umgebaut wurde. Der Aufbau hat seinen Hintergrund und weitere Martixformeln will ich nicht einbauen, da die Datei sonst zu langsam wird. Ich will ein Makro starten, wo dann der Wert ermittelt wird, quasi eine Schleife pro Artikel durchsucht die Kopfzeile nach der Spalte "B"+Jahr+KW und prüft dann ob der Wert in der jeweiligen Zeile kleiner oder gleich Null ist.
Anzeige
AW: ist erfolgt
21.10.2018 21:21:22
Stefan
Hallo,
danke für die zahlreichen Antworten. Leider helfen mir diese nicht sehr viel, da die Aufgabenstellung einfach umgebaut wurde. Der Aufbau hat seinen Hintergrund und weitere Martixformeln will ich nicht einbauen, da die Datei sonst zu langsam wird. Ich will ein Makro starten, wo dann der Wert ermittelt wird, quasi eine Schleife pro Artikel durchsucht die Kopfzeile nach der Spalte "B"+Jahr+KW und prüft dann ob der Wert in der jeweiligen Zeile kleiner oder gleich Null ist.
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Reichweite berechnen in Excel


Schritt-für-Schritt-Anleitung

  1. Daten vorbereiten: Erstelle eine Excel-Tabelle, in der du die Bestände und den Bedarf pro Kalenderwoche (KW) auflistest.
  2. Formel für die Reichweite: Verwende die Formel, um die Reichweite zu berechnen. Eine einfache Formel könnte so aussehen:
    =B2/C2

    Hier steht B2 für den aktuellen Bestand und C2 für den Bedarf.

  3. Bedingte Formatierung: Setze eine bedingte Formatierung ein, um negative Bestände hervorzuheben.
  4. VBA-Makro erstellen (optional): Wenn du viele Daten hast, kann ein Makro effizienter sein. Hier ein einfaches Beispiel:

    Sub ReichweiteBerechnen()
       Dim ws As Worksheet
       Set ws = ThisWorkbook.Sheets("DeinBlattname")
       Dim i As Long
    
       For i = 2 To 100 'Anpassen je nach Datenmenge
           If ws.Cells(i, 2).Value <= 0 Then
               ws.Cells(i, 3).Value = "KW: " & ws.Cells(1, i).Value 'KW aus der Kopfzeile
           End If
       Next i
    End Sub

Häufige Fehler und Lösungen

  • Fehler: Berechnung dauert zu lange
    Lösung: Reduziere die Anzahl der verwendeten Formeln und überlege, stattdessen ein Makro zu verwenden, um die Geschwindigkeit zu erhöhen.

  • Fehler: Falsche KW angezeigt
    Lösung: Stelle sicher, dass die Formel korrekt auf die Spalten mit den Kalenderwochen verweist.


Alternative Methoden

  • Matrixformeln verwenden: In Excel 2010 und neuer kannst du Matrixformeln nutzen, um die Reichweite effizient zu berechnen. Zum Beispiel:

    =AGGREGAT(14, 6, B2:B100/(C2:C100<=0), 1)

    Diese Formel gibt dir den ersten Wert zurück, der kleiner oder gleich Null ist.

  • Kumulierte Werte: Anstatt die Einzelwerte zu verwenden, kannst du auch kumulierte Werte in einer Hilfsspalte berechnen, um die Übersichtlichkeit zu erhöhen.


Praktische Beispiele

  • Beispiel 1: Bestandsreichweite berechnen
    Angenommen, du hast 200 Einheiten auf Lager und einen wöchentlichen Bedarf von 50 Einheiten:

    =200/50

    Das Ergebnis ist 4, was bedeutet, dass der Bestand für 4 Wochen reicht.

  • Beispiel 2: Lagerreichweite berechnen in einer Tabelle
    Erstelle eine Tabelle mit den Spalten "Bestand", "Bedarf" und "Reichweite", um die Übersicht zu behalten. Du kannst dann die Reichweite für jeden Artikel einzeln berechnen.


Tipps für Profis

  • Verwende benannte Bereiche: Dies kann die Lesbarkeit deiner Formeln verbessern und Fehlerquellen verringern.
  • Dokumentiere deine Formeln: Eine kurze Beschreibung neben jeder Formel kann dir helfen, später zu verstehen, was du gemacht hast.
  • Backup von Daten: Mache regelmäßig Backups deiner Excel-Datei, bevor du umfangreiche Änderungen vornimmst.

FAQ: Häufige Fragen

1. Wie kann ich die Reichweite berechnen, wenn ich mehrere Produkte habe?
Nutze eine separate Zeile für jedes Produkt und berechne die Reichweite in einer zusätzlichen Spalte.

2. Gibt es eine Möglichkeit, die Reichweite automatisch zu aktualisieren?
Ja, du kannst ein VBA-Makro verwenden, das die Reichweite automatisch aktualisiert, wenn sich die Bestände ändern.

3. Welche Excel-Version benötige ich für Matrixformeln?
Matrixformeln sind ab Excel 2010 verfügbar. Stelle sicher, dass du eine kompatible Version verwendest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige