
22-04-13, 15:22
|
| Όνομα: Γιώργος Έκδοση λογισμικού Office: Ms-Office 2010 Γλώσσα λογισμικού Office: Ελληνική, Αγγλική | | Εγγραφή: 18-06-2010
Μηνύματα: 3.674
| |
Καλησπέρα
Στο κελί G68 από την τιμή του κελιού F68 αφαιρείται το 7,5.
Αν σε κάποιο κελί βάλουμε τον τύπο: =F68=7,5 θα πάρουμε TRUE (δηλαδή F68=7,5).
Υπολογίζοντας όμως το excel την παράσταση F68-7,5 , λόγω στρογγυλοποιήσεων, δε δίνει το αναμενόμενο αποτέλεσμα, που είναι το μηδέν, αλλά ένα αρνητικό αριθμό πολύ κοντά στο μηδέν.
Αν βάλουμε σε κάποιο κελί τον τύπο: =F68-7,5=0 θα πάρουμε FALSE (δηλαδή το αποτέλεσμα της πράξης F68-7,5<>0 ).
Αυτή η συμπεριφορά, είναι παράλογη για την ανθρώπινη λογική, αλλά για τη λογική του PC φυσιολογική.
Το παραπάνω πρόβλημα είναι πολύ γνωστό στους προγραμματιστές και όταν γράφουν κώδικα παίρνουν μέτρα για να το αντιμετωπίσουν.
Για παράδειγμα αντί να γράψουν: If x=a Then … γράφουν: If Abs(x-a)<=e Then … (e πολύ μικρός θετικός).
Όπως πρότεινα και στο προηγούμενο μήνυμά μου το πρόβλημα στο excel μπορεί να αντιμετωπιστεί με τη συνάρτηση ROUND.
Φιλικά/Γιώργος
|