Intelligentes dividieren
#1
Hallo Community,

Folgendes vorweg, die Werte bei Cell Type und Rquired Extraction Volume sind fix und wurden aus einem anderen Tab z.B. mittels =B22 , =B23 , =B24 etc. übernommen. Wenn der Kunde nun an dieser anderen Tabelle herumspielt kommen natürlich auch andere Wearte heraus. Nun zu meiner eigentlichen Frage: Wie an dem Bild zu erkennen ist gibt es verschieden Tower Types, Tower A bis Tower E. Tower A hat einer Performance von 7000[m³/h], Tower B 10000 [m³/h] etc.. Wenn nun bei Cell Type FO1 ein Volumen von 47000 [m³/h] gefordert wird, soll der Wert intelligent dividiert werden, in dem Fall 2 mal mit Tower D und 1 mal mit Tower A. Natürlich könnte man auch 4 mal Tower B nehmen und 1 mal Tower A aber das ist nicht der Sinn der Sache und wäre auch viel zu kostenintensiv. Wie würde das ganze dann in einer Formel aussehen bzw. in VBA oder ist das ganze überhaupt darstellbar? Ich würde mich sehr über Vorschläge freuen.

Gruß
Weltenweit


Angehängte Dateien Thumbnail(s)
   
Top
#2
Hi

mir reichen deine Ausführungen leider noch nicht.
Warum wird z.B. bei 190000 8xTower E und nicht 7xTower E und 1xTower C verwendet.
Definiere einmal ein paar Regeln wann wie genau das Volumen.

Gruß Elex
Top
#3
Hi Elex, da hast du Recht, es sollte immer die kostengünstigste Kombination von Towern verbunden werden, aber genau das ist auch mein Problem weil ich nicht weiß wie ich anhand einer Formel dem Programm klar mache, dass es immer die beste Kombination zum verrechnen nimmt. Wie das Volumen zustande kommt ist unwichtig. Wichtig ist nur zu wissen das sich das Volumen jederzeit ändern kann und sich dadurch auch die Kombination von den Towern verändern muss.

Das Bild soll nur beispielhaft darstellen wie ich mir das ganze vorstelle, die 8 neben den 190000 ist in dem Fall falsch, weil es wie du bereits erkannt hast eine bessere Kombination gibt.

Gruß Weltenweit
Top
#4
PHP-Code:
=Bild pi() 
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Top
#5
Hi

Mein Vorschlag dazu.

____|____A___|____B____|____C____|____D____|____E____|____F____|_G_|_H_|____I___|
   1|        |         |         |         |         |         |   |   |        |
   2|        |    25000|    20000|    15000|    10000|     7000|  0|   |        |
   3|        |Tower E  |Tower D  |Tower C  |Tower B  |Tower A  |   |   |Check   |
   4|    5000|        0|        0|        0|        0|        1|   |   |    7000|
   5|    7000|        0|        0|        0|        0|        1|   |   |    7000|
   6|    8000|        0|        0|        0|        1|        0|   |   |   10000|
   7|   14000|        0|        0|        1|        0|        0|   |   |   15000|
   8|   16000|        0|        1|        0|        0|        0|   |   |   20000|
   9|   24000|        1|        0|        0|        0|        0|   |   |   25000|
  10|   26000|        1|        0|        0|        0|        1|   |   |   32000|
  11|   43000|        1|        1|        0|        0|        0|   |   |   45000|
  12|   47000|        2|        0|        0|        0|        0|   |   |   50000|
  13|   70000|        2|        1|        0|        0|        0|   |   |   70000|
  14|   71000|        3|        0|        0|        0|        0|   |   |   75000|
  15|  190000|        7|        0|        1|        0|        0|   |   |  190000|

B4    =GANZZAHL(A4/B$2)+((A4-GANZZAHL(A4/B$2)*B$2)>C$2)     'nach unten kopieren
C4    =1*(($A4-$B4*$B$2)>D$2)            'nach unten kopieren
D4    =1*(($A4-$B4*$B$2)>E$2)*(SUMME($C4:C4)<1)      'nach rechts (bis F) und dann nach unten kopieren

Gruß Elex
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • Weltenweit
Top
#6
Sehr geil Elex! Vielen lieben Dank, so hatte ich mir das vorgestellt! Es funktioniert einwandfrei :)

Gruß Weltenweit
Top
#7
Hallo,

ist aber zB. bei 26.000 nicht optimal.
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Top
#8
Stimmt auch wieder :( ,finde die Lösung von Elex aber schonmal richtig gut
Top
#9
Hi

Merci, da hat Ego gut mitgedacht.
Versuche es mit dieser angepassten Variante.

____|___A___|____B____|____C____|____D____|____E____|____F____|_G_|_H_|___I___|
   1|       |         |         |         |         |         |   |   |       |
   2|      0|    25000|    20000|    15000|    10000|     7000|  0|   |       |
   3|       |Tower E  |Tower D  |Tower C  |Tower B  |Tower A  |   |   |Check  |
   4|  25000|        1|        0|        0|        0|        0|   |   |  25000|
   5|  26000|        0|        1|        0|        0|        1|   |   |  27000|
   6|  27000|        0|        1|        0|        0|        1|   |   |  27000|


B4    =GANZZAHL(A4/B$2)+WENN((A4-GANZZAHL(A4/B$2)*B$2)<>0;WENN((A4-GANZZAHL(A4/B$2)*B$2)>$C$2;1;WENN((A4-GANZZAHL(A4/B$2)*B$2)<2001;-1;0));0)   'nach unten

C4    =1*(($A4-SUMMENPRODUKT($B4:B4;$B$2:B$2)>D$2))    'nach rechts und unten
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • Weltenweit
Top
#10
Ich bedanke mich erneut Elex! :19:
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste