Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Excel > Excel - Ερωτήσεις / Απαντήσεις > [Συναρτήσεις] Excel Υπολογισμοί ωραρίων - ωρών, προβλήματα

Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ.

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 21-04-13, 16:27
Όνομα: Άκης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 26-01-2013
Μηνύματα: 4
Προεπιλογή Excel Υπολογισμοί ωραρίων - ωρών, προβλήματα

Αγαπητέ διαχειριστή
Αγαπητοί επισκέπτες

Παρακολουθώ και επισκέπτομαι τακτικά τη σελίδα σας αφού τη βρίσκω εξαιρετικά ενδιαφέρουσα και χρήσιμη, το τελευταίο δε διάστημα έχω δημιουργήσει και λογαριασμό μέλους.
Σήμερα θα ήθελα να σας εκθέσω ένα θέμα που με έχει ταλαιπωρήσει αρκετά.
Σε υπολογισμούς ωρών, ωραρίων, όταν χρησιμοποιείται ένας τύπος - συνάρτηση για την αφαίρεση του 7,5 - 7,5 που θεωρητικά μας δίνει αποτέλεσμα 0 (μηδέν), το Excel δημιουργεί ένα ανεξήγητο bag και δίνει ένα αποτέλεσμα με πάρα πολλά δεκαδικά ψηφία. Στο αναφερόμενο παράδειγμα χρησιμοποιούμε φύλλα του Excel για την καταχώρηση των εβδομαδιαίων προγραμμάτων εργασίας των Υπαλλήλων μιας εταιρείας, που λειτουργεί σε 24ωρη βάση όλες τις μέρες της εβδομάδος. Χρειάζεται να υπολογίζονται και να καταχωρούνται οι ώρες εργασίας και οι υπερωρίες των υπαλλήλων σε καθημερινή βάση για όλο το προσωπικό. Το πρόβλημα αυτό εμφανίζεται μόνο στο ωράριο 10:00 - 17:30 και σε κανένα άλλο, παρ' όλο που χρησιμοποιούνται προφανώς οι ίδιες ακριβώς συναρτήσεις για όλα τα ωράρια.

Ευχαριστώ
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsx Ωράρια_Ερώτημα1.xlsx (18,4 KB, 234 εμφανίσεις)
Απάντηση με παράθεση
  #2  
Παλιά 21-04-13, 19:10
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλησπέρα

Άκη, δεν πρόκειται για λάθος του excel.

Το excel, όπως και άλλα προγράμματα, για την αποθήκευση των αριθμών χρησιμοποιεί ένα περιορισμένο πλήθος ψηφίων.

Έτσι υπάρχουν αριθμοί που αποθηκεύονται με απόλυτη ακρίβεια και άλλοι με προσέγγιση.

Υπάρχει περίπτωση ένας υπολογισμός με θεωρητικό αποτέλεσμα 7,5 να δώσει ως αποτέλεσμα, λόγω των στρογγυλοποιήσεων που κάνει το excel, έναν αριθμό παραπλήσιο του 7,5, αλλά διαφορετικό.

Η διαφορά τους συνεπώς θα είναι ένας αριθμός κοντά στο μηδέν, αλλά όχι μηδέν.

Για την αντιμετώπιση αυτού του προβλήματος συνήθως χρησιμοποιείται η συνάρτηση ROUND().

Αν οι υπερωρίες υπολογίζονται με ακρίβεια δεκάτου, μπορείς να τις υπολογίζεις με ένα τύπο της μορφής: =IF(F64="";"";ROUND(F64-7,5;1))

Φιλικά/Γιώργος

Τελευταία επεξεργασία από το χρήστη kapetang : 21-04-13 στις 22:50. Αιτία: διόρθωση ορθογραφικού λάθους
Απάντηση με παράθεση
  #3  
Παλιά 21-04-13, 19:27
Όνομα: Θανάσης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 22-02-2012
Μηνύματα: 238
Προεπιλογή

Kαλησπέρα
μήπως με μορφοποίηση της περιοχής σε αριθμό , με δεκαδικά
θανάσης
Απάντηση με παράθεση
  #4  
Παλιά 21-04-13, 23:34
Όνομα: Άκης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 26-01-2013
Μηνύματα: 4
Προεπιλογή

Σας ευχαριστώ όλους για τις απαντήσεις σας.
Δεν υπήρξε άμεση δική μου παρέμβαση γιατί έλειψα για λίγες ώρες, χωρίς εκ παραδρομής να έχω αποσυνδεθεί.
Το πρόβλημα θα έπρεπε να εμφανίζεται σε όλες τις αφαιρέσεις 7,5 - 7,5 άλλων ωραρίων (που δεν εμφανίζεται,) ενώ εμφανίζεται στην αφαίρεση που προέρχεται από ωράριο 10:00 - 17:30.
Δεν αφορά δηλ. θέμα ακρίβειας υπολογισμού αφού σε όλες τις περιπτώσεις το αποτέλεσμα είναι μηδέν (ακριβώς,) όπως βλέπετε στο συνημμένο παράδειγμα και όχι περίπου μηδέν και μάλιστα στα είκοσι δεκαδικά ψηφία.
Είναι εμφανές στο xlsx αν διευρύνουμε τις στήλες πάρα πολύ.
Άκης
Απάντηση με παράθεση
  #5  
Παλιά 22-04-13, 16: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.

Φιλικά/Γιώργος
Απάντηση με παράθεση
  #6  
Παλιά 22-04-13, 17:41
Όνομα: Θανάσης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 22-02-2012
Μηνύματα: 238
Προεπιλογή

Καλησπέρα
Ο Γιώργος έχει δίκιο, με την διαφορά η στρογγυλοποίηση θα γίνει στο τύπο που δημιουργεί τα δεκαδικά δηλ =...(G65-F65+(G65<F65))*24 σε =....round((G65-F65+(G65<F65))*24;1)
Θανάσης
Απάντηση με παράθεση
  #7  
Παλιά 22-04-13, 19:49
Όνομα: Άκης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 26-01-2013
Μηνύματα: 4
Προεπιλογή

Γιώργο, Θανάση, αγαπητοί φίλοι, καλησπέρα
Πολύ αναλυτικές οι απαντήσεις σας και κατατοπιστικές.
Όμως εξακολουθώ και αναρωτιέμαι, γιατί αυτή η "ιδιομορφία" του excel εμφανίζεται μόνο στο συγκεκριμένο υπολογισμό (10:00 - 17:30) και όχι στα υπόλοιπα ωράρια αφενός και αφετέρου, δεν εμφανίζεται στην αρχική διαδικασία υπολογισμών, που γίνονται με απλές πράξεις προσθαφαιρέσεων, (επάνω μέρος του φύλλου row 1;34), αλλά στη δεύτερη περίπτωση (row 44;74) όπου υπάρχουν τα κριτήρια αριθμών ή κενών κελιών. Τι είναι δηλ. αυτό που το "ενοχλεί" και δεν βγαίνουν οι πράξεις ακριβώς με το σωστό αποτέλεσμα. Τι διαφορά έχει το κελί G68 από το αντίστοιχο G28.
Συγχωρέστε με που ξαναρωτάω, αλλά προσπαθώ να το ξεκαθαρίσω.

Ευχαριστώ Άκης
Απάντηση με παράθεση
  #8  
Παλιά 23-04-13, 08:08
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.011
Προεπιλογή

Καλημέρα σε όλους!
Άκη καλωσόρισες στο φόρουμ!

Ο τύπος που χρησιμοποιείται στο G28 είναι: =F28-7,5 (δεν περιβάλλεται από παρενθέσεις)
ενώ ο τύπος στο G68 είναι: =IF(F68="";"";F68-7,5) (περιβάλλεται από παρενθέσεις).
Άρα μιλάμε για διαφορετικές προσεγγίσεις.

Πιο απλά, αν στο G68 χρησιμοποιήσεις: =F68-7,5 το αποτέλεσμα θα είναι το αναμενόμενο
ενώ αν στο G68 χρησιμοποιήσεις: =(F68-7,5) δεν θα πάρεις το στρογγυλοποιημένο από την Excel αποτέλεσμα ( 0 ) αλλά το ακριβές αποτέλεσμα (-1,77636E-15 η -2E-15).
Βλέπουμε λοιπόν ότι η Excel (πολύ σωστά κατά τη γνώμη μου) δεν στρογγυλοποιεί τιμές όταν βρίσκονται μέσα στις παρενθέσεις ενός τύπου.
Αυτό θα μπορούσε να προκαλέσει μεγαλύτερες αποκλίσεις στο τελικό αποτέλεσμα ενός τύπου με ότι συνεπάγεται απ' αυτό.

Με εκτίμηση

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών

Τελευταία επεξεργασία από το χρήστη Tasos : 23-04-13 στις 08:55.
Απάντηση με παράθεση
  #9  
Παλιά 23-04-13, 10:21
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλημέρα

Άκη, από τη φύση τους, τα σφάλματα στρογγυλοποίησης μπορεί να συμβαίνουν για κάποιους συνδυασμούς αριθμών, πράξεων και σειράς εκτέλεσης των πράξεων και για άλλους όχι.

Οι δεκαδικοί αριθμοί που αντιστοιχούν στα ωράρια 10:10-17:30 είναι διαφορετικοί από αυτούς που αντιστοιχούν στα υπόλοιπα, συνεπώς δεν είναι αδικαιολόγητα τα διαφορετικά αποτελέσματα.

Αν αναζητήσεις στο διαδίκτυο τη φράση excel precision , θα βρεις πάρα πολλά στοιχεία που εξηγούν το θέμα με κάθε λεπτομέρεια..

Φιλικά/Γιώργος
Απάντηση με παράθεση
  #10  
Παλιά 28-04-13, 23:22
Όνομα: Άκης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 26-01-2013
Μηνύματα: 4
Προεπιλογή

Καλησπέρα σε όλους
Λόγω απουσίας δεν είχα δυνατότητα να συνδεθώ τις προηγούμενες ημέρες.
Τάσο, Γιώργο σας ευχαριστώ για τις εξειδικευμένες λύσεις σας. Ομολογουμένως δεν τις είχα προσεγγίσει στο παρελθόν και μου παρέχουν σημαντική βοήθεια για την επίλυση και άλλων προβλημάτων, αλλά και την προτροπή για περαιτέρω μελέτη και εμβάθυνση.
Όπως είδατε στο αναφερόμενο φύλλο, υπάρχουν αρκετά διαφορετικά ωράρια εκτός του 10:10 - 17:30, στα οποία δεν έχει προκύψει ζήτημα ακρίβειας αποτελέσματος, ούτε στην περίπτωση φερ' ειπείν υπερωριακής απασχόλησης που περιλαμβάνει αντίστοιχη ώρα 07:30 - 17:30 ή 10:00 - 22:00.
Εν τέλει excel precision εμφανίζεται μόνο στο 10:10 - 17:30 και σε καμία άλλη περίπτωση, αυτό θεωρείτε είναι σύμπτωση, υπάρχει κάποια άλλη εξήγηση;

Φιλικά Άκης
Απάντηση με παράθεση
Απάντηση στο θέμα


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[Γράφημα] ΓΡΑΦΗΜΑ ΕΠΙΚΑΛΥΨΗΣ ΩΡΑΡΙΩΝ GEORGE1 Excel - Ερωτήσεις / Απαντήσεις 5 25-11-17 22:43
[Excel07] διαφορα ωραριων pnemtsa Excel - Ερωτήσεις / Απαντήσεις 6 29-11-16 11:03
Dlookup προβλήματα mikekal1oo Access - Ερωτήσεις / Απαντήσεις 28 14-03-16 12:11
[ Φόρμες ] Υπολογισμοί σε κελιά alexikakos Access - Ερωτήσεις / Απαντήσεις 4 31-10-12 18:58
[ Ερωτήματα ] Υπολογισμοί xristos0718 Access - Ερωτήσεις / Απαντήσεις 4 16-01-12 21:27


Η ώρα είναι 09:32.