Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Excel > Excel - Ερωτήσεις / Απαντήσεις > [Συναρτήσεις] Αναζήτηση πλησιέστερης τιμής σε λίστα

Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ.

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 14-03-12, 17:02
Όνομα: Θοδωρής
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 14-03-2012
Μηνύματα: 3
Προεπιλογή Αναζήτηση πλησιέστερης τιμής σε λίστα

Καλησπέρα κ καλώς σας βρήκα,

Είναι το πρώτο μου ποστ, ακριβώς γιατί ψάχνω απεγνωσμένα να βρω λύση στο πρόβλημα που έχει παρουσιαστεί. Προσπαθώ με κάποιο τρόπο (εκτός VBA και μακροεντολών) να λάβω από μία λίστα την πλησιέστερη τιμή σε σχέση με κάποια x τιμή. Ο περιορισμός που θέτει η vlookup (την οποία κ χρησιμοποιώ συνεχώς για τέτοιες περιπτώσεις), είναι ότι βρίσκει την πλησιέστερη μικρότερη τιμή (προς την τιμή αναφοράς) και όχι την πλησιέστερη μεγαλύτερη.

Για να γίνω πιο ακριβής, φανταστείτε ότι βρίσκω ένα x εμβαδόν οπλισμού σκυροδέματος (εδώ πολυτεχνείο) και θέλω, μέσω αναζήτησης με το vlookup (ή το hlookup αντίστοιχα), σε συγκεκριμένο πίνακα οπλισμών, να βρίσκω την πλησιέστερη μεγαλύτερη τιμή (για να είμαι καλυμμένος) που αντιστοιχεί σε κάποιο Φ (διάμετρο).


Σας ευχαριστώ προκαταβολικά,
Απάντηση με παράθεση
  #2  
Παλιά 14-03-12, 19:37
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλησπέρα

Θοδωρή, καλωσόρισες στην παρέα μας.

Δοκίμασε τον τύπο πίνακα: {=MIN(IF(A2:A100>=B1;A2:A100;""))}.

Το εύρος A2:A100 είναι η περιοχή στην οποία γίνεται η αναζήτηση.

Το B1 περιέχει την τιμή αναζήτησης.

Επειδή έχουμε τύπο πίνακα, για την τοποθέτηση των αγκίστρων θα πατηθούν τα κουμπιά Ctrl + Shift + Enter (δε θα πληκτρολογηθούν).

Προσθήκη:

Δεν πρόσεξα ότι μετά τον προσδιορισμό του εμβαδού, θα προσδιορίζεται η διάμετρος.

Ο τύπος πίνακα που προτείνω είναι: =INDEX(A2:A100;MATCH(MIN(IF(B2:B100>=C1;B2:B100;"" ));B2:B100;0))

Το εύρος A2:A100 περιέχει τις διαμέτρους.

Το εύρος B2:B100 τα εμβαδά.

Το C1 την τιμή αναζήτησης


Φιλικά/Γιώργος

Τελευταία επεξεργασία από το χρήστη kapetang : 14-03-12 στις 19:55. Αιτία: πρόσθεσα την προσθήκη
Απάντηση με παράθεση
  #3  
Παλιά 14-03-12, 19:38
Το avatar του χρήστη Spirosgr
Συντονιστής
Όνομα: Σπύρος Τσιλιγιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 22-11-2011
Περιοχή: Αθήνα
Μηνύματα: 2.321
Προεπιλογή

Θοδωρή καλησπέρα
Μπορείς να ανεβάσεις ένα παράδειγμα για να δούμε την μορφή που έχει ο πίνακας που θα γίνει η αναζήτηση ;
Είναι δηλ. ένας πίνακας με εμβαδά από την μία και διαμέτρους από την άλλη ; ή έχει κάποια άλλη μορφή και απλά μέσα σ' αυτόν ψάχνουμε μία τιμή διαμέτρου
Απάντηση με παράθεση
  #4  
Παλιά 14-03-12, 19:59
Το avatar του χρήστη gr8styl
Super Moderator
Όνομα: Θανάσης Στυλιανίδης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 19-10-2009
Περιοχή: Βρυξέλλες, Βέλγιο
Μηνύματα: 758
Προεπιλογή

Αγαπητέ φίλε Θοδωρή,
κατ αρχή καλώς όρισες στην παρέα μας
Ένας εναλλακτικός τρόπος αν δεν σου αρέσει η συναρτήση πίνακα (array formula) που σου πρότεινε ο Γιώργος, είναι να χρησιμοποιήσεις τον τύπο
=INDEX(Diametroi;MATCH(Diatomi;Diatomes;1)+1)
αντί της VLOOKUP που λές ότι χρησιμοποιείς.
όπου
Diatomes είναι τα κελιά (στήλη ή γραμμή) του πίνακα που έχουν τις διατομές
Diametroi είναι τα κελιά (στήλη ή γραμμη) του πίνακα που έχουν τις διαμέτρους
και Diatomi είναι η διατομή που υπολογίζεις και για την οποία ζητάς την διάμετρο.

Φιλικά
Θανάσης
Απάντηση με παράθεση
  #5  
Παλιά 14-03-12, 20:35
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.011
Προεπιλογή

Καλησπέρα σε όλους!

Θοδωρή και καλωσόρισες στην παρέα μας!

Να προτείνω κι εγώ 2 συναρτήσεις (με τύπο πίνακα και με απλό τύπο) στο συνημμένο παρακάτω.

Και στις 2 συναρτήσεις δεν χρειάζονται ταξινόμηση των δεδομένων.

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

Τάσος
Συνημμένα Αρχεία
Τύπος Αρχείου: xls xl_NextLargerValue.xls (20,0 KB, 49 εμφανίσεις)
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #6  
Παλιά 14-03-12, 20:40
Όνομα: Θοδωρής
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 14-03-2012
Μηνύματα: 3
Προεπιλογή

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

Στο μεταξύ βρήκα μία λύση (όπως αυτή διατυπώνεται σε ένα αντίστοιχο ξένο forum) κ έχει ως εξής :

=SMALL(A2:A13;COUNTIF(A2:A13;"<"&D21)+1)

η οποία απ' ό,τι φαίνεται μοιάζει αρκετά με αυτή του φίλου gr8styl. Με λίγα λόγια, ψάχνει την μικρότερη τιμή στον πίνακα A2:A13, συνδυάζοντας κ την COUNTIF (προκειμένου να βρει την μικρότερη από την τιμή αναφοράς, D21 στην περίπτωσή μας, την οποία αυξάνει κατά μία κλάση).

Ο πίνακας (παράλειψη που δεν ανέφερα τη διάταξή του) είναι πρακτικά δύο στήλες, όπου στην 1η έχει τα εμβαδά ( pi() x [(d^2)/4] δηλαδή, όπου d η διάμετρος της ράβδου ) και στην 2η τις διαμέτρους που αντιστοιχούν αυτές (Φ10, Φ12 κ.ο.κ.).
Απάντηση με παράθεση
  #7  
Παλιά 14-03-12, 21:38
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.011
Προεπιλογή

Θοδωρή, αν ανοίξεις το συνημμένο στο προηγούμενο μου μήνυμα θα δεις ότι η λύση στο ζητούμενο σου βρίσκεται στην ένθετη συνάρτηση του κελιού G4 δηλαδή:

=INDEX(A2:A100;MATCH(LARGE(B2:B100;COUNTIF(B2:B100;">="&E4));B2:B100;0))

που είναι ακόμα πιο απλή από την =SMALL(A2:A13;COUNTIF(A2:A13;"<"&D21)+1)

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #8  
Παλιά 14-03-12, 23:01
Όνομα: Θοδωρής
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 14-03-2012
Μηνύματα: 3
Προεπιλογή

To ξέρω Τάσο κ σε ευχαριστώ ! Απλά την ώρα που έγραφα το προηγούμενο ποστ κ το δημοσίευα, είχες μόλις γράψει !
Απάντηση με παράθεση
  #9  
Παλιά 15-03-12, 00:14
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλησπέρα και Καλημέρα στην παρέα

Δόθηκαν αρκετοί τύποι για τη λύση του προβλήματος.

Επειδή τα δεδομένα από τη φύση τους είναι ταξινομημένα, προσωπικά θα προτιμούσα τον απλούστερο τύπο του Θανάση (χρησιμοποιεί μόνο 2 συναρτήσεις).

Φιλικά/Γιώργος
Απάντηση με παράθεση
Απάντηση στο θέμα


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[Γενικά] Αναζήτηση σε γραμμή & επιστροφή τιμής parara Excel - Ερωτήσεις / Απαντήσεις 4 25-05-16 12:55
[Γενικά] Αναζήτηση τιμής με 2 κριτήρια Priestrunner Excel - Ερωτήσεις / Απαντήσεις 4 06-02-16 18:38
[Excel07] Αναζήτηση τιμής σε στήλη George R Excel - Ερωτήσεις / Απαντήσεις 4 22-06-15 13:45
[Γενικά] Καταχώρηση νέας τιμής σε αναπτυσόμενη λίστα starcctv Excel - Ερωτήσεις / Απαντήσεις 1 20-03-13 22:46
[Excel07] Αναζήτηση από λίστα manos1 Excel - Ερωτήσεις / Απαντήσεις 8 08-03-12 21:46


Η ώρα είναι 20:43.