Formel-/Formatierungsbug finden...

Bild

Betrifft: Formel-/Formatierungsbug finden...
von: Joerschi
Geschrieben am: 30.09.2015 17:29:10

Hallo liebes Forum,
ich komme einfach nicht weiter.
Mir wurde hier im Forum von Sepp eine Aufgabe wunderbar gelöst, allerdings bei einer ganz bestimmten Zahl/Berechnung gibt Excel unverständlicherweise falsche Werte aus. Vielleicht kann jemand mal drüber schauen und helfen.
So war die ursprüngliche Aufgabe (von hier: https://www.herber.de/forum/archiv/1448to1452/t1448149.htm) anhand dieser Skizze:
Userbild
Aufgabe und "Nebenbedingungen":
1) Von B706 nach rechts sollen aufsteigend die Zahlenwerte der Tabelle B703:P703 wiedergegeben werden
2) 0-Werte werden ignoriert
3) keine doppelten Werte (also jeder Wert wird nur einmal in der Ergebnisliste aufgeführt)
4) in der Ergebnisliste B706:P706 Umwandlung von %-Werten zu Zahlenwerten
Folgende Lösung (zu obier Skizze) von Sepp, die an sich gut funktioniert:

B706 =AGGREGAT(15;6;B703:P703/(B703:P703>0)%;SPALTE(A1))
C706 =WENNFEHLER(AGGREGAT(15;6;$B703:$P703*100/($B703:$P703>B706%); 1); "")

Jetzt das Problem, was ich überhaupt nicht nachvollziehen kann:
Die Datentabelle in Zeile 703 besteht normalerweise auch aus Formeln (errechneten Werten).
Bei Tausenden Berechnungen scheint es jedoch nur bei einer bestimmten Kombination nicht zu funktionieren.
Und zwar wenn man irgendwo die Berechnung 1/34 vorgibt.
Im Beispiel betrifft das die Zelle C703. Dann wird in den Ergebnissen von C706:P706 alles falsch gerechnet.
Userbild
Gibt man hingegen in C703 händisch wieder 2,94 oder irgend etwas anderes ein, klappt wieder alles.
Völlig gaga.
Hat jemand eine Idee, woran das liegen könnte?
Musterdatei (untere Skizze): https://www.herber.de/bbs/user/100506.xlsx
Danke im Voraus und Liebe Grüße
Joerschi

Bild

Betrifft: AW: schenk der Formel ein paar Dollar ;-) ...
von: ... neopa C
Geschrieben am: 30.09.2015 18:27:14
Hallo Joerschi,
... in B706 so:


 =AGGREGAT(15;6;$B703:$P703/($B703:$P703>0)%;SPALTE(A1))

nach rechts ziehend kopieren und ferdsch ...
Gruß Werner
.. , - ...

Bild

Betrifft: AW: jain :-) (Bedingung 3 hast Du vergessen)
von: Joerschi
Geschrieben am: 30.09.2015 19:20:19
Hi Werner,
Danke Dir.
Aber passt noch nicht ganz, weil Bedingung 3) nicht erfüllt ist (in der Ergebnisliste sollen doppelte Werte der oberen Datenliste ignoriert werden).
In dem Beispiel war jetzt zwar kein doppelter Wert in Zeile 703, aber wenn einer drin ist, ist das Ergebnis nicht ganz richtig, weil die dann doppelt angezeigt werden.
Userbild
Liebe Grüße
joerschi
PS: Oje...Dollarzeichen. Du hast keine Ahnung, wie lange ich mir schon den Kopf darüber zerbrochen hatte :-))

Bild

Betrifft: AW: hatte ich überlesen ...
von: ... neopa C
Geschrieben am: 01.10.2015 07:26:29
Guten Morgen Joerschi,
... aber ich sehe keinen echten Bug. Das was Du festgestellt hast, sind Genauigkeitsdifferenzen
Folgende Formel nach rechts ziehend kopieren:

 BCDEFGHIJKL
7030,00%2,94%11,76%26,47%41,18%17,65%0,00%2,94%0,00%0,00%0,00%
704           
705           
7062,9411,7617,6526,4741,18      

Formeln der Tabelle
ZelleFormel
C703=1/34
B706=WENNFEHLER(AGGREGAT(15;6;RUNDEN($B703:$P703;4)/(RUNDEN($B703:$P703;4)>0)%/ISTNV(VERGLEICH(RUNDEN($B703:$P703;4); $A706:A706%;)); 1); "")


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Werner
.. , - ...

Bild

Betrifft: AW:Besten Dank.Trotzdem komisch was Excel da tat
von: Joerschi
Geschrieben am: 01.10.2015 07:36:36
Hallo Werner,
wieder einmal allerherzlichsten Dank (auch @ alle anderen Helfer).
Du hast den Fehler mit Runden erschlagen, auch ne Möglichkeit. ;-)
Dennoch ist es erstmal schräg, was da passierte.
Da ich die gleiche Berechnung bei wirklich Tausenden Zeilen habe und jeweils zig Nachkommastellen durch die Formeln der Werte in der Quelltabelle entstehen, wurde der Fehler dennoch immer nur bei 1/34 generiert.
Na wer weiß...
Beste Grüße
Joerschi

Bild

Betrifft: AW: ja; die Excel-Genauigkeitsproblematik ...
von: ... neopa C
Geschrieben am: 01.10.2015 09:25:22
Hallo Joerschi,
... hat schon so Manchen (auch mir) Probleme bereitet.
Übrigens meine Formel von vorhin lässt sich vereinfachen zu:

=WENNFEHLER(AGGREGAT(15;6;$B703:$P703/(RUNDEN($B703:$P703;4)>0)%/(RUNDEN($B703:$P703;4)>A706%);1);"") 
Gruß Werner
.. , - ...

Bild

Betrifft: AW: Formel-/Formatierungsbug finden...
von: ck
Geschrieben am: 01.10.2015 03:42:46
Hi,
so ?
https://www.herber.de/bbs/user/100513.xlsx
lg

Bild

Betrifft: AW: Bug leider noch da, wenn als Formel
von: Joerschi
Geschrieben am: 01.10.2015 06:30:00
Hallo CK,
Danke Dir.
Von der ursprünglichen Aufgabenstellung alles richtig.
Allerdings: Gib mal bitte in C103 "=1/24" ein. Also eine Formel daraus machen.
Und schon ist der Bug wieder da.... :-(
Userbild
Genau das kann ich mir nicht erklären.
Nur bei dieser Zahl (Ergebnis von 1/34) scheint bei der Lösung dann irgendwas schief zu gehen in Excel. Gibt man händisch einfach nur 2,94 ein, passt es wieder.
Liebe Grüße
Joerschi

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Makro Zeile einfügen Wenn..."