Forum

Forum (https://www.ms-office.gr/forum/)
-   Excel - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/)
-   -   [Συναρτήσεις] ΜΗΝΕΣ ΣΕ EXCEL (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/4982-mhnes-se-excel.html)

skomat 22-08-18 10:21

ΜΗΝΕΣ ΣΕ EXCEL
 
Καλημέρα ομάδα. Εχω ένα θεματακι, μικρο πιστευω. Σε ένα φυλλο excel εχω στην στηλη Α, την ημερομηνια εγγραφης ενός μελους μας η οποια είναι πχ η 01.04.2018. Στην στηλη Β εχω την ημερομηνια ληξης συνδρομης του συγκεκριμενου ατομου η οποια είναι η 31.12.2018. Όλα καλα μεχρι εδώ, πως μπορω στην στηλη C, να μου βγαζει αυτόματα την διαφορα των μηνων, δηλαδή βαζοντας τις δυο ημερομηνίες στις στηλες A, & B, στην C να μου βγαζει την διαφορα που στο παράδειγμα μας είναι το 9!!!
Σας ευχαριστω πολύ!!

kapetang 22-08-18 13:04

Καλησπέρα

Αλέξανδρε παρατηρώ ότι, αντί να καταχωρείς τις ημερομηνίες κανονικά (πχ 1/4/2018), τις καταχωρείς ως κείμενο (πχ 01.04.2018).

Αυτό δημιουργεί επιπλέον εργασία, επειδή θα πρέπει να μετατρέψουμε τα κείμενα σε κανονικές ημερομηνίες.

Αν υποθέσουμε ότι οι ημερομηνίες (κείμενα) είναι στα κελιά A1 και Β1 οι τύποι μετατροπής θα είναι:

=DATE(RIGHT(A1;4);MID(A1;4;2);LEFT(A1;2)) και

=DATE(RIGHT(B1;4);MID(B1;4;2);LEFT(B1;2)).

Στη συνέχεια μπορούμε να χρησιμοποιήσουμε τη συνάρτηση DATEDIF με ορίσματα τις ημερομηνίες για να πάρουμε το ζητούμενο.

Για να πάρεις στο κελί C1 το ζητούμενο, χρησιμοποίησε τον παρακάτω τύπο:

=DATEDIF(DATE(RIGHT(A1;4);MID(A1;4;2);LEFT(A1;2)); DATE(RIGHT(B1;4);MID(B1;4;2);LEFT(B1;2))+1;"M")

Σημειώνω ότι ο τύπος είναι αρκετά πολύπλοκος επειδή δε φρόντισες να καταχωρείς σωστά τις ημερομηνίες.

Spirosgr 22-08-18 13:12

Καλησπέρα
Αν όλες οι ημερομηνίες έναρξης, είναι πρώτη του μήνα και
όλες οι ημερομηνίες λήξης είναι η τελευταία κάθε μήνα, τότε:
Μπορείς να χρησιμοποιήσεις τη συνάρτηση
=DATEDIF(A1;B1;"m")
που στο προκείμενο, αποδίδει 8, βάζοντας +1 στο τέλος, αλλά...
Αν υπάρχουν ημερομηνίες πχ 14/5/2018 έως 25/11/2018
καλό είναι, να ανεβάσεις ένα δείγμα του βιβλίου σου,
και ορίζοντας με ποιό κανόνα θα προσμετράται ή όχι ένας μήνας, να βρούμε άλλη λύση.

Σημείωση:
Η καταχώρηση ημερομηνιών, γίνεται «κανονικά» (1/1/2018) και
μορφοποίηση σε 01.01.2018

skomat 22-08-18 16:44

Καλησπέρα. Σας ευχαριστω για τις απαντησεις σας και σας διευκρινιζω οτι η μορφή ημερομηνίας είναι 1/4/2018 και από λάθος μου έγραψα 01.04.2018.
Η ημερομηνια εναρξης δεν είναι πάντα η 1 αλλά μπορεί να είναι η 2,3,15,16,28, ανάλογα το πότε έκανε εγγραφή το μέλος μας, ενώ η ημερομηνία λήξης είναι πάντοτε τέλος του χρόνου δηλαδή 31/12/2018!!!!

kapetang 22-08-18 17:41

1 Συνημμένο(α)
Αλέξανδρε στο συνημμένο θα βρεις τους τύπους για τον υπολογισμό ενός χρονικού διαστήματος:

1) Σε μήνες και σε μέρες και

2) Σε έτη, μήνες και μέρες

Οι τύποι ισχύουν για οποιεσδήποτε ημερομηνίες και φυσικά και για ημερομηνία λήξης 31/12/2018.

Σημειώνω επίσης ότι η τελευταία μέρα λαμβάνεται υπόψη (μετράει)

skomat 22-08-18 18:18

Σε ευχαριστώ πολύ για την άμεση απάντηση σου. Θα ήθελα αν είναι εφικτό, δεν με ενδιαφέρουν να μετριούνται οι μέρες και τα έτη, γιατί κάθε Χρόνια αλλάζει, στο παράδειγμα σου αν καταχώρησω σαν ημερομηνία έναρξης την 1/4/2018 Θα δώσει αποτέλεσμα τους 9 μήνες με ημερομηνία λήξης την 31/12/2018. Αν δώσω ημερομηνία έναρξης 2/4/2018 Θα φέρει σαν αποτέλεσμα 8 μήνες και 30 ημέρες. Θα ήθελα στην ημερομηνία έναρξης αν μπει από 1 έως 15 του μήνα να βγάζει αποτέλεσμα το 9 και αν μπει από 16 έως 31 το 8. Με αυτό το φυλο θα υπολογίζουμε το κόστος συνδρομής του μέλους μας. Πιστεύω να έγινα κατανοητός!!!

kapetang 22-08-18 19:05

1 Συνημμένο(α)
Αλέξανδρε, δες το συνημμένο.

skomat 22-08-18 19:27

Οκ σε ευχαριστω πολυ αυτο ακριβως ηθελα. Και παλι σε ευχαριστω πολυ. Κατι αλλο, μηπως υπαρχει καποια μακροεντολη ωστε να φτιαξω ενα κουμπι το οποιο πατώντας το να μου εκτυπώνει μια συγκεκριμένη περιοχή ενός φύλλου? Συγγνώμη για το εκτός θέματος!!

kapetang 22-08-18 20:47

Ο παρακάτω κώδικας, ορίζει μία περιοχή ως PrintArea και την εκτυπώνει.

Κώδικας:

Sub SetPrintArea()

    ActiveSheet.PageSetup.PrintArea = "$A$1:$K$29"    'Να οριστεί  σωστά
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
                                        IgnorePrintAreas:=False

End Sub

Χρησιμοποιεί τις προεπιλεγμένες ρυθμίσεις.

skomat 23-08-18 06:53

Καλημέρα. Σε ευχαριστώ πάρα πολύ, η βοήθεια σου ήταν εξαιρετικά πολύτιμη. Το εφτιαξα ετσι όπως μου ειπες αλλα αντιμετωπίζω ένα...… μικρο προβλημματακι. Εφτιαξα το κουμπι για την εκτυπωση, στην αρχη δεν μυ δουλευε και μου εβγαλε μυνημα ότι θα πρεπει να αποθηκευσω το αρχειο μου, με δυνατοτητα ρλργχου μακροεντολών. Οκ το εκανα, δουλεψε κανονικα, εκτυπωσε την περιοχη του φυλλου που του εδωσα, αλλα εκτυπωσε μοναχα μια φορα, όταν πηγα να του δωσω να εκτυπωση άλλη μια φορα, δεν το εκτυπωνει, το κουμπι είναι ανενεργο, πατιεται μεν αλλα δεν εκτυπωνει, και αυτό είναι το θμετακι μου!!


Η ώρα είναι 00:33.

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


Search Engine Optimization by vBSEO 3.3.2