[google-spreadsheet] Controlla la cella per una lettera specifica o una serie di lettere


Answers

Alcune opzioni senza REGEXMATCH , poiché potresti voler essere insensibile al caso e non voler dire blast o ablative per attivare un YES . Usando la virgola come delimitatore, come nell'OP, e per il momento ignorando la condizione IF:

Prima molto simile alla risposta di @ user1598086:

=FIND("bla",A1)

Fa distinzione tra maiuscole e minuscole ma restituisce #VALORE! piuttosto che NO e un numero anziché YES (entrambi possono tuttavia essere modificati rispettivamente in NO / YES).

=SEARCH("bla",A1)  

Case insensitive, quindi tratta in modo uguale il black e il black . Restituisce come sopra.

Il primo (per quest'ultimo equivalente) per indicare se bla presente dopo i primi tre caratteri in A1:

=FIND("bla",A1,4)  

Restituisce un numero per il blazer, black ma #VALUE! per blazer, blue .

Per trovare Bla solo quando una parola completa da sola (cioè tra spazi - non all'inizio o alla fine di una "frase"):

=SEARCH(" Bla ",A1) 

Dal momento che il ritorno in tutti i casi di cui sopra è un numero ("trovato", quindi YES preferito) o #VALUE! possiamo usare ISERROR per verificare #VALUE! all'interno di una formula IF, ad esempio prendendo il primo esempio sopra:

 =if(iserror(FIND("bla",A1)),"NO","YES")  

Più lunga della regexmatch ma i componenti sono facilmente regolabili.

Question

In un foglio di calcolo Google, desidero utilizzare una formula che restituirà un determinato testo o numero se una determinata cella contiene determinate lettere.

Ad esempio, se metto =IF(A1="Black","YES","NO") e A1 è uguale a "Nero" - emette correttamente "SÌ". Tuttavia quando metto =IF(A1="Bla","YES","NO") emette "NO". C'è qualche formula che posso usare che posso dire qualcosa come =IF(A1 CONTAINS "Bla","YES","NO") modo che emetta "SÌ".




Basta usare = IF(A1="Bla*","YES","NO") . Quando si inserisce l'asterisco, esso funge da jolly per qualsiasi quantità di caratteri dopo il testo specificato.




Related