Formula Fogli Google per "se contiene"


40

Sto cercando di capire come identificare IFun elenco di elementi in una cella contenente un valore o una stringa.

ESEMPIO

La cella A1 contiene sites, sheets, docs, slides.

Voglio che la cella B1 visualizzi un 1 'se' la cella A1 contiene la stringa sites.

FORMULA

=if(A1 ?????? "sites", 1,0)

Non sono sicuro di cosa sostituire ??????all'interno della formula precedente O se questa formula è possibile. Qualsiasi idea su come ottenere il risultato desiderato è molto apprezzata.

Risposte:


55

Puoi usare REGEXMATCH:

=IF(REGEXMATCH(A1, "sites"), 1, 0)

Per spiegare, REGEXMATCH restituisce true se e solo se l'argomento è una sottostringa della stringa.


10
Utilizzando regexmatchsarebbe più semplice: if(regexmatch(A1, "sites"), 1, 0).

1
Il "if" non è necessario poiché regexmatch restituisce già un valore booleano, quindi solo "REGEXMATCH (A1," siti ")"
David

2
L'if è lì in modo che possano convertire il vero in 1 o 0 se falso
Aurielle Perlmann

7

=if(search("sites",B2)>0,1,0)

=if(IFERROR(search("sites",B2)>0,0),1,0)

Entrambi funzionano. Il secondo scrive uno 0 se c'è un errore.


2
La prima formula non restituirà mai 0 perché SEARCH(search_for, text_to_search, [starting_at])restituirà un errore quando search_fornon viene trovato.
Rubén,

1

Probabilmente lo stai facendo perché vuoi conoscere il conteggio o il numero medio di righe che contengono la parola "siti". Supponendo di avere 100 righe di voci nella colonna A, è possibile utilizzare questa funzione per scoprire quante righe contengono la parola "siti":

=QUERY(A1:A100, "select count(A) where A like '%sites%'")

Questo è molto più veloce della creazione di una colonna di 1 e zero e quindi di operare su quella nuova colonna.


Può funzionare su una scatola anziché solo una colonna?
Adam Starrh,

Sì. invece di A1:A100te potresti farcela A1:C100e poi scrivere una query con le colonne A, B e C.
Ryan Shillington,

1

Una soluzione senza REGEX:

=if(iserror(FIND("sites",B2)),0,1)

la capitalizzazione è importante e la iflogica deve essere invertita, dato che la risposta è truequando la stringa non viene trovata.


Questo è fondamentalmente lo stesso di questa risposta , ma introducendo la distinzione tra maiuscole e minuscole. A proposito, i dati di esempio forniti dall'OP sheetsnon includono Sheets.
Rubén,

0

=IF(QUERY(A1, "where A contains 'sites'")<>"", 1, )

0


0

Se tu, come suggerisce Ryan Shillington, vuoi conoscere il numero di celle all'interno di un intervallo che contiene "siti", potresti provare:

=COUNTIF(A1:A100;"*sites*") 

* Funge da nozione jolly, quindi cercherà una corrispondenza ovunque all'interno della cella, non solo una corrispondenza esatta per l'intera cella.

Ho anche fatto questo con un riferimento di cella invece di " siti ", ma poi devi aggiungere caratteri jolly-asterix al testo nella cella.


0

Se si utilizza l'opzione asterischi e si desidera un riferimento di cella, è possibile utilizzare la funzione CONCATENA per aggiungere gli asterischi

=COUNTIF(A1:A100,CONCATENATE("*",A1,"*"))

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.