John_John Δημοσιεύτηκε Ιούλιος 26 , 2010 Δημοσιεύτηκε Ιούλιος 26 , 2010 Και μια άλλη άσχετη απορία: Θέλω να γράψω μια συνάρτηση στην οποία να έχει πολλά if, και δυστυχώς με τη nested if έχω περιορισμό στα 7 if. ... Και θέλω να κάνω κάτι σαν κενό κελί = if(A1 = 1;"Ω";if(A1=2;X";"") αλλά έχω πολλά if. Μην ανησυχείς! Πρόκειται για κλασική περίπτωση βλάβης... εεε... αναζήτησης και αναφοράς ήθελα να πω! Η λύση είναι απλή: Δημιουργείς έναν πίνακα με δυο στήλες και ισάριθμες με τις πιθανές τιμές σειρές όπου θα αντιστοιχίσεις τις τιμές με τα γράμματα. Για παράδειγμα: 1 Ω 2 Χ 3 Ψ ... κοκ Μετά, στο κενό κελί εισάγεις τον τύπο: =VLOOKUP(a1;Table;2;0) και τον συμπληρώνεις προς τα κάτω. Όπου Table η διεύθυνση ή το όνομα του πίνακα αντιστοίχισης. Ίσως να χρειαστείς και μια IF() σε περίπτωση που ο πίνακας δεν περιλαμβάνει όλες τις πιθανές τιμές, έτσι ώστε να αντιμετωπίσεις το σφάλμα #Δ/Υ. Καλή τύχη Υ.Γ. Αν είναι λίγες οι πιθανές τιμές, ίσως σε βολέψει και η συνάρτηση CHOOSE(). Για παράδειγμα: =CHOOSE(a1;"Ω";"Χ";"Ψ";"Ζ") 1
Gousgounis Δημοσιεύτηκε Ιούλιος 27 , 2010 Δημοσιεύτηκε Ιούλιος 27 , 2010 Σωστός ο John_John. Στο excel και το μέγεθος και η ταχύτητα μετράνε... enter the matrix Επειδή χρησιμοποιώ open office, στο excel η round έχω την εντύπωση πως απαιτεί το μηδέν στο τέλος. Round(Τιμή;0) οπότε στο επόμενο παράδειγμα την έβγαλα εκτός. Για εξήγησε λίγο σε παρακαλώ την σύνταξη. Πχ, αν έχω τα εξής δεδομένα στα κελιά Α1 έως D5: 1 2 3 4 7 3 5 4 6 9 5 3 1 2 0 7 8 6 4 3 Πως θα πρέπει να συντάξω την εντολή που παρέθεσες ώστε να μου βγει μια στήλη με τα 20 αυτά στοιχεία? Ευχαριστώ εκ των προτέρων... Samdreamth η εντολή που έδωσα ήταν για το συγκεκριμένο παράδειγμα. Τώρα Αν έχουμε [Ν] γραμμές ο τύπος θα έπρεπε να γίνει: > =INDIRECT(ADDRESS([Ν]*((ROW()-1)/[Ν]-INT((ROW()-1)/[Ν]))+1;INT((ROW()-1)/[Ν]);1)) και να ξεκινάει στην [Ν]+1 γραμμή.
Samdreamth Δημοσιεύτηκε Ιούλιος 27 , 2010 Δημοσιεύτηκε Ιούλιος 27 , 2010 Για το πρώτο σκέλοςΝομιζω οτι γίνεται πολύ απλά .Γράφεις τον πίνακα όπως τον θες ,τον επιλέγεις (μαρκάρεις) και πατάς Εισαγωγή-->όνομα--> ορισμός και βάζεις το όνομα που θες (στο παράδειγμα matrix) Ζάχο, πολύ καλό αυτό με τον ορισμό του πίνακα. Ομολογώ ότι δεν το ήξερα αλλά με βοήθησε για να κάνω αυτό που περιέγραψε ο John John παρακάτω. Ευχαριστώ! Μετά, στο κενό κελί εισάγεις τον τύπο: =VLOOKUP(a1;Table;2;0)και τον συμπληρώνεις προς τα κάτω. John John: Δούλεψε μια χαρά!!! Το έκανα μάλιστα εις τετραπλούν, ώστε πχ αναλόγως του Α1 να συμπληρώνονται αυτόματα και τα κελιά B1, C1, D1 και Ε1. Η VLOOKUP νομίζω ότι θα μου φανεί αρκετά χρήσιμη στο μέλλον. Ευχαριστώ! η ευκολότερη λύση με μία μόνο γραμμή κώδικα (καθαρού excel) είναι: Στο κελί Α3 γράφεις: >=INDIRECT(ADDRESS(ROUND(INT(ROW()/2)-ROW()/2)+2;ROUND(ROW()/2)-1;1)) και τραβάς προς τα κάτω. Μετά κάνεις copy μόνο τις τιμές σε ένα άλλο φύλλο και όλα οκ. Gousgouni, όντως θέλει και το δεκαδικό γιατί διαφορετικά ΔΕΝ δουλεύει (τουλάχιστον σε μένα). Στην περίπτωση μου λοιπόν, δούλεψε πληκτρολογώντας την εξής εντολή: >=INDIRECT(ADDRESS(ROUND(INT(ROW()/2)-ROW()/2;0)+2;ROUND(ROW()/2;0)-1;1)) Πάντως Gousgouni φοβερή ιδέα με μια μόνο γραμμή! Εύγε! Σας ευχαριστώ πολύ όλους για την βοήθειά σας...
Samdreamth Δημοσιεύτηκε Αύγουστος 12 , 2010 Δημοσιεύτηκε Αύγουστος 12 , 2010 Γεια σας και πάλι! Ελπίζω να μην σας έχει πιάσει η καλοκαιρινή ραστώνη και να έχετε διάθεση για λίγο excel (εντάξει πλάκα κάνω).. Λοιπόν, σήμερα αντιμετώπισα το εξής πρόβλημα: Είχα μια λίστα δεδομένων ως εξής: Α 1 2 3 Α 1 2 3 4 Α 1 2 3 4 5 Β 1 Β 1 2 Γ 1 Γ 1 2 Γ 1 2 3 …………. Φυσικά τα δεδομένα ήταν μερικές…χιλιάδες. Αυτό που ήθελα να κάνω ήταν το εξής: Να κρατήσω από την πρώτη στήλη (αυτή με τα γράμματα) την γραμμή που έχει τις περισσότερες πληροφορίες. Δηλ. με την επεξεργασία έπρεπε να έχω το εξής: Α 1 2 3 4 5 Β 1 2 Γ 1 2 3 ……… δηλ. τα Α Β Γ κλπ να είναι μοναδικά και να έχουν τη max πληροφορία Αν προσέξατε τα δεδομένα μου ήταν σε μορφή τριγωνικού πίνακα. Η λύση που βρήκα (και δεν μου άρεσε είναι η αλήθεια) ήταν η εξής: Ταξινόμησα τα δεδομένα ως εξής: Α 1 2 3 4 5 Α 1 2 3 4 Α 1 2 3 Γ 1 2 3 Β 1 2 Γ 1 2 …. Δημιούργησα δηλαδή έναν άλλο τριγωνικό πίνακα και στην συνέχεια έκανα αφαίρεση διπλών εγγραφών (με βάση την πρώτη στήλη – τα γράμματα), οπότε έγινε τελικά το ζητούμενο. Η λύση μπορώ να πω ότι δεν μου άρεσε ιδιαίτερα αλλά λόγω μειωμένου χρόνου μου έκανε την δουλειά (που ήταν και το ζητούμενο). Το ερώτημα που έχω για εσάς είναι το εξής: Υπάρχει πιο εύκολος/έξυπνος τρόπος να γίνει η ταξινόμηση που περιγράφω παραπάνω? Αν ναι πως? Ευχαριστώ εκ των προτέρων….
ΓΙΑΝΝΗΣ Γ Δημοσιεύτηκε Νοέμβριος 28 , 2011 Δημοσιεύτηκε Νοέμβριος 28 , 2011 Επειδή έχω κολλήσει, με ποιον τρόπο σταθεροποιώ μια γραμμή(row) έτσι ώστε κάνοντας scroll down, να τη βλέπω πάντα και να αλλάζουν μόνο οι επόμενες?
Gousgounis Δημοσιεύτηκε Νοέμβριος 28 , 2011 Δημοσιεύτηκε Νοέμβριος 28 , 2011 (edited) Θα χρησιμοποιήσω επιστημονικούς όρους... πάνω απο την scroll bar έχει ένα μαρκούτσι. Το πιάνεις με το ποντίκι και το τραβάς προς τα κάτω ώστε να χωρίσει το φύλλο εργασίας σε δύο παράθυρα. Επίσης μπορείς να χρησιμοποιήσεις την εντολή: Προβολη -> Σταθεροποίηση παραθύρων View -> Freeze panes Edited Νοέμβριος 28 , 2011 by Gousgounis
ΓΙΑΝΝΗΣ Γ Δημοσιεύτηκε Νοέμβριος 28 , 2011 Δημοσιεύτηκε Νοέμβριος 28 , 2011 Είναι στο Window->Freeze panes...Σ' ευχαριστώ ρε συ γκουσγκου.....
Topap Δημοσιεύτηκε Μάιος 28 , 2012 Δημοσιεύτηκε Μάιος 28 , 2012 Έχω σε μια στήλη του excel την χιλιομετρική θέση αρχής του επιχώματος σε μορφή πχ 24+450 και στην επόμενη στήλη τη χιλιομετρική θέση τέλους πχ 34+650. Προσπαθώ να κάνω αυτόματα την αφαίρεση για να βρώ το συνολικό μήκος του δρόμου όπου γίνεται το επίχωμα, στο συγκεκριμένο θα είναι 10.200m. Τι μορφή πρέπει να έχει το κελί για να "καταλαβει" το excel οτι το 24+450 είναι νούμερο και να κάνει την αφαίρεση απο το 34+650? Αν μπορεί κάποις να βοηθήσει, θα το εκτιμούσα. Topap
Gousgounis Δημοσιεύτηκε Μάιος 28 , 2012 Δημοσιεύτηκε Μάιος 28 , 2012 A1: 24+450 B1: 34+650 C1: =(MID(B1;1;LEN(B1)-4)-MID(A1;1;LEN(A1)-4))*1000 + RIGHT(B1;3)-RIGHT(A1;3) (δηλαδή C = B - A) Χρησιμοποιώ την mid και όχι την left για να είναι συμβατό και με μεγαλύτερες ΧΘ (πχ 101+250) Μια άλλη λύση θα ήταν να ορίσεις ως διαχωριστικό χιλιάδων το "+" από τις ρυθμίσεις των windows
Topap Δημοσιεύτηκε Μάιος 28 , 2012 Δημοσιεύτηκε Μάιος 28 , 2012 (edited) Gousgounis! Χίλια ευχαριστώ! Να γίνω λίγο αχάριστος και να σε ρωτήσω τι γίνεται στην περίπτωση που έχω δεκαδικά? Πχ. ΧΘ 26+973,40 & ΧΘ 33+056,37. Το δοκίμασα με τη φορμουλα σου και εβγαζε λάθος... Τι πρέπει να αλλάξω? (καλά δεν είναι δα και τόσο σημαντικό, τα μήκη είναι μεγάλα, αλλά για μελλοντική χρήση...) Τ Edited Μάιος 28 , 2012 by Topap
Recommended Posts
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε προκειμένου να αφήσετε κάποιο σχόλιο
Πρέπει να είστε μέλος για να μπορέσετε να αφήσετε κάποιο σχόλιο
Δημιουργία λογαριασμού
Κάντε μια δωρεάν εγγραφή στην κοινότητά μας. Είναι εύκολο!
Εγγραφή νέου λογαριασμούΣύνδεση
Εάν έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα