Μετάβαση στο περιεχόμενο
Newsletter: Ημερήσια τεχνική ενημέρωση από το Michanikos.gr ×

apostolos55

Members
  • Περιεχόμενα

    72
  • Εντάχθηκε

  • Τελευταία επίσκεψη

  • Days Won

    5

Everything posted by apostolos55

  1. Καλημέρα Αν δεν υπάρχουν ανεπίστροφες βαλβίδες πριν την ένωση του κρύου τοτέ... μπάχαλο. Το 50-50 είναι ιδανικό αν οι πιέσεις και το δίκτυο είναι ίδιο, αλλιώς ούτε αυτό είναι σίγουρο... (αλλά λογικά κάπου εκεί κοντά θα είναι). Και τότε προλαμβάνεις μόνο το να μοιράζεσαι το κρύο μέσω της ένωσης... Για το ζεστό δε μου έρχεται κάτι... Και με το ρεύμα όταν δε θα φτάνει ο ήλιος ποιος θα πληρώνει? Γενικά δε μου φαίνεται και καλή ιδέα. Αν δεν πρόκειται για κολλητούς να τα μοιράζουν μισά μισά... θέλει: 2 ανεπίστροφες στο κρύο 2 μετρητές στο ζεστό (έξοδο), έναν προς κάθε διαμέρισμα 2 μετρητές κατανάλωσης για το ρεύμα και πάλι κανείς δεν θα ξέρει αν ανάβει ο 1ος και το τραβάει/καταναλώνει ο 2ος και νομίζει ότι είχε ήλιο LOL... αυτά
  2. apostolos55

    Νόμος 4495/2017

    Ευχαριστώ, να'σαι καλά!
  3. καλησπέρα φίλε Bernidakis και προς όλους τους φίλους στο Michanikos.gr, απλά σας ενημερώνω ότι το εργαλείο δούλεψε πολύ καιρό άψογα, πλέον όμως και το ΙΚΑ έχει ακολουθήσει τις εξελίξεις και ο προσωπικός μου χρόνος δεν μου επιτρέπει να ασχοληθώ με ενημερώσεις κλπ. Μπορεί να έχουν αλλάξει οι προδιαγραφές του ΙΚΑ για τα αποστελλόμενα αρχεία. Δεν γνωρίζω και δεν μπορώ να ασχοληθώ. Ο κώδικας υπάρχει και είναι ανοικτός αν κάποιος άλλος επιθυμεί να ασχοληθεί. χαιρετώ Απόστολος
  4. καλησπέρα και ο τύπος υπολογισμού στο Excel με εισόδημα στο Κ11 είναι: =IF(K11<=12000;11%*K11;1320+(K11-12000)*33%) (μπορεί να θέλει , αντί για ; σε εσάς). Με τις υγείες μας...
  5. Fast-Track = Καταπάτηση της δημοκρατίας και της Ισότητας! τέλος!!! Τι πάει να πει fast-track? γιατί να παρακάμπτονται όλοι οι μηχανισμοί ελέγχου που ισχύουν για τους υπόλοιπους? Αντί να οργανώσουν τις υπηρεσίες για όλους, να μειωθεί και η γραφειοκρατεία, τις παρακάμπτουν! Ας κινηθούν λίγο σωστά και θα δουν αν χρειάζεται βοήθεια η αγορά. Άρση των εμποδίων του δημοσίου χρειάζεται, και μια σταθερότητα πολιτική-οικονομική. Αυτά για την ώρα. ΥΓ: σε μελέτη παλαιότερα είχα να κάνω με 3 αρχαιολογικές υπηρεσίες ταυτόχρονα, και τελικά η πιο άσχετη και χωρίς να εμπίπτει το έργο σε προστατευόμενη περιοχή ζήτησε πλήρες αντίγραφο (και ενημερώσεις) των αρχιτεκτονικών!!! τι να λέμε...
  6. Καλησπέρα για ξεκλείδωτα sites (να μην χρειάζεται κωδικούς και login) δουλεύεις με web-queries. Υπάρχουν άπειρα παραδείγματα-tutorials με λίγο ψάξιμο Όταν απαιτείται login κλπ τότε τα web-queries δε δουλεύουν (τουλάχιστον όχι πάντα) οπότε είναι κομματάκι δύσκολο. Μια "καλή" βοήθεια έχουν εδώ αλλά αν είσαι αρχάριος ίσως δυσκολευτείς. με μια επιπλέον στήλη μπορείς να δουλέψεις ως εξής: αρ. τιμές στη στήλη Α από Α2 ως Α43 διάφορα σε στείλες ως και C στήλη D στο D2 = IF(COUNTIF($A$2:$A$43;A2)>1;ROW();9999) τραβάς τον τύπο κάτω μέχρι το D43 στο D45 = COUNTIF(D2:D43;"<9999") στο Ε2 = IF(ROW()-1>$D$45;"";SMALL($D$2:$D$43;ROW()-1)) τραβάς μέχρι E40. Βάφεις έχρωμο το E41 να ξέρεις που τελειώνει ο τύπος... κρύβεις στήλη D τελείωσες. Δώσ'του λίγο να το εμπεδώσεις και προσάρμοσέ το στα δεδομένα σου Χαιρετώ
  7. μια πιο πασπαρτου λύση, μόνο μην μου ζητήσετε να την εξηγήσω... 1ο βήμα: στο Κελί Α2 βάζουμε το κείμενο "ααα βββ γγγ δδδ" (στο Α1 έχουμε τίτλο!) 2ο βήμα: στο κελί Β2 γράφουμε: =TRANSPOSE(MID($A2;SMALL(IF(MID(" "&$A2&" ";ROW($1:$40);1)=" ";ROW($1:$40);999);ROW($1:$10));SMALL(IF(MID(" "&$A2&" ";ROW($1:$40);1)=" ";ROW($1:$40);999);ROW($1:$10)+1)-SMALL(IF(MID(" "&$A2&" ";ROW($1:$40);1)=" ";ROW($1:$40);999);ROW($1:$10)))) και πατάμε ctrl+shift+enter (εισαγωγή ως matrix) 3ο βήμα: Μαρκάρουμε τα κελία Β2 ως Κ2 / πατάμε F2 / ctrl+shift+enter (επεκτείνουμε το matrix σε 10 κελιά σύνολο για αντίστοιχα αποτελέσματα) 4ο βήμα: Τραβάμε τα κελιά Β2-Κ2 όσο κάτω χρειάζεται... δυο λόγια: 1) το $1:$40 εξαρτάται από το μήκος του αλφαριθμητικού που έχουμε στο Α2. Μπορούμε να το κάνουμε $1:$200 ή όσο θέλουμε ώστε να καλυπτόμαστε πάντα, με αντίστοιχη επιβάρυνση σε υπολογισμούς-χρόνο εκτέλλεσης. ΑΛΛΑΓΕΣ σε ΟΛΑ τα $1:$40 και όχι μόνο στο 1ο, εφαρμογή με ctrl+shift+enter 2) Το $1:$10 προσδιορίζει τον αριθμό των αποτελεσμάτων, στο παράδειγμα είναι 10. Για λιγότερα πάμε στο 2ο βήμα και επιλέγουμε λιγότερα κελιά, διορθώνοντας παντού το $1:$10 σε πχ $1:$7 -->Β2-Η2, εφαρμογή με ctrl+shift+enter !!τα matrix δεν μικραίνουν μετά τον ορισμό τους, μόνο μεγαλώνουν!! Για Περισσότερα διορθώνουμε το $1:$10 σε πχ: $1:$12 παντού / ctrl+shift+enter και μετά επιλέγουμε Β2-Μ2 / F2 / ctrl+shift+enter (στο 3ο ή βήμα 4ο βήμα) η συνάρτηση ως κώδικας: >=TRANSPOSE(MID($A2;SMALL(IF(MID(" "&$A2&" ";ROW($1:$40);1)=" ";ROW($1:$40);999);ROW($1:$10));SMALL(IF(MID(" "&$A2&" ";ROW($1:$40);1)=" ";ROW($1:$40);999);ROW($1:$10)+1)-SMALL(IF(MID(" "&$A2&" ";ROW($1:$40);1)=" ";ROW($1:$40);999);ROW($1:$10)))) Καλύ τύχη! Τιπ! αν ο κώδικας matrix μπει επιτυχώς τότε στο κελί θα βλέπετε τη formula εντός {} πχ: αντι για =Α1 θα έχουμε {=Α1} κλπ
  8. Καλημέρα σας, και καλό μήνα! Θα αναφερθώ με την αγγλική ορολογία καθώς έτσι ανατρέχουμε ευκολότερα σε σχετική βοήθεια... Προφανώς μιλάτε για Data Validation, το οποίο έχει αναπτυχθεί εκτενώς και στο παρόν forum παλιότερα εδώ, με τις κατάλληλες παραπομπές και αρχειάκι demo. Επαναλαμβάνω ότι ένα ψάξιμο μας γλυτωνει από πολύ κόπο... Να αναφέρω επίσης ότι στο Excel DataValidation με εικόνες ή οριζοντίως (αντί του κατακορύφου) δεν γίνεται με "αυτόματο" τρόπο χωρίς χρήση πολύ προχωρημένης VBA, κάτι τέτοιο όμως δεν προτείνεται για αρχάριους χρήστες κατ'ουδένα τρόπο! Δεν ξέρω για Excel 2013 (ή 365) τι ισχύει... Χαίρετε
  9. μόλις έμαθα ότι η TimeValue υπάρχει και στη VBA!!!! οπότε ο παραπάνω κώδικας αλλάζει σε: > ' Time from String TimeFromAny = TimeValue(TimeOrHours) τώρα καλύπτονται και κάποιες περιπτώσεις 10:00:01 am/pm ή πμ/μμ δηλαδή οι ώρες σε 12ωρη βάση, ενώ η προηγούμενη εφαρμογή ήθελε 24ωρη βάση. χαιρετώ
  10. Καλημέρα Πρόσφατα μου προέκυψε χειρισμός χρόνου σε VBA ... Και όταν άρχισα να βγάζω άκρη, θυμήθηκα μια αρχή του προγραμματισμού, τα λεγόμενα Black-Boxes, δηλαδή να ξέρεις τι βάζεις και τι παίρνεις... πάντα. Σε συνδυασμό με την απαίτηση να μην ψάχνω κάθε φορά αν το κελί έχει χρόνο ή κείμενο, ή αν θέλω να προσθέσω μερικά λεπτά με τι διαιρώ κλπ, προέκυψε η Function TimeFromAny([TimeOrHours],[myMins],[mySecs]) As Variant, όπως φαίνεται όλα είναι Optional. Παραθέτω κώδικα και μετά Παραδείγματα: > ' Time from Any value ' Use Application.WorksheetFunction.IsText to check for text ' The proper way to work with time, since time is Variant! ' ' Creator Apostolos Goulandris - Jan 2013 Function TimeFromAny(Optional TimeOrHours = 0, Optional myMins As Integer = 0, Optional mySecs As Integer = 0) As Variant Dim a1 As Integer, a2 As Integer, thisTime As Long If Application.WorksheetFunction.IsText(TimeOrHours) Then ' Time from String a1 = InStr(TimeOrHours, ":"): a2 = InStr(a1 + 1, TimeOrHours, ":") thisTime = Left(TimeOrHours, a1 - 1) * 3600 + Mid(TimeOrHours, a1 + 1, a2 - a1 - 1) * 60 + Mid(TimeOrHours, a2 + 1) TimeFromAny = Round(thisTime / 86400, 6) ElseIf myMins > 0 Or mySecs > 0 Then ' Time from Values thisTime = TimeOrHours * 3600 + myMins * 60 + mySecs TimeFromAny = Round(thisTime / 86400, 6) Else ' Time from Time TimeFromAny = TimeOrHours End If End Function Παραδείγματα: με κείμενο: TimeFromAny("02:30:20") με τιμές: TimeFromAny(2,30,20) με άλλο χρόνο TimeFromAny(time) στο Excel με κείμενο =TimeFromAny(A1) για πρόσθεση 29' στην τρέχουσα ώρα myTime+TimeFromAny(myMins:=29) για πρόσθεση 1ώρας και 55'' στην τρέχουσα ώρα myTime+TimeFromAny(mySecs:=55,TimeOrHours:=1) ή το ίδιο γραμμένο αλλιώς myTime+TimeFromAny(1,,55) κλπ Μην ξεχνάτε ότι το excel και η VBA χειρίζονται το χρόνο σαν Variant (και περιέχει μέρες και χρόνο). Η timeFromAny παράγει το τμήμα του χρόνου μόνο (το δεκαδικό μέρος δηλαδή). Για προβολή της ώρας σε κατανοητή μορφή, χρησιμοποιείστε την Format, πχ format(TimeFromAny(...),"hh:mm:ss") ή προβάλετε σε φορμαρισμένο κελί (ως time) Μερική αντιστοιχία με την TimeFromAny για Excel μόνο μπορεί να παραχθεί με =IfError(TimeValue(A1);A1) οπότε αν δεν τα καταφέρει με την TimeValue, παίρνει την τιμή.. φυσικά προσθήκη λεπτών ωρών κλπ είναι άλλη ιστορία keep programming mates
  11. Σχετικά μe παλιότερα posts και την EvalMath του Gousgouni gvarth, βρήκα την Evaluate() στο Excel Κρυμμένη από το Excel, αλλά υπαρκτή στο RefersTo στα Named Ranges... κουφάθηκα όταν το είδα και διαπίστωσα ότι δουλεύει... λεπτομέρειες και εδώ.
  12. apostolos55

    Math Evaluation

    Επανέρχομαι με κάτι πολύ παλιό, πολύ κρυμένο... Δεν υπάρχει λόγος να χρησιμοποιούμαι VBA για evaluate! Γίνεται με συνάρτηση του Excel κρυμμένη από το Excel, αλλά υπαρκτή στο RefersTo στα Named Ranges... κουφάθηκα όταν το είδα και διαπίστωσα ότι δουλεύει... λεπτομέρειες και εδώ.
  13. @cvlengnr από την στιγμή που θες να αντιστοιχίσεις τα δεδομένα, η Index σου κάνει μια χαρά. Δηλαδή και A1:A1000 να πάρεις, με τα δεδομένα σου να αρχίζουν από Α40, απλά πρόσθεσε το 40 στο Index: =index(A$1:A$1000;40-(row()-row(B$10))). Και η Offset σου κάνει: =Offset(A$1;40+(row()*row(C$10));0), αλλά τα είπαμε για τις volatile functions... Τώρα αν δεν ξέρεις που αρχίζει, ψάξε με Match(value;$A$1:$A$1000;0) να το βρεις, και βάλε το αποτέλεσμα στη θέση του 40.... Αν τα δεδομένα σου είναι ταξινομημένα, προτίμησε Match(value;$A$1:$A$1000; {1 ή -1} ) για πολύ πιο γρήγορη αναζήτηση. (δες βοήθεια για Match για λεπτομέρειες)... Cheers
  14. Καλημέρα και καλή χρονιά! στο προκείμενο τώρα, μία επιλογή είναι η χρήση της INDEX() ή της OFFSET(), πχ έχεις Β1=κ, Β2=ν , Β3=i και θες να ξεκινάς από Αi (i=B3), τότε γράφεις: =index(A$24:A$1000;$B$3-(row()-z)) όπου z=ROW(γραμμή 1ης εντολής +F4), δηλαδή για τοποθέτηση της συνάρτησης από το B10 και κάτω, γράφεις: =index(A$24:A$1000;$B$3-(row()-row(B$10))) ...έτσι στο Β10 θα επιστρέφει το Α(24+i), στο Β11 το A(24+i+1) .... φυσικά μπορείς να χρησιμοποιήσεις και την OFFSET, με τελική εγγραφή στο C10: =Offset(A$24;$B$3+(row()*row(C$10));0) πρόσεξε ότι η OFFSET δεν περιορίζεται από τα υπάρχοντα δεδομένα και ότι είναι volatile, το οποίο σημαίνει ότι υπολογίζεται με οποιαδήποτε αλλαγή στο excel, και όχι μόνο τις σχετικές με τη συνάρτηση αλλαγές, το οποίο μπορεί να οδηγήσει σε αργά φύλλα και χρονοβόρους υπολογισμούς. επίσης δες ότι έχω γράψει Α$24:Α$1000, το 1000 μπορεί να είναι ότι σε βολεύει. Μπορεί να είναι και offset(A$24;;;$B$1+$B$2) (δηλαδή Α(24 ως 24+κ+ν)) αλλά καλύτερα να βάλεις κάτι ...μεγάλο και να αποφύγεις την offset! Μην κάνετε παράθεση του αμέσως προηγούμενου μηνύματος για λόγους οικονομίας του φόρουμ. Διαβάστε τους κανόνες συμμετοχής. Γιάννης
  15. μια απλή και μη "volatile" συνάρτηση: =INDEX(B2:L2;COUNT(B2:L2))-INDEX(B2:L2;COUNT(B2:L2)-1) εκτός της απλότητας και επεκτασιμότητας έχει το πλεονέκτημα ότι δεν είναι "volatile" με άμεση επίπτωση στη ταχύτητα της σελίδας μας, ειδικά σε μεγάλα φύλλα...
  16. Φίλε μου έτσι αν έχεις πολλά μηδενικα... την πάτησες St2 το COUNTIF(E1:E10;"<0") τι το θες? γιατί βγάζεις τα αρνητικά? εγώ πάντως θα πήγαινα με λύση της μορφής: =MIN(IF(A1:A11=0;100000000;A1:A11)) +ctrl-shift-enter (άρα {=MIN(IF(A1:A11=0;100000000;A1:A11))} ) Επίσης από το Καλύτερο forum για ερωτήσεις-απαντήσεις στο Excel είναι της "μαμάς" εκεί γράφουν πολλοί προγραμματιστές και χομπίστες και αναλαμβάνουν να βοηθήσουν "δωρεάν" ακόμα και για δύσκολα ερωτήματα... (που κατά τη γνώμη μου θα έπρεπε να είχαν απευθυνθεί σε επαγγελματία). Δεν ξέρω αν υπάρχει ελληνική έκδοση, μιλάω για την αγγλική.
  17. Πιστεύω πως καλά θα ήταν να αναφέρεται ότι πρόκειται για το ΦΕΚ 79 τευχος Α είναι όπως υπάρχει δωρεαν στο ΕΤ ...
  18. If InStr(b, ">") > 0 Then EvalFL = True If InStr(b, "<") > 0 Then EvalFL = True την ανισότητα δεν την χρειαζόμαστε και θα την βγάλω σε επόμενη έκδοση, καθώς μπορούμε να στείλουμε πίνακα με TRUE/FALSE τιμές: πχ =getif(C27:C40*7<50;TRUE;;14) θα επιστρέψει τις θέσεις (σχετικές) των δεδομένων που επαληθεύουν τα υπογραμμισμένα... όποιος έχει ιδέες για βελτίωση ή ανακαλύπτει χρήσεις νέες, μην διστάζετε να τα στέλνετε...
  19. Θέμα με Sum/Count κλπ όταν προστίθεται γραμμή/στήλη ανάμεσα στο αποτέλεσμα και την πράξη και ...παραμένει εκτός πράξης Λύση: έστω ότι στο κελί B31 θέλουμε να προσθέσουμε τα κελιά Β5 ως Β30, αντι για το εύκολο και γνωστό =sum(B5:B30) γράφουμε =Sum(B5:offset(B31;-1;0) και ιδού... τώρα προσθέτωντας γραμμές ακριβώς πάνω από το άθροισμα (ή και οπουδήποτε μέσα) το άθροισμα παραμένει σωστό...
  20. Φίλοι και συνάδελφοι, χαίρετε!!! Εδώ και καιρό εργάζομαι σε μια νέα έκδοση που όλα θα είναι πιο εύκολα. Πρόκειται για λειτουργικές αλλαγές, στον τρόπο εισαγωγής και διαχείρισης των δεδομένων μας. Απ' όσο γνωρίζω δεν έχει αλλάξει κάτι με το αρχείο του ΙΚΑ. Δεν μπορώ να υποσχεθώ κάτι γιατί ενώ ξεκίνησα με ένα αρχικό πλάνο όλο ξεπετάγονται νέες ιδέες... Επίσης, όπως πάντα, ο κώδικας θα είναι ανοιχτός και ελεύθερος, ώστε να μπορείτε να διορθώσετε άμεσα τυχόν σφάλματα και να δοκιμάζετε αλλαγές, ή ακόμα και να πάρετε κομμάτια για τα δικά σας προγράμματα. Μην διστάζετε να ρωτάτε και να προτείνετε, ή να ενημερώνετε με νέα από το ΙΚΑ. (όποιος δεν έχει άμεση ανάγκη το πρόγραμμα ας περιμένει λίγο για το καινούργιο, θα γλιτώσει πολύ χρόνο/διάβασμα. Βέβαια ότι μερικοί χειρισμοί εφαρμόζονται και σε δικά σας excel-ακια, οπότε επιλέξτε ότι αγαπάτε) Επανέρχομαι σύντομα...
×
×
  • Create New...

Σημαντικό

Χρησιμοποιούμε cookies για να βελτιώνουμε το περιεχόμενο του website μας. Μπορείτε να τροποποιήσετε τις ρυθμίσεις των cookie, ή να δώσετε τη συγκατάθεσή σας για την χρήση τους.