Microsoft Excel

Herbers Excel/VBA-Archiv

Negativzahlen werden in min-Funktion nicht erkannt | Herbers Excel-Forum


Betrifft: Negativzahlen werden in min-Funktion nicht erkannt von: Manni
Geschrieben am: 25.01.2012 23:42:57

Hallo,
ich habe folgendes Problem:

In der Zelle K82 soll folgendes Ergebnis erscheinen:
Wenn h82 oder i82 = x
und wenn h83 oder i83 = x
und wenn h84 oder i84 = x
und wenn h85 oder i85 = x
und wenn h86 oder i86 = x
und wenn h87 oder i87 = x
dann soll in K82 die summe aus f82:f87 abzüglich des kleinsten Wertes erscheinen. Wenn einmal weder in Spalte h noch i ein x ist, soll nur die Summe aus f82:f87 erscheinen.

F H I K

82 11 x 0 38
83 17 x 0
84 6 x 0
85 1 x 0
86 3 x 0
87 -1 x 0

Ich versuche dies mit folgender Formel in k82:
=WENN(UND(ODER(H82="x";I82="x");ODER(H83="x";I83="x");ODER(H84="x";I84="x");ODER(H85="x";I85="x"); ODER(H86="x";I86="x");ODER(H87="x";I87="x"));SUMME(F82:F87)-MIN(F82:F87);SUMME(F82:F87))

Das Ergebnis sollte 37 und nicht 38 sein?!

Habe ich einen Denkfehler in der Formel?
Vielen Dank für Eure Hilfe!
Manni

  

Betrifft: AW: Negativzahlen werden in min-Funktion nicht erkannt von: Josef Ehrensberger
Geschrieben am: 26.01.2012 00:14:00


Hallo Manni,

so?

Tabelle1

 FHIJKL
28211x0 38
38317x0  
4846x0  
5851x0  
6863x0  
787-1x0  

Formeln der Tabelle
ZelleFormel
L2{=SUMME(H2:H7)-(MIN(H2:H7)*(SUMME((F2:F7="x")+(I2:I7="x"))=6))}
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ß Sepp »



  

Betrifft: Funktion rechnet korrekt : 37 - (-1) = 38 ! von: NoNet
Geschrieben am: 26.01.2012 00:33:15

Hallo Manni,

1.) : Das Ergebnis ist abolut OK, denn die Summe aus F82:F87 ergibt 37, zieht man davon die kleinste Zahl dieses Bereiches (-1) ab, ergibt das 37 - (-1) = 37 + 1 = 38 ("Minus mal Minus" ergibt mathematisch PLUS !)

2.) : die Überprüfungen, die Du in der gesamten UND()-Funktion eingegeben hast, kann man mit SUMMENPRODUKT() zusammenfassen, dann ergibt sich insgesamt z.B. folgende Funktion :
=WENN(SUMMENPRODUKT(((H82:H87="x")+(I82:I87="x")>0)*1)=ZEILEN(82:87);SUMME(F82:F87);SUMME(F82:F87)-ABS(MIN(F82:F87)))
Wenn sich der Bereich nun bis Zeile 99 vergrössert, muss man keine zusätzlichen ODER()-Funktionen ergänzen, sondern lediglich die Bereiche in der Funktion erweitern :
=WENN(SUMMENPRODUKT(((H82:H99="x")+(I82:I99="x")>0)*1)=ZEILEN(82:99);SUMME(F82:F99);SUMME(F82:F99)-ABS(MIN(F82:F99)))

3.) : Die Darstellung deiner "Tabelle" ist etwas unglücklich, denn man erkennt hier nicht, welches "x" nun in Spalte H und welches "x" in Spalte I steht !
Aus diesem Grund gibt es diverse Tools zum Darstellen von Excel-Tabellen in Foren per HTML-Code, z.B. folgerde :
http://www.office-loesung.de/ftopic383163_0_0_asc.php
http://www.excel-jeanie-html.de/
http://xlfaq.de/index.php/beispieldateien/21-sonstige-beispieldateien/86-tab2html
...und etliche weitere...

Und so sieht eine solche HTML-Tabelle dann z.B. aus :
Tabelle1

FGHI
82
83
84
85
86
87

Tabelle eingefügt mit Syntaxhighlighter 4.15

Gruß, NoNet


  

Betrifft: AW: Funktion rechnet korrekt : 37 - (-1) = 38 ! von: Manni
Geschrieben am: 26.01.2012 16:58:16

Hallo,
o.k. es war ein Denkfehler. Natürlich ergibt minus mal minus plus. Lernt man schließlich früh genug.
Ich habe aufgrund dieses Hinweises weiter "gebastelt". (Beim nächsten Mal versuche ich dann die summenprodukt-Funktion - Danke für diesen Hinweis!

Ich versuche jetzt mal anhand des geposteten Add-Inns' meine Tabelle einzufügen, damit auch ihr seht wie meine Lösung aussieht.

 ABCDEFGHIJKL
72 Sebastian  5848      
73            
74 StarkeTSG2.400.000 €65 x065 
75 LenoBayer800.000 €65 x0   
76            
77 DanteGladbach1.600.000 €00 0053 
78 SchulzHannover2.500.000 €00 00   
79 NoveskiMainz1.800.000 €65 x0   
80 de JongAugsburg700.000 €-1-2 x0   
81            
82 KagawaBVB4.500.000 €1211 x04338 
83 ReusGladbach4.500.000 €1817 x0   
84 TiffertLautern300.000 €76 x0   
85 SchmiedebachHannover200.000 €21 x0   
86 MakiadiFreiburg1.500.000 €43 x0   
87 OttlHertha2.000.000 €0-1 x0   
88            
89 RamosHertha4.000.000 €-2-3 x042 
90 PizzaroWerder5.000.000 €65 x0   
91 SonHSV1.000.000 €00 00   
92   32.800.000 €        

ZelleFormel
E72=SUMME(J74:J91)
F72=SUMME(K74:K91)
E74=SVERWEIS(B74;Daten!B:N;12;FALSCH)
F74=SVERWEIS(B74;Daten!B:N;13;FALSCH)
G74=WENN(SVERWEIS(B74;Daten!B:O;14;FALSCH)="E";"E";" ")
H74=SVERWEIS(B74;Daten!B:O;3;FALSCH)
I74=SVERWEIS(B74;Daten!B:O;4;FALSCH)
J74=WENN(UND(ODER(H74="x";I74="x");ODER(H75="x";I75="x");MIN(E74:E75)<0);SUMME(E74:E75)-MIN(E74:E75);WENN(MIN(E74:E75)>0;SUMME(E74:E75)-MIN(E74:E75);SUMME(E74:E75)))
K74=WENN(UND(ODER(H74="x";I74="x");ODER(H75="x";I75="x");MIN(F74:F75)<0);SUMME(F74:F75)-MIN(F74:F75);WENN(MIN(F74:F75)>0;SUMME(F74:F75)-MIN(F74:F75);SUMME(F74:F75)))
E75=SVERWEIS(B75;Daten!B:N;12;FALSCH)
F75=SVERWEIS(B75;Daten!B:N;13;FALSCH)
G75=WENN(SVERWEIS(B75;Daten!B:O;14;FALSCH)="E";"E";" ")
H75=SVERWEIS(B75;Daten!B:O;3;FALSCH)
I75=SVERWEIS(B75;Daten!B:O;4;FALSCH)
E77=SVERWEIS(B77;Daten!B:N;12;FALSCH)
F77=SVERWEIS(B77;Daten!B:N;13;FALSCH)
G77=WENN(SVERWEIS(B77;Daten!B:O;14;FALSCH)="E";"E";" ")
H77=SVERWEIS(B77;Daten!B:O;3;FALSCH)
I77=SVERWEIS(B77;Daten!B:O;4;FALSCH)
J77=WENN(UND(ODER(H77="x";I77="x");ODER(H78="x";I78="x");ODER(H79="x";I79="x");ODER(H80="x";I80="x");MIN(E77:E80)<0);SUMME(E77:E80)-MIN(E77:E80);WENN(MIN(E77:E80)>0;SUMME(E77:E80)-MIN(E77:E80);SUMME(E77:E80)))
K77=WENN(UND(ODER(H77="x";I77="x");ODER(H78="x";I78="x");ODER(H79="x";I79="x");ODER(H80="x";I80="x");MIN(F77:F80)<0);SUMME(F77:F80)-MIN(F77:F80);WENN(MIN(F77:F80)>0;SUMME(F77:F80)-MIN(F77:F80);SUMME(F77:F80)))
E78=SVERWEIS(B78;Daten!B:N;12;FALSCH)
F78=SVERWEIS(B78;Daten!B:N;13;FALSCH)
G78=WENN(SVERWEIS(B78;Daten!B:O;14;FALSCH)="E";"E";" ")
H78=SVERWEIS(B78;Daten!B:O;3;FALSCH)
I78=SVERWEIS(B78;Daten!B:O;4;FALSCH)
E79=SVERWEIS(B79;Daten!B:N;12;FALSCH)
F79=SVERWEIS(B79;Daten!B:N;13;FALSCH)
G79=WENN(SVERWEIS(B79;Daten!B:O;14;FALSCH)="E";"E";" ")
H79=SVERWEIS(B79;Daten!B:O;3;FALSCH)
I79=SVERWEIS(B79;Daten!B:O;4;FALSCH)
E80=SVERWEIS(B80;Daten!B:N;12;FALSCH)
F80=SVERWEIS(B80;Daten!B:N;13;FALSCH)
G80=WENN(SVERWEIS(B80;Daten!B:O;14;FALSCH)="E";"E";" ")
H80=SVERWEIS(B80;Daten!B:O;3;FALSCH)
I80=SVERWEIS(B80;Daten!B:O;4;FALSCH)
E82=SVERWEIS(B82;Daten!B:N;12;FALSCH)
F82=SVERWEIS(B82;Daten!B:N;13;FALSCH)
G82=WENN(SVERWEIS(B82;Daten!B:O;14;FALSCH)="E";"E";" ")
H82=SVERWEIS(B82;Daten!B:O;3;FALSCH)
I82=SVERWEIS(B82;Daten!B:O;4;FALSCH)
J82=WENN(UND(ODER(H82="x";I82="x");ODER(H83="x";I83="x");ODER(H84="x";I84="x");ODER(H85="x";I85="x");ODER(H86="x";I86="x");ODER(H87="x";I87="x");MIN(E82:E87)<0);SUMME(E82:E87)-MIN(E82:E87);WENN(MIN(E82:E87)>0;SUMME(E82:E87)-MIN(E82:E87);SUMME(E82:E87)))
K82=WENN(UND(ODER(H82="x";I82="x");ODER(H83="x";I83="x");ODER(H84="x";I84="x");ODER(H85="x";I85="x");ODER(H86="x";I86="x");ODER(H87="x";I87="x");MIN(F82:F87)<0);SUMME(F82:F87)-MIN(F82:F87);WENN(MIN(F82:F87)>0;SUMME(F82:F87)-MIN(F82:F87);SUMME(F82:F87)))
E83=SVERWEIS(B83;Daten!B:N;12;FALSCH)
F83=SVERWEIS(B83;Daten!B:N;13;FALSCH)
G83=WENN(SVERWEIS(B83;Daten!B:O;14;FALSCH)="E";"E";" ")
H83=SVERWEIS(B83;Daten!B:O;3;FALSCH)
I83=SVERWEIS(B83;Daten!B:O;4;FALSCH)
E84=SVERWEIS(B84;Daten!B:N;12;FALSCH)
F84=SVERWEIS(B84;Daten!B:N;13;FALSCH)
G84=WENN(SVERWEIS(B84;Daten!B:O;14;FALSCH)="E";"E";" ")
H84=SVERWEIS(B84;Daten!B:O;3;FALSCH)
I84=SVERWEIS(B84;Daten!B:O;4;FALSCH)
E85=SVERWEIS(B85;Daten!B:N;12;FALSCH)
F85=SVERWEIS(B85;Daten!B:N;13;FALSCH)
G85=WENN(SVERWEIS(B85;Daten!B:O;14;FALSCH)="E";"E";" ")
H85=SVERWEIS(B85;Daten!B:O;3;FALSCH)
I85=SVERWEIS(B85;Daten!B:O;4;FALSCH)
E86=SVERWEIS(B86;Daten!B:N;12;FALSCH)
F86=SVERWEIS(B86;Daten!B:N;13;FALSCH)
G86=WENN(SVERWEIS(B86;Daten!B:O;14;FALSCH)="E";"E";" ")
H86=SVERWEIS(B86;Daten!B:O;3;FALSCH)
I86=SVERWEIS(B86;Daten!B:O;4;FALSCH)
E87=SVERWEIS(B87;Daten!B:N;12;FALSCH)
F87=SVERWEIS(B87;Daten!B:N;13;FALSCH)
G87=WENN(SVERWEIS(B87;Daten!B:O;14;FALSCH)="E";"E";" ")
H87=SVERWEIS(B87;Daten!B:O;3;FALSCH)
I87=SVERWEIS(B87;Daten!B:O;4;FALSCH)
E89=SVERWEIS(B89;Daten!B:N;12;FALSCH)
F89=SVERWEIS(B89;Daten!B:N;13;FALSCH)
G89=WENN(SVERWEIS(B89;Daten!B:O;14;FALSCH)="E";"E";" ")
H89=SVERWEIS(B89;Daten!B:O;3;FALSCH)
I89=SVERWEIS(B89;Daten!B:O;4;FALSCH)
J89=WENN(UND(ODER(H89="x";I89="x");ODER(H90="x";I90="x");ODER(H91="x";I91="x");MIN(E89:E91)<0);SUMME(E89:E91)-MIN(E89:E91);WENN(MIN(E89:E91)>0;SUMME(E89:E91)-MIN(E89:E91);SUMME(E89:E91)))
K89=WENN(UND(ODER(H89="x";I89="x");ODER(H90="x";I90="x");ODER(H91="x";I91="x");MIN(F89:F91)<0);SUMME(F89:F91)-MIN(F89:F91);WENN(MIN(F89:F91)>0;SUMME(F89:F91)-MIN(F89:F91);SUMME(F89:F91)))
E90=SVERWEIS(B90;Daten!B:N;12;FALSCH)
F90=SVERWEIS(B90;Daten!B:N;13;FALSCH)
G90=WENN(SVERWEIS(B90;Daten!B:O;14;FALSCH)="E";"E";" ")
H90=SVERWEIS(B90;Daten!B:O;3;FALSCH)
I90=SVERWEIS(B90;Daten!B:O;4;FALSCH)
E91=SVERWEIS(B91;Daten!B:N;12;FALSCH)
F91=SVERWEIS(B91;Daten!B:N;13;FALSCH)
G91=WENN(SVERWEIS(B91;Daten!B:O;14;FALSCH)="E";"E";" ")
H91=SVERWEIS(B91;Daten!B:O;3;FALSCH)
I91=SVERWEIS(B91;Daten!B:O;4;FALSCH)
D92=SUMME(D74:D91)
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg


Vielen Dank auf jeden Fall für die wirklich sehr schnellen Hinweise!
...und ich dachte immer, dass ich Excel gut beherrsche...
Gruss Manni


Beiträge aus den Excel-Beispielen zum Thema "Negativzahlen werden in min-Funktion nicht erkannt"