Forum

Forum (https://www.ms-office.gr/forum/)
-   Excel - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/)
-   -   [Συναρτήσεις] SUM με συνθήκες (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/6611-sum-me-synthikes.html)

dnteves 31-01-25 12:23

SUM με συνθήκες
 
Καλημέρα στην ομάδα ξανά.
Δουλεύοντας σε ένα excel με βάρδιες προσπαθώ να κάνω το παρακάτω:

Έστω C10:AG10 Ημέρες τις εβδομάδας και C23:AG23 ώρες εργασίας ανά ημέρα.
Χρειάζομαι στο κελί AL23 να υπολογίζει:
Το άθροισμα των ορών στο σύνολο τους με την προϋπόθεση να είναι Κυριακή και μικρότερη του 8 (ανά ημέρα)
Το υπόλοιπο των ωρών μεγαλύτερο του 8 δηλαδή ανά ημέρα να τα αθροίζει στο κελί ΑΜ23

Λογικά χρειάζεται 1 συνάρτηση στο AL23 και μια άλλη στο ΑΜ23.

Αναμένω τα φώτα σας!

Σας ευχαριστώ!!!!:001_wub:

ChrisGT7 31-01-25 13:45

Καλησπέρα Δημήτρη,

Σε καλοσορίζω κι εγώ με τη σειρά μου στο forum μας!

Στο AL23 δοκίμασε:
Κώδικας:

=SUMPRODUCT(--(WEEKDAY(C10:AG10)=1);--(C23:AG23<8);C23:AG23)
ενώ στο ΑΜ23:
Κώδικας:

=SUMPRODUCT(--(C23:AG23>8);C23:AG23-8)

dnteves 31-01-25 14:16

Παράθεση:

Αρχική Δημοσίευση από ChrisGT7 (Μήνυμα 36308)
Καλησπέρα Δημήτρη,

Σε καλοσορίζω κι εγώ με τη σειρά μου στο forum μας!

Στο AL23 δοκίμασε:
Κώδικας:

=SUMPRODUCT(--(WEEKDAY(C10:AG10)=1);--(C23:AG23<8);C23:AG23)
ενώ στο ΑΜ23:
Κώδικας:

=SUMPRODUCT(--(C23:AG23>8);C23:AG23-8)

Καλησπέρα,
Δεν θα πρέπει να αναγνωρίζει η Weekday ποια είναι η ημέρα της εβδομάδας?
Στο AL23 μου βγάζει ως αποτέλεσμα #ΤΙΜΗ! θα έπρεπε να μου βγάζει 16
Ενώ στο ΑΜ23 στην παρούσα φάση θα έπρεπε να βγάζει 0 και μου βγάζει #ΤΙΜΗ!

Σε ευχαριστώ για τον χρόνο σου, και αναμένω αν έχεις κάποια άλλη ιδέα!:018:
ΥΓ. ξέχασα να αναφέρω οτι τα κελία C10:AG10 είναι σε μορφοποιήση ώρας!

ChrisGT7 31-01-25 14:46

Ο πρώτος τύπος ελέγχει αν η ημέρα στο εύρος C10:AG10 είναι Κυριακή (ίσον 1). Αν είναι, τότε ελέγχει αν οι ώρες στο αντίστοιχο κελί του εύρους C23:AG23 είναι λιγότερες από 8. Αν ισχύει κι αυτό, τότε τις προσθέτει. Μήπως θέλεις τη διαφορά των ωρών σε περίπτωση που ήταν 8; Π.χ. αν κάποιος δούλεψε 6 ώρες, να προσθέτει 8-6=2;

Ο δεύτερος τύπος ελέγχει αν οι ώρες στο C23:AG23 είναι περισσότερες από 8 και προσθέτει τη διαφορά. Μήπως υπάρχει κάποιο κείμενο στο εύρος και εμφανίζεται σφάλμα;

Δοκίμασε και τους αντίστοιχους παρακάτω τύπους ως εναλλακτική:
Κώδικας:

=SUM(--(WEEKDAY(C10:AG10)=1)*(C23:AG23<8)*C23:AG23)
=SUM(--(C23:AG23>8)*(C23:AG23-8))

Επειδή είναι τύποι-πίνακα, θα πρέπει να πατήσεις Ctrl+Shift+Enter και όχι απλά Enter (θα εμφανιστούν αγκύλες {} στην αρχή και στο τέλος τους).

dnteves 31-01-25 14:51

Παράθεση:

Αρχική Δημοσίευση από ChrisGT7 (Μήνυμα 36310)
Ο πρώτος τύπος ελέγχει αν η ημέρα στο εύρος C10:AG10 είναι Κυριακή (ίσον 1). Αν είναι, τότε ελέγχει αν οι ώρες στο αντίστοιχο κελί του εύρους C23:AG23 είναι λιγότερες από 8. Αν ισχύει κι αυτό, τότε τις προσθέτει. Μήπως θέλεις τη διαφορά των ωρών σε περίπτωση που ήταν 8; Π.χ. αν κάποιος δούλεψε 6 ώρες, να προσθέτει 8-6=2;

Ο δεύτερος τύπος ελέγχει αν οι ώρες στο C23:AG23 είναι περισσότερες από 8 και προσθέτει τη διαφορά. Μήπως υπάρχει κάποιο κείμενο στο εύρος και εμφανίζεται σφάλμα;

Σωστά! Υπάρχει κείμενο στο εύρος που απεικονίζεται με "Ρ" ρεπό, "ΑΔ" άδεια, "ΑΣ" ασθένεια.
Επιπλέον πρέπει να γνωρίζεις ότι οι ημέρες τις εβδομάδας είναι με το χέρι, Δηλαδή η Κυριακή είναι "Κυρ" κοκ.

Σε ευχαριστώ για τον χρόνο σου!!

ChrisGT7 31-01-25 14:59

Αν οι ημέρες είναι καταχωρημένες στο C10:AG10 ως κείμενο (π.χ. Δευ, Τρι.....Κυρ), τότε θα πρέπει να τροποποιήσεις τον τύπο με τη WEEKDAY() ως εξής:
Κώδικας:

=SUMPRODUCT(--(C10:AG10="Κυρ");--(C23:AG23<8);C23:AG23)
ή
=SUM(--(C10:AG10="Κυρ")*(C23:AG23<8)*C23:AG23)

Να είσαι πάντα καλά!

dnteves 03-02-25 08:31

Παράθεση:

Αρχική Δημοσίευση από ChrisGT7 (Μήνυμα 36312)
Αν οι ημέρες είναι καταχωρημένες στο C10:AG10 ως κείμενο (π.χ. Δευ, Τρι.....Κυρ), τότε θα πρέπει να τροποποιήσεις τον τύπο με τη WEEKDAY() ως εξής:
Κώδικας:

=SUMPRODUCT(--(C10:AG10="Κυρ");--(C23:AG23<8);C23:AG23)
ή
=SUM(--(C10:AG10="Κυρ")*(C23:AG23<8)*C23:AG23)

Να είσαι πάντα καλά!

Καλημέρα, καλή εβδομάδα και καλό μήνα.
Αυτή δουλεύει κατά κάποιο τρόπο όμως προσθέτει το σύνολο των Ωρών των Κυριακών του μήνα και όχι μέχρι 8 ώρες. (AL23)
[code]
=SUMPRODUCT(--(C10:AG10="Κυρ");--(C23:AG23<8);C23:AG23)

Τώρα για το ΑΜ23 δεν έχεις κάποια πρόταση?

Σε ευχαριστώ για τον χρόνο σου!!!

ChrisGT7 03-02-25 09:08

Καλημέρα και καλό μήνα Δημήτρη,

Θα σου είναι εύκολο να μου εξηγήσεις πάλι τι σύνολο θέλεις να έχεις στο AL23 και τι στο AM23;

Μήπως χρειαστεί να επανεξετάσω τη λογική των παραπάνω τύπων.

dnteves 03-02-25 11:12

Παράθεση:

Αρχική Δημοσίευση από ChrisGT7 (Μήνυμα 36316)
Καλημέρα και καλό μήνα Δημήτρη,

Θα σου είναι εύκολο να μου εξηγήσεις πάλι τι σύνολο θέλεις να έχεις στο AL23 και τι στο AM23;

Μήπως χρειαστεί να επανεξετάσω τη λογική των παραπάνω τύπων.

Φυσικά!
Α) Χρειάζομαι στο AL23 Να μετράει τις ώρες εργασίας μόνο για τις Κυριακές και έως 8 ώρες πεδίο C23:AG23, Κυριακές "Κυρ" από το πεδίο C9:AG9. Αν είναι 8 ή λιγότερες να τις μετράει, αν είναι 8 ή περισσότερες να μετράει 8! Ουσιαστικά το υπόλοιπο ωρών πέρα του 8ώρου αν αυτό υπάρχει να το βάζει στο κελί ΑΜ23.

Β) Στο ΑΜ23 να αποδίδει από το C23:AG23 και αν πάντα είναι Κυριακή "Κυρ" πεδίο C9:AG9 το σύνολο των ωρών πού είναι πάνω από το 8ωρο!

Να υπενθυμίσω οτι:
1) τα κελία C9:AG9 είναι με το χέρι οι ημέρες.
2) τα κελία C23:AG23 είναι ώρες σε μορφοποίηση [ωω]
3) τα κελία C23:AG23 περιέχουν και χαρακτήρες, συγκεκριμένα τους "Ρ", "ΑΣ", "ΑΔ"

Ελπίζω να έγινα κατανοητός!
Σε ευχαριστώ για την βοήθεια!!!!:047:

ChrisGT7 03-02-25 12:10

1 Συνημμένο(α)
Νομίζω τώρα είναι πιο κατανοητό.

Δες το συνημμένο αρχείο αν σε καλύπτει κι αν πέτυχα το ζητούμενο.

Πατώντας το F9 αλλάζουν οι ώρες και αντίστοιχα τα σύνολα. Έχω βάλει τυχαίες ώρες ώστε να αλλάζουν τα σύνολα στα AL23 και AM23.

Οι τύποι στα δύο κελιά είναι μορφής πίνακα, οπότε πρέπει να πατηθεί Ctrl+Shift+Enter για να λειτουργήσουν σωστά.


Η ώρα είναι 10:54.

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


Search Engine Optimization by vBSEO 3.3.2