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

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

kapetang 23-08-18 07:38

Να είσαι καλά Αλέξανδρε και καλή συνέχεια!

skomat 23-08-18 11:40

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

kapetang 23-08-18 13:10

Καλησπέρα

Αλέξανδρε το δοκίμασα και δουλεύει σωστά.

Πιθανόν να μη έκανες την αποθήκευση του αρχείου σε μορφή*.xlsm, ώστε να υποστηρίζει μακροεντολές.

Ξανακάνε τη διαδικασία και πάτησε στην «αποθήκευση ως» (Save as) στο παράθυρο που θα ανοίξει διάλεξε τύπο: …..xlsm και μετά πάτησε στο αποθήκευση.

Όταν ανοίξεις το αρχείο *.xlsm, αν βγάλει μήνυμα, ενεργοποίησε τις μακροεντολές

skomat 24-08-18 08:49

1 Συνημμένο(α)
Καλημέρα και σε ευχαριστω πολύ. Το αρχειο το εχω γυρισει σε xlsm και είναι ενεργες οι μακρεντολες. Ανεβαζω ένα screen shoot, με το μυνημα που μου εμφανιζει στο δικο σου excel-παράδειγμα!!!

kapetang 24-08-18 09:07

Καλημέρα

Αλέξανδρε βλέπω ότι το κουμπί που έβαλες είναι ActiveX.

Στο συμβάν κλικ του κουμπιού (στον κώδικα της φόρμας) και ανάμεσα στις γραμμές

Private Sub ......... και

End Sub,

βάλε τον κώδικα που ανέβασα, αφού του αφαιρέσεις τις γραμμές: Sub…... και End Sub

skomat 24-08-18 09:37

Και παλι καλημέρα και σε ευχαριστω παρα πολύ, η βλακεια ηταν δικια μου, οκ δουλεψε. Και παλι σε ευχαριστω πολύ!!!

kapetang 24-08-18 09:56

Καλή συνέχεια.

skomat 24-08-18 10:47

Παράθεση:

Αρχική Δημοσίευση από kapetang (Μήνυμα 28108)
Καλή συνέχεια.

Ένα ακομα……. θεματακι, υπαρχει περιπτωση ένα φυλλο excel μεσω vba να το εκτυπώσουμε-αποθηκεύσουμε σαν pdf??? Σε ευχαριστω!!

kapetang 24-08-18 12:04

Αλέξανδρε δεν είναι σωστό, για την οργάνωση του φόρουμ, να μπερδεύουμε τα θέματα.

Θα σε συμβούλευα να δημιουργήσεις νέο θέμα.

Αυτό θα αυξήσει και τις πιθανότητες να πάρεις κάποια λύση.

skomat 24-08-18 15:21

Παράθεση:

Αρχική Δημοσίευση από kapetang (Μήνυμα 28110)
Αλέξανδρε δεν είναι σωστό, για την οργάνωση του φόρουμ, να μπερδεύουμε τα θέματα.

Θα σε συμβούλευα να δημιουργήσεις νέο θέμα.

Αυτό θα αυξήσει και τις πιθανότητες να πάρεις κάποια λύση.

Οκ συγγνώμη έχεις δίκιο, και πάλι σε ευχαριστώ πολύ

spyros_s 26-06-19 12:04

Πως μπορώ δίνοντας μήνα και έτος να μου εμφανίζονται οι εργάσιμες μόνο ημέρες κάθε μήνα, με ένδειξη στο κάθε κελί το όνομα της ημέρας και την ημέρα;

Spirosgr 26-06-19 14:33

Πριν απ' όλα ενημέρωσε το profile σου [Office 2000 (?)],
για να μπορούμε να σου προτείνουμε τις κατάλληλες συναρτήσεις-λύσεις


Η ώρα είναι 03:29.

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


Search Engine Optimization by vBSEO 3.3.2