Clever-Excel-Forum

Normale Version: KKleinste Index Verweis
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo liebe Excel Freunde,

ich sitze seit einiger Zeit an einem Problem, welches ich leider nicht allein gelöst bekomme.

Folgende Problematik:

Ich habe Arbeitspläne mit verschiedenen Maschinenbezeichnungen, mit unterschiedlichen Vorgabezeiten. Ich möchte nun auf Basis der Artikelnummer die kleinste Vorgabezeit bekommen, unter der Voraussetzung der von mir zu untersuchenden Maschinenbezeichnung.

Vielleicht ist jemand so lieb und baut mir eine entsprechende Formel auf. Das ganze muss so dynamisch sein, dass ich ohne Hilfstabellen auskomme.

Für jede Hilfe wäre ich sehr dankbar!! (Ich habe eine Beispieldatei im Anhang gesetzt.)
Henning,

bitte sehr.
 ABCDEFGH
1Maschine ArtikelMaschineVorgabezeit ArtikelAusgabe
2Maschine X 4711Maschine X0,3 47110,3
3Maschine Y 4711Maschine 124 47120,8
4Maschine CZ 4711Maschine 145 47130,1
5  4711Maschine 156   
6  4711Maschine 167   
7  4712Maschine 145   
8  4712Maschine 156   
9  4712Maschine 147   
10  4712Maschine 155   
11  4712Maschine Y0,8   
12  4712Maschine 170,9   
13  4712Maschine 180,4   
14  4713Maschine 17   
15  4713Maschine 26   
16  4713Maschine 35   
17  4713Maschine 44   
18  4713Maschine X3   
19  4713Maschine Y0,1   

ZelleFormel
H2=AGGREGAT(15;6;Arbeitsplan[Vorgabezeit]/(Arbeitsplan[Artikel]=[@Artikel])/ZÄHLENWENN(Kapazitätseinheit[Maschine];Arbeitsplan[Maschine]);1)
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg
Hallo Shift-del,

ersteinmal vielen Dank für deine Unterstützung. Die Formel funktioniert auch super, jedoch gibt Sie mir die kleinste Vorgabezeit wieder (ich denke ich hab mich in meiner vorherigen Formulierung falsch ausgedrückt).

Ich möchte die Maschine als Ausgabe bekommen. Also diejenige mit der kleinsten Vorgabezeit im Arbeitsplan, welche in der Tabelle Kapazitätseinheiten steht.  Blush
Henning,

dann mit einer Hilfsspalte.
 GHI
1ArtikelVorgabezeitMaschine
247110,3Maschine X
347120,8Maschine Y
447130,1Maschine Y

ZelleFormel
H2=AGGREGAT(15;6;Arbeitsplan[Vorgabezeit]/(Arbeitsplan[Artikel]=[@Artikel])/ZÄHLENWENN(Kapazitätseinheit[Maschine];Arbeitsplan[Maschine]);1)
I2=INDEX(Arbeitsplan[Maschine];VERWEIS(9^99;ZEILE(Arbeitsplan[Maschine])/(Arbeitsplan[Artikel]=[@Artikel])/ZÄHLENWENN(Kapazitätseinheit[Maschine];Arbeitsplan[Maschine])/(Arbeitsplan[Vorgabezeit]=[@Vorgabezeit])-1))
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg
Vielen dank für die schnelle Hilfe.

Hätte ich niemals geschafft!
Die Formel funktioniert einwandfrei. Leider habe ich > 6000 Datensätze in meiner Tabelle und die Berechnung scheint Excel ein wenig zu überfordern.

Das Tabellenblatt braucht mehr als 30 Minuten um eine Aktualisierung durchzuführen. Ich habe bereits die Automatische Berechnung deaktiviert. Ändert sich jedoch eine verknüpfte Datentabelle, muss der Anwender immer 30 Minuten warten bis er die tatsächliche Änderung sieht.

Liegt das an der Index; Verweis Funktion?
Henning,

es handelt sich um Matrixformeln bzw. Matrixberechnungen. Die Rechenzeit zeigt natürlich mit Anzahl der Datensätze und mit Anzahl der Formeln.

Als Alternative bietet sich Power Query an.
Also träge wie das Tabellenblatt aktuell ist, kann ich leider niemanden damit arbeiten lassen.

Die angesprochene Alternative ist "Power Query". Wie soll das ganze funktionieren? Läge ich eine separate Excel Tabelle an, mit verknüpften Formeln auf die Ursprungstabelle? Ich habe Microsoft Office 2016 - das Add in sollte also mit an Board sein.

Ich habe noch nie damit gearbeitet. Wie gehe ich am besten vor?
Sortierung 1) Art. 2) Zeit vorausgesetzt (Du wirst ja wohl vernünftig arbeiten!):

__|_____A_____|B|___C___|_____D_____|_____E_____|F|__G__|___H___|_____I_____|__J_|CODETab von lupo1
 1|Maschine   | |Artikel|Maschine   |Vorgabezeit| |     |Artikel|Ausgabe    |Zeit|
 2|Maschine X | |4711,00|Maschine X |       0,30| | 2,00|4711,00|Maschine X |0,30|
 3|Maschine Y | |4711,00|Maschine 12|       4,00| | 7,00|4712,00|Maschine 18|0,40|
 4|Maschine CZ| |4711,00|Maschine 14|       5,00| |14,00|4713,00|Maschine Y |0,10|
 5|           | |4711,00|Maschine 15|       6,00| |20,00|   0,00|       0,00|0,00|
 6|           | |4711,00|Maschine 16|       7,00| |     |       |           |    |
 7|           | |4712,00|Maschine 18|       0,40| |     |       |           |    |
 8|           | |4712,00|Maschine Y |       0,80| |     |       |           |    |
 9|           | |4712,00|Maschine 17|       0,90| |     |       |           |    |
10|           | |4712,00|Maschine 14|       5,00| |     |       |           |    |
11|           | |4712,00|Maschine 15|       5,00| |     |       |           |    |
12|           | |4712,00|Maschine 15|       6,00| |     |       |           |    |
13|           | |4712,00|Maschine 14|       7,00| |     |       |           |    |
14|           | |4713,00|Maschine Y |       0,10| |     |       |           |    |
15|           | |4713,00|Maschine X |       3,00| |     |       |           |    |
16|           | |4713,00|Maschine 4 |       4,00| |     |       |           |    |
17|           | |4713,00|Maschine 3 |       5,00| |     |       |           |    |
18|           | |4713,00|Maschine 2 |       6,00| |     |       |           |    |
19|           | |4713,00|Maschine 1 |       7,00| |     |       |           |    |
20|           | |       |           |           | |     |       |           |    |

Zellformeln:
G2: =VERGLEICH(WAHR;INDEX(C$998:INDEX(C:C;G1+1)<>C$999:INDEX(C:C;G1+2););)+1+G1
H2: =INDEX(C:C;$G2)


Falsch verstanden!
Hallo Lupo1,

vielen Dank für deinen Beitrag.

Die Ausgabe ist jedoch nicht korrekt, da die Maschine 18 nicht Teil der zu betrachtenden Kapazitäten ist. (siehe Spalte A).
Seiten: 1 2