Οι συναρτήσεις FIND και FINDB εντοπίζουν μία συμβολοσειρά κειμένου εντός μιας δεύτερης συμβολοσειράς κειμένου και επιστρέφει τον αριθμό της θέσης έναρξης της πρώτης συμβολοσειράς κειμένου από τον πρώτο χαρακτήρα της δεύτερης συμβολοσειράς κειμένου.
Σημαντικό Η συνάρτηση FIND προορίζεται για χρήση με γλώσσες που χρησιμοποιούν σύνολα χαρακτήρων ενός byte (SBCS), ενώ η συνάρτηση FINDB προορίζεται για χρήση με γλώσσες που χρησιμοποιούν σύνολα χαρακτήρων των δύο bytes (DBCS). Η προεπιλεγμένη ρύθμιση γλώσσας στον υπολογιστή επηρεάζει την τιμή επιστροφής ως εξής:
- Η συνάρτηση FIND μετράει πάντα κάθε χαρακτήρα, ανεξάρτητα από το αν είναι ενός ή δύο bytes, ως 1, ανεξάρτητα από την προεπιλεγμένη ρύθμιση γλώσσας.
- Η συνάρτηση FINDB μετράει κάθε χαρακτήρα των δύο bytes ως 2 όταν έχετε ενεργοποιήσει την επεξεργασία γλώσσας που υποστηρίζει DBCS και τη ρυθμίσετε ως την προεπιλεγμένη γλώσσα. Διαφορετικά, η συνάρτηση FINDB μετράει κάθε χαρακτήρα ως 1.
Σύνταξη
FIND(find_text;within_text;start_num)
FINDB(find_text;within_text;start_num)
Find_text είναι το κείμενο που θέλετε να εντοπίσετε.
Within_text είναι το κείμενο, το οποίο περιέχει το κείμενο που θέλετε να εντοπίσετε.
Start_num καθορίζει τη θέση του χαρακτήρα, από τον οποίο θα αρχίσει η αναζήτηση. Ο πρώτος χαρακτήρας στο όρισμα within_text είναι ο αριθμός χαρακτήρα 1. Εάν παραλείψετε το όρισμα start_num, θεωρείται ίσο με 1.
Παρατηρήσεις
- Οι συναρτήσεις FIND και FINDB κάνουν διάκριση πεζών-κεφαλαίων και δεν επιτρέπουν τη χρήση χαρακτήρων μπαλαντέρ. Εάν δεν θέλετε να κάνουν διάκριση πεζών-κεφαλαίων ή να χρησιμοποιούν χαρακτήρες μπαλαντέρ, μπορείτε να χρησιμοποιήσετε τις συναρτήσεις SEARCH και SEARCHB.
- Εάν το όρισμα find_text είναι "" (κενό κείμενο), η συνάρτηση FIND εντοπίζει μια αντιστοιχία με τον πρώτο χαρακτήρα της συμβολοσειράς αναζήτησης (δηλαδή τον χαρακτήρα στη θέση start_num ή 1).
- Το όρισμα find_text δεν είναι δυνατό να περιέχει χαρακτήρες μπαλαντέρ.
- Εάν το όρισμα find_text δεν υπάρχει στο όρισμα within_text, η συνάρτηση FIND και η συνάρτηση FINDB αποδίδουν την τιμή σφάλματος #VALUE!.
- Εάν το όρισμα start_num είναι μικρότερο ή ίσο του μηδενός, η συνάρτηση FIND και η συνάρτηση FINDB αποδίδουν την τιμή σφάλματος #VALUE!.
- Εάν το όρισμα start_num είναι μεγαλύτερο του ορίσματος within_text, η συνάρτηση FIND και η συνάρτηση FINDB αποδίδουν την τιμή σφάλματος #VALUE!.
- Χρησιμοποιήστε το όρισμα start_num για να παραλείψετε έναν συγκεκριμένο αριθμό χαρακτήρων. Χρησιμοποιώντας τη συνάρτηση FIND ως παράδειγμα, ας υποθέσουμε ότι εργάζεστε με τη συμβολοσειρά "AYF0093.YoungMensApparel". Για να βρείτε τον αριθμό του πρώτου "Y" στο περιγραφικό μέρος της συμβολοσειράς, ορίστε το όρισμα start_num ίσο με 8, ώστε να μην αναζητηθεί το τμήμα του αύξοντα αριθμού του κειμένου. Η συνάρτηση FIND αρχίζει με τον χαρακτήρα 8, εντοπίζει το όρισμα find_text στον επόμενο χαρακτήρα και αποδίδει τον αριθμό 9. Η συνάρτηση FIND αποδίδει πάντα τον αριθμό των χαρακτήρων από την αρχή του ορίσματος within_text, μετρώντας τους χαρακτήρες που παραλείπετε, εάν το όρισμα start_num είναι μεγαλύτερο από 1.
Παράδειγμα 1: FIND
|
|
| A |
| Δεδομένα |
| Πέτρος Παπάς |
| Τύπος |
Περιγραφή (αποτέλεσμα) |
| =FIND("Π";A2) |
Θέση του πρώτου "Π" στην παραπάνω συμβολοσειρά (1) |
| =FIND("π";A2) |
Θέση του πρώτου "π" στην παραπάνω συμβολοσειρά (10) |
| =FIND("Π";A2;3) |
Θέση του πρώτου "Π" στην παραπάνω συμβολοσειρά, αρχίζοντας από τον τρίτο χαρακτήρα (8) | |
Παράδειγμα 2: συνάρτηση FIND που είναι ένθετη στην MID
|
|
| A |
| Δεδομένα |
| Κεραμικοί Μονωτήρες #124-TD45-87 |
| Χάλκινοι Δακτύλιοι #12-671-6772 |
| Μεταβλητές Αντιστάσεις #116010 |
| Τύπος |
Περιγραφή (αποτέλεσμα) |
| =MID(A2;1;FIND(" #";A2;1)-1) |
Εξάγει κείμενο από τη θέση 1 έως τη θέση "#", στην πρώτη από τις παραπάνω συμβολοσειρές (Κεραμικοί Μονωτήρες) |
| =MID(A3;1;FIND(" #";A3;1)-1) |
Εξάγει κείμενο από τη θέση 1 έως τη θέση "#", στη δεύτερη από τις παραπάνω συμβολοσειρές (Χάλκινοι Δακτύλιοι) |
| =MID(A4;1;FIND(" #";A4;1)-1) |
Εξάγει κείμενο από τη θέση 1 έως τη θέση "#", στην τρίτη από τις παραπάνω συμβολοσειρές (Μεταβλητές Αντιστάσεις) | |