Forum

Forum (https://www.ms-office.gr/forum/)
-   Excel - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/)
-   -   [Συναρτήσεις] DATEDIF ανά μήνα (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/1643-datedif-ana-mina.html)

shotcon 13-02-12 14:55

DATEDIF ανά μήνα
 
1 Συνημμένο(α)
Προσπάθησα αλλά δεν τα κατάφερα να αφαιρέσω τις ημέρες μεταξύ δύο ημερομηνιών δηλαδή datedif(a2;b2;"d") με τρόπο τέτοιο ώστε σε πίνακα μηνών από 1-12 να μου δώσει τις ημέρες για κάθε μήνα ξεχωριστά. Π.Χ. 30-1-12 έως 30-3-12 Συνολικά 60 ημέρες οι οποίες σε πίνακα μηνών αναλύονται ως υπόλοιπο ημερών: Ιανουάριος 1 ημέρα, Φεβρουάριος 29 ημέρες, Μάρτιος 30 ημέρες.
Δείτε το συνημμένο.

Lefteris 13-02-12 16:42

1 Συνημμένο(α)
Kώστα δοκίμασε αυτά

Στο D2, βάλε αυτόν τον τύπο.

=IF($A2<=D$1;MIN(D$1;$B2)-$A2;0)

Σύρε κατά κάτω.

Στο Ε2, βάλε αυτόν.

=IF($A2<=E$1;MIN(E$1;$B2)-$A2;0)-SUM(D2:$D2)

Σύρε κάτω και δεξιά.

Ελπίζω να βοήθησα.

shotcon 13-02-12 18:26

Παράθεση:

Αρχική Δημοσίευση από LEFTERIS (Μήνυμα 9433)
Kώστα δοκίμασε αυτά

Στο D2, βάλε αυτόν τον τύπο.

=IF($A2<=D$1;MIN(D$1;$B2)-$A2;0)

Σύρε κατά κάτω.

Στο Ε2, βάλε αυτόν.

=IF($A2<=E$1;MIN(E$1;$B2)-$A2;0)-SUM(D2:$D2)

Σύρε κάτω και δεξιά.

Ελπίζω να βοήθησα.

Μα το άδειο μου μυαλό, άμα κολλήσεις. Τόσο απλό. Α1....Α10= Α1:Α1,Α1:Α2,Α1:Α3...Α1:Α10
Το συμπλήρωσα λίγο να μην δίνει λάθη στα κενά κελιά
ΙF($a2="";"";IF($A2<=D$1;MIN(D$1;$B2)-$A2;0)


IF($a2="";"";IF($A2<=E$1;MIN(E$1;$B2)-$A2;0)-SUM(D2:$D2)

Είχα κολλήσει με το month όπως κάτω και δεν μου έβγαινε. Δεν είχα σκεφτεί καθόλου το ΜΙΝ
IF(F2="";"";IF(MONTH($D2)=2;J$1-$D2;IF(MONTH($E2)=2;J$1-$E2;"")))

Να είσαι καλά σε ευχαριστώ με ξεστράβωσες.

shotcon 13-02-12 18:53

Υπάρχει και άλλο θέμα το οποίο μόλις είδα:

Μεταξύ δύο ίδιων ημερομηνιών δεν πρέπει να μας δώσει αποτέλεσμα 0 αλλά 1 και να το αποδόσει στον ανάλογο μήνα.

Lefteris 13-02-12 19:03

Τώρα, ομολογώ πως με μπέρδεψες...!

Ας πούμε 12/12/12---12/12/12...

Τι πρέπει να δείχνουν οι προηγούμενοι μήνες και τι ο Δεκάμβρης;;;;;;;;;;;;;;

shotcon 13-02-12 20:31

1 Συνημμένο(α)
Παράθεση:

Αρχική Δημοσίευση από LEFTERIS (Μήνυμα 9443)
Τώρα, ομολογώ πως με μπέρδεψες...!

Ας πούμε 12/12/12---12/12/12...

Τι πρέπει να δείχνουν οι προηγούμενοι μήνες και τι ο Δεκάμβρης;;;;;;;;;;;;;;

Για να μην σπάσω "καρύδια"
Βρήκα έμμεση λύση.

=IF(G2=T2;T2;1)

Δες Επισύναψη.

Lefteris 13-02-12 20:57

Παράθεση:

....Για να μην σπάσω "καρύδια"
Βρήκα έμμεση λύση.....
Χαίρομαι με την λογική σου. Συγχαρητήρια Φίλε!! Σπάνια το συναντώ αυτό!!

Για αυτό και μόνο, μπορώ να προσπαθήσω πάρα πολύ να σου δώσω το αποτέλεσμα πού ζητάς, αν η λύση που βρήκες δεν σε καλύπτει!!
Σε ευχαριστώ πολύ επίσης για τα καλά σου λόγια.

Spirosgr 13-02-12 22:08

1 Συνημμένο(α)
Καλησπέρα παιδιά
Κώστα δες την τελευταία μπλε σειρά αν σε καλύπτει η λύση αυτή

shotcon 13-02-12 22:52

1 Συνημμένο(α)
Παράθεση:

Αρχική Δημοσίευση από spirosgr (Μήνυμα 9452)
Καλησπέρα παιδιά
Κώστα δες την τελευταία μπλε σειρά αν σε καλύπτει η λύση αυτή

Το χαλάει στον 3,4,7,8,11 μήνα. δοκίμασα στο ίδιο κελί και έδωσα σταδιακά ημερομηνίες ίδιες. Δλδ.
15-1 εως 15-1, 15-2 εως 15-2 μέχρι 15-12. Δουλεύει άψογα (στο δικό μου μηχανάκι) μέχρι τον 3 μήνα μετά σταδιακά χαλάει.
Πάντως λίγο που προσπάθησα να καταλάβω την σκέψη σου δεν είμαι σίγουρος ότι αντιλήφθηκα το περιεχόμενο. Θα το δω αύριο. Δεν έχω άλλο κουράγιο.

Δες και την δική μου εκδοχή την απλή φυσικά. :coffee2:

Καλό βράδυ. Σε ευχαριστώ θερμότατα για τον χρόνο που αφιέρωσες. Οφείλω χάρη.

gr8styl 14-02-12 01:28

Κώστα ας μου επιτραπούν 2 παρατηρήσεις

1) πρέπει να αποφασίσεις τι μας κάνει 1 το 30/1/2012 - 31/1/2012 ή το 30/1/2012 - 30/1/2012
Παράθεση:

Αρχική Δημοσίευση από shotcon (Μήνυμα 9429)
...Π.Χ. 30-1-12 έως 30-3-12 Συνολικά 60 ημέρες οι οποίες σε πίνακα μηνών αναλύονται ως υπόλοιπο ημερών: Ιανουάριος 1 ημέρα, Φεβρουάριος 29 ημέρες, Μάρτιος 30 ημέρες....

Παράθεση:

Αρχική Δημοσίευση από shotcon (Μήνυμα 9442)
...Μεταξύ δύο ίδιων ημερομηνιών δεν πρέπει να μας δώσει αποτέλεσμα 0 αλλά 1 και να το αποδόσει στον ανάλογο μήνα.

2) ο τύπος σου =IF($D2="";"";IF(D2<=I$1;MIN(I$1;$E2)-$D2;"")) θα δουλέψει καλύτερα αν γίνει =IF($D2="";"";IF(D2<=I$1;MIN(I$1;$E2)-$D2;0))

Νομίζω ότι η αρχική πρόταση του Λευτέρη ήταν σωστή αρκεί να προσθέσεις +1 για να μετράει σαν 1 την ίδια ημερομηνία( ο τύπος δεν χρρειάζεται να είναι διαφορετικός στην D σε σχέση με τις E,F, G.....
Αν υποθέσουμε ότι η στήλη Α είναι η έναρξη, η στήλη Β είναι η λήξη,
Αφήνουμε κενή την C και στο D2 βάζουμε
=IF($A2<=D$1;MIN(D$1;$B2)-$A2;0)-SUM($C2:C2)
ή
=IF($A2<=D$1;MIN(D$1;$B2)-$A2+1;0)-SUM($C2:C2)

Ελπίζω να βοήθησα.
Θανάσης


Η ώρα είναι 08:47.

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


Search Engine Optimization by vBSEO 3.3.2