Forum

Forum (https://www.ms-office.gr/forum/)
-   Excel - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/)
-   -   [Συναρτήσεις] Πρόβλημα με συνάρτηση (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/5238-problima-me-synartisi.html)

manolis 10-05-19 17:28

Πρόβλημα με συνάρτηση
 
1 Συνημμένο(α)
Καλησπέρα σε όλη την παρέα.


Μια απλή συνάρτηση με IF με παιδεύει απο το πρωί.

Η ίδια συνάρτηση σε διπλανές στήλες συπεριφέρεται διαφορετικά.


Αναλυτικά περιγράφω το πρόβλημα μου στο συνημμένο


Ευχαριστώ

Spirosgr 10-05-19 22:13

Βάζουμε στο d4:
Κώδικας:

=IF(AND($B4<>"";$C4<>"");IF(WEEKDAY($B4;2)=6;$C4;"");"")
και πάμε κάτω.

Βάζουμε στο e4:
Κώδικας:

=IF(AND($B4<>"";$C4<>"");IF(WEEKDAY($B4;2)=7;$C4;"");"")
και πάμε κάτω.

ή
Βάζουμε μόνο στο d4:
Κώδικας:

=IF(AND($B9<>"";$C9<>"");IF(WEEKDAY($B9;2)=COLUMN()+2;$C9;"");"")
και πάμε δεξιά και κάτω.

manolis 11-05-19 09:26

Καλημέρα σε όλη την παρέα.

Σπύρο σε ευχαριστώ για την απάντηση σου. Το πρόβλημα λύθηκε.

Βέβαια η απορία μου μένει γιατί συμβαίνει αυτό .
Δηλαδή η διαφορετική συμπεριφορά των συναρτήσεων στις στήλες.

Αν θέλεις εσύ ή κάποιος άλλος φίλος να μας το εξηγήσει ( για εκπαιδευτικούς κυρίως λόγους )



Με εκτίμηση

kapetang 12-05-19 09:13

Καλημέρα

Μανώλη στη συνάρτηση Weekday(b4;2) το πρώτο όρισμα είναι ημερομηνία.

Ουσιαστικά αριθμός, αφού το Excel διαχειρίζεται τις ημερομηνίες ως αριθμούς.

Αν το b4 είναι κενό ή 0 η συνάρτηση επιστρέφει 6 (Σάββατο). Έτσι:

1) Στη στήλη ΣΑΒΒΑΤΟ στον τύπο: = IF(WEEKDAY(B4;2)=6;C4;"") η παράσταση WEEKDAY(B4;2)=6 είναι αληθής (TRUE) και επιστρέφεται C4

2) Στη στήλη ΚΥΡΙΑΚΗ στον τύπο: = IF(WEEKDAY(B4;2)=7;C4;"") η παράσταση WEEKDAY(B4;2)=7 είναι ψευδής (FALSE) και επιστρέφεται “” (κενό).

Με την ευκαιρία, πέρα από τους τύπους του Σπύρου, θα πρότεινα τους:

=IF((B4<>"")*(C4<>"")*(WEEKDAY(B4;2)=6);C4;"")

=IF((B4<>"")*(C4<>"")*(WEEKDAY(B4;2)=7);C4;"")

manolis 12-05-19 09:57

1 Συνημμένο(α)
Καλημέρα σε όλη την παρέα.

Γιώργο ευχαριστώ για την απάντηση.
Αλλα μάλλον κάτι δεν έχω πιάσει σωστά και δεν μπορώ να το καταλάβω.

Εχω γράψει την συνάρτηση = IF(WEEKDAY(B4;2)=6;C4;"")
δηλαδή αν η WEEKDAY στο Β4 είναι 6 να μου φέρει την τιμή που έχει στο C4 αλλιως να φέρει ΚΕΝΟ.
Εφόσον το Β4 είναι κενό γιατί μου φέρνει την τιμή του C4 ?

Επίσης έκανα το ίδιο σε όλες τις ημέρες της εβδομάδας . Καί μόνο στο Σάββατο δημιουργείται αυτό το θέμα οι υπόλοιπες ημέρες παίζουν σωστά.

Δες το συνημμένο


Ευχαριστώ

Spirosgr 12-05-19 10:25

Η απορία του Μάνου, έχει να κάνει με το γιατί η συνάρτηση, εμφανίζει σε γειτονικές στήλες
διαφορετικό αποτέλεσμα, μηδέν ή κενό, εφ' όσον είναι «ίδιες»...
Το ίδιες είναι σχετικό, και έχει να κάνει με το αποτέλεσμα,
σε σχέση με τις παραμέτρους.
Αν βάλετε αντί 2 = Δευτέρα, το default 1 = Κυριακή (USA)
θα αντιστραφεί το «σφάλμα» των στηλών...

Κάντε δοκιμές, να το δείτε.

Από 'κει και μετά,
δείτε και με τις άλλες επιλογές τα αποτελέσματα
και θα διαπιστώσετε το τι γίνεται...

kapetang 12-05-19 12:42

Μάνο Γράφεις:

«Εχω γράψει την συνάρτηση = IF(WEEKDAY(B4;2)=6;C4;"")
δηλαδή αν η WEEKDAY στο Β4 είναι 6 να μου φέρει την τιμή που έχει στο C4 αλλιως να φέρει ΚΕΝΟ.
Εφόσον το Β4 είναι κενό γιατί μου φέρνει την τιμή του C4 ?»

Σου εξήγησα ότι αν το b4 είναι κενό το Excel θεωρεί ότι έχει τιμή 0 (μηδέν).

Αν σε ένα κελί γράψεις: = WEEKDAY(0;2), θα πάρεις ως αποτέλεσμα 6 (Σάββατο).

Επίσεις αν γράψεις =WEEKDAY(B4;2) και το Β4 είναι κενό θα πάρεις 6 (Σάββατο)

Όταν συνεπώς το b4 είναι κενό, για το Σάββατο, πάντα αληθεύει WEEKDAY(B4;2)=6 και συνεπώς επιστρέφεται η τιμή του C4.


Προσθήκη:

Στον τύπο: IF(WEEKDAY(B4;2)=6;C4;""), δε συγκρίνουμε την τιμή του b4 με το 6, αλλά αυτό που επιστρέφει η συνάρτηση WEEKDAY(B4;2).

Η συνάρτηση WEEKDAY(B4;2), όταν το b4 είναι κενό επιστρέφει 6.

Spirosgr 12-05-19 13:51

1 Συνημμένο(α)
Δείτε κάποια πράγματα στο αρχείο.


Η ώρα είναι 15:55.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2