sintassi
non facile da capire, si sfrutta il fatto che RICERCA ritorna un errore se non trova il valore
si cerca il valore massimo MAX che sarà 1 o 0 a seconda se c'é un non errore o se sono tutti errore
se il valore esiste allora nella lista ci sarà un 1 altrimenti tutti errore e quindi tutti 0
{SE
(
MAX(SE(VAL.ERRORE(RICERCA(TABELLA_RICERCA[colonna testi parziali],[@[cella testo completo]])),0,1))=1,)}
"trovato",
"non trovato"
esempio: verifica se una colonna ha il testo anche parziale della cella indicata
{SE
(
MAX(SE(VAL.ERRORE(RICERCA(DATA_RICERCA[ID record],[@[ID record]])),0,1))=1,)}
"trovato",
"non trovato"
sintassi
se esiste nella lista un valore che concide con il valore della riga a destrat di tot allora da 1 e quindi MAX sarà 1 e quindi "trovato"
{SE
(
MAX(SE(DESTRA([@[colonna valori completi]],tot)=TABELLA_RICERCA[colonna valori parziali],1,0))=1,)}
"trovato",
"non trovato"
sintassi
se la riga della colonna di ricarca é un numero, quindi contiene il testo, resituisci il numero di riga
alla fine restituisce da il minimo, cioé la prima riga trovata
se non trova righe restituisce 0
attento: la formula restituisce il numero di tiga della scheda non della tabella
devi togliere -1 se vuoi la riga della tabella
{=MIN(SE(VAL.NUMERO(RICERCA("testo da cercare",colonna di ricerca)),RIF.RIGA(colonna di ricerca)))}
{=MIN(IF(ISNUMBER(SEARCH("testo da cercare",colonna di ricerca)),ROW(colonna di ricerca)))}
esempio: cerco la riga che contiene il testo della colonna stessa riga CODICE nella colonna "Altri_Codici" della tabella LISTA_CODICI
{=MIN(SE(VAL.NUMERO(RICERCA([@CODICE],LISTA_CODICI[Altri_Codici])),RIF.RIGA((LISTA_CODICI[Altri_Codici])))}
{=MIN(IF(ISNUMBER(SEARCH([@CODICE],LISTA_CODICI[Altri_Codici])),ROW(LISTA_CODICI[Altri_Codici])))}