Funzione SEARCH (DAX)
Restituisce il numero del carattere in corrispondenza del quale viene rilevato per la prima volta un carattere specifico o una stringa di testo, leggendo da sinistra a destra. SEARCH supporta la distinzione tra maiuscole e minuscole.
Sintassi
SEARCH(<find_text>, <within_text>, [start_num])
Parametri
Termine |
Definizione |
---|---|
find_text |
Testo che si desidera individuare. |
within_text |
Testo, o una colonna contenente testo, in cui si desidera cercare find_text. |
start_num |
(facoltativo) La posizione del carattere in within_text in corrispondenza della quale si desidera iniziare la ricerca. Se omessa, è pari a 1. |
Valore proprietà/Valore restituito
Numero della posizione iniziale della prima stringa di testo a partire dal primo carattere della seconda stringa di testo.
Osservazioni
Grazie a questa funzione è possibile individuare una stringa di testo all'interno di una seconda stringa di testo e restituire la posizione iniziale della prima stringa.
È possibile utilizzare la funzione SEARCH per determinare la posizione di un carattere o di una stringa di testo all'interno di un'altra stringa di testo e quindi specificare la funzione MID per ottenere il testo o la funzione REPLACE per modificarlo.
Se non è possibile trovare find_text in within_text, la formula restituisce un errore. Questo comportamento è analogo a quello di Excel, in cui viene restituito #VALORE se la sottostringa non viene trovata. I valori Null in within_text saranno interpretati come una stringa vuota in questo contesto.
Esempio: Eseguire la ricerca all'interno di una stringa
Descrizione
La formula seguente consente di trovare la posizione della lettera "n" nella parola "printer".
Codice
=SEARCH("n","printer")
Commenti
La formula restituisce 4 perché "n" è il quarto carattere della parola "printer".
Esempio: Eseguire la ricerca all'interno di una colonna
Descrizione
È possibile utilizzare un riferimento di colonna come argomento di SEARCH. Nella formula seguente viene trovata la posizione del carattere "-" (trattino) nella colonna [PostalCode].
Codice
=SEARCH("-",[PostalCode])
Commenti
Il risultato restituito è una colonna di numeri che indicano la posizione di indice del trattino.
Esempio: Gestione degli errori con SEARCH
Descrizione
La formula nell'esempio precedente avrà esito negativo se la stringa di ricerca non viene trovata in ogni riga della colonna di origine. Nell'esempio successivo viene pertanto dimostrato come utilizzare IFERROR con la funzione SEARCH, per assicurarsi che venga restituito un risultato valido per ogni riga.
Nella formula seguente viene trovata la posizione del carattere "-" all'interno della colonna e viene restituito -1 se la stringa non viene trovata.
Codice
= IFERROR(SEARCH("-",[PostalCode]),-1)
Commenti
Si noti che il tipo di dati del valore utilizzato come output degli errori deve corrispondere al tipo di dati del tipo di output non degli errori. In questo caso, fornire un valore numerico da restituire come output nel caso di un errore, poiché SEARCH restituisce un valore integer.
Tuttavia, è anche possibile restituire un valore vuoto (stringa vuota) utilizzando BLANK() come secondo argomento di IFERROR.
Vedere anche