Cuprins
Tutorialul explică ce este ISNUMBER în Excel și oferă exemple de utilizări de bază și avansate.
Conceptul funcției ISNUMBER din Excel este foarte simplu - verifică doar dacă o anumită valoare este sau nu un număr. Un aspect important aici este că utilizările practice ale funcției depășesc cu mult conceptul său de bază, în special atunci când este combinată cu alte funcții în cadrul unor formule mai mari.
Funcția Excel ISNUMBER
Funcția ISNUMBER din Excel verifică dacă o celulă conține sau nu o valoare numerică. Aceasta aparține grupului de funcții IS.
Funcția este disponibilă în toate versiunile de Excel pentru Office 365, Excel 2019, Excel 2016, Excel 2013, Excel 2010, Excel 2007 și versiunile inferioare.
Sintaxa ISNUMBER necesită doar un singur argument:
=ISNUMBER(valoare)
Unde valoare este valoarea pe care doriți să o testați. De obicei, aceasta este reprezentată de o referință la o celulă, dar puteți furniza și o valoare reală sau puteți introduce o altă funcție în ISNUMBER pentru a verifica rezultatul.
Dacă valoare este numeric, funcția returnează TRUE. Pentru orice altceva (valori text, erori, spații goale) ISNUMBER returnează FALSE.
Ca exemplu, să testăm valorile din celulele A2 până la A6 și vom afla că primele 3 valori sunt numere, iar ultimele două sunt text:
2 lucruri pe care ar trebui să le știți despre funcția ISNUMBER în Excel
Există câteva aspecte interesante de remarcat aici:
- În reprezentarea internă Excel, date și ori sunt valori numerice, astfel încât formula ISNUMBER returnează TRUE pentru acestea (a se vedea B3 și B4 în captura de ecran de mai sus).
- Pentru numerele stocate ca text, funcția ISNUMBER returnează FALSE (a se vedea acest exemplu).
Exemple de formule Excel ISNUMBER
Exemplele de mai jos demonstrează câteva utilizări obișnuite și câteva utilizări non-triviale ale ISNUMBER în Excel.
Verifică dacă o valoare este un număr
Atunci când aveți mai multe valori în foaia de calcul și doriți să știți care dintre ele sunt numere, ISNUMBER este funcția potrivită pentru a fi utilizată.
În acest exemplu, prima valoare se află în A2, așa că folosim formula de mai jos pentru a o verifica și apoi tragem formula în jos în câte celule sunt necesare:
=ISNUMBER(A2)
Vă rugăm să fiți atenți la faptul că, deși toate valorile arată ca niște numere, formula ISNUMBER a returnat FALSE pentru celulele A4 și A5, ceea ce înseamnă că aceste valori sunt șiruri numerice , adică numere formatate ca text. Pot exista diferite motive pentru acest lucru, de exemplu, zerouri de început, apostrof anterior etc. Indiferent de motiv, Excel nu recunoaște astfel de valori ca numere. Prin urmare, dacă valorile dvs. nu se calculează corect, primul lucru pe care trebuie să-l verificați este dacă acestea sunt într-adevăr numere din punct de vedere al Excel și apoi convertiți textul în număr, dacă este necesar.
Formula Excel ISNUMBER SEARCH
În afară de identificarea numerelor, funcția Excel ISNUMBER poate verifica, de asemenea, dacă o celulă conține un anumit text ca parte a conținutului. Pentru aceasta, utilizați ISNUMBER împreună cu funcția SEARCH.
În forma generică, formula arată după cum urmează:
ISNUMBER(SEARCH( substring , celulă ))Unde substring este textul pe care doriți să îl găsiți.
Ca exemplu, să verificăm dacă șirul din A3 conține o anumită culoare, de exemplu roșu:
=ISNUMBER(SEARCH("red", A3))
Această formulă funcționează foarte bine pentru o singură celulă. Dar, deoarece tabelul nostru de exemplu (a se vedea mai jos) conține trei culori diferite, scrierea unei formule separate pentru fiecare dintre ele ar fi o pierdere de timp. În schimb, ne vom referi la celula care conține culoarea de interes (B2).
=ISNUMBER(SEARCH(B$2, $A3))
Pentru ca formula să fie copiată corect în jos și la dreapta, asigurați-vă că ați blocat următoarele coordonate cu semnul $:
- În substring referință, blochează rândul (B$2), astfel încât formulele copiate să aleagă întotdeauna subșirurile din rândul 2. Referința coloanei este relativă, deoarece dorim să se ajusteze pentru fiecare coloană, adică atunci când formula este copiată în C3, referința de subșir se va schimba în C$2.
- În celulă sursă referință, blocați coloana ($A3) astfel încât toate formulele să verifice valorile din coloana A.
Captura de ecran de mai jos arată rezultatul:
ISNUMBER FIND - formulă sensibilă la majuscule și minuscule
Deoarece funcția SEARCH este nu ține cont de majuscule și minuscule , formula de mai sus nu diferențiază caracterele majuscule și minuscule. Dacă doriți o formulă care să țină cont de majuscule și minuscule, utilizați funcția FIND mai degrabă decât SEARCH.
ISNUMBER(FIND( substring , celulă ))Pentru eșantionul nostru de date, formula ar avea următoarea formă:
=ISNUMBER(FIND(B$2, $A3))
Cum funcționează această formulă
Logica formulei este destul de evidentă și ușor de urmărit:
- Funcția SEARCH / FIND caută subșirul în celula specificată. Dacă subșirul este găsit, este returnată poziția primului caracter. Dacă subșirul nu este găsit, funcția produce o eroare #VALUE!
- Funcția ISNUMBER preia de aici și procesează pozițiile numerice. Astfel, dacă se găsește subșirul și poziția sa este returnată ca număr, ISNUMBER emite TRUE. Dacă nu se găsește subșirul și apare o eroare #VALUE!, ISNUMBER emite FALSE.
IF ISNUMBER formula
Dacă doriți să obțineți o formulă care să producă altceva decât TRUE sau FALSE, utilizați ISNUMBER împreună cu funcția IF.
Exemplul 1. Celula conține ce text
Continuând cu exemplul anterior, să presupunem că doriți să marcați culoarea fiecărui element cu "x", așa cum se arată în tabelul de mai jos.
Pentru a face acest lucru, pur și simplu includeți formula ISNUMBER SEARCH în instrucțiunea IF:
=IF(ISNUMBER(SEARCH(B$2, $A3)), "x", "")
Dacă ISNUMBER returnează TRUE, funcția IF emite "x" (sau orice altă valoare pe care o furnizați la funcția value_if_true Dacă ISNUMBER returnează FALSE, funcția IF emite un șir gol ("").
Exemplul 2. Primul caracter dintr-o celulă este un număr sau un text
Imaginați-vă că lucrați cu o listă de șiruri alfanumerice și doriți să știți dacă primul caracter al unui șir este un număr sau o literă.
Pentru a construi o astfel de formulă, vom avea nevoie de 4 funcții diferite:
- Funcția LEFT extrage primul caracter de la începutul unui șir de caractere, de exemplu din celula A2:
LEFT(A2, 1)
- Deoarece LEFT aparține categoriei funcțiilor Text, rezultatul său este întotdeauna un șir de text, chiar dacă acesta conține doar numere. Prin urmare, înainte de a verifica caracterul extras, trebuie să încercăm să-l convertim într-un număr. Pentru aceasta, utilizați fie funcția VALUE, fie operatorul dublu unar:
VALOARE(STÂNGA(A2, 1))
sau(--LEFT(A2, 1))
- Funcția ISNUMBER determină dacă caracterul extras este numeric sau nu:
ISNUMBER(VALUE(LEFT(A2, 1)))
- Pe baza rezultatului ISNUMBER (TRUE sau FALSE), funcția IF returnează "Număr", respectiv "Literă".
Presupunând că testăm un șir de caractere în A2, formula completă are următoarea formă:
=IF(ISNUMBER(VALUE(LEFT(A2, 1))), "Number", "Letter")
sau
=IF(ISNUMBER(--LEFT(A2, 1)), "Number", "Letter")
Funcția ISNUMBER este utilă și pentru extragerea numerelor Iată un exemplu: Obțineți un număr din orice poziție a unui șir de caractere.
Verifică dacă o valoare nu este un număr
Deși Microsoft Excel dispune de o funcție specială, ISNONTEXT, pentru a determina dacă valoarea unei celule nu este text, lipsește o funcție analogă pentru numere.
O soluție simplă este să folosiți ISNUMBER în combinație cu NOT, care returnează opusul unei valori logice. Cu alte cuvinte, atunci când ISNUMBER returnează TRUE, NOT îl convertește în FALSE și invers.
Pentru a o vedea în acțiune, vă rugăm să observați rezultatele următoarei formule:
=NOT(ISNUMBER(A2))
O altă abordare constă în utilizarea împreună a funcțiilor IF și ISNUMBER:
=IF(ISNUMBER(A2), "", "Not number")
Dacă A2 este numeric, formula nu returnează nimic (un șir de caractere gol). Dacă A2 nu este numeric, formula o spune de la început: "Not number".
Dacă doriți să efectuați unele calcule cu numere, introduceți o ecuație sau o altă formulă în rubrica value_if_true în loc de un șir de caractere gol. De exemplu, formula de mai jos va înmulți numerele cu 10 și va produce "Not number" pentru valorile nenumerice:
=IF(ISNUMBER(A2), A2*10, "Not number")
Verificați dacă un interval conține un număr oarecare
În situația în care doriți să testați întregul interval pentru numere, utilizați funcția ISNUMBER în combinație cu SUMPRODUCT, astfel:
SUMPRODUCT(--ISNUMBER( gama ))>0 SUMPRODUCT(ISNUMBER( gama )*1)>0De exemplu, pentru a afla dacă intervalul A2:A5 conține o valoare numerică, formulele ar trebui să fie după cum urmează:
=SUMPRODUCT(--ISNUMBER(A2:A5))>0
=SUMPRODUCT(ISNUMBER(A2:A5)*1)>0
Dacă doriți să afișați "Da" și "Nu" în loc de TRUE și FALSE, utilizați instrucțiunea IF ca un "înveliș" pentru formulele de mai sus. De exemplu:
=IF(SUMPRODUCT(--ISNUMBER(A2:A5))>0, "Yes", "No")
Cum funcționează această formulă
În centrul formulei, funcția ISNUMBER evaluează fiecare celulă din intervalul specificat, de exemplu B2:B5, și returnează TRUE pentru numere, FALSE pentru orice altceva. Deoarece intervalul conține 4 celule, matricea are 4 elemente:
{TRUE;FALSE;FALSE;FALSE;FALSE}
Operația de înmulțire sau dublul unar (--) transformă TRUE și FALSE în 1 și, respectiv, 0:
{1;0;0;0}
Funcția SUMPRODUCT însumează elementele tabloului. Dacă rezultatul este mai mare decât zero, înseamnă că există cel puțin un număr în intervalul respectiv. Astfel, se folosește ">0" pentru a obține un rezultat final de TRUE sau FALSE.
ISNUMBER în formatarea condiționată pentru a evidenția celulele care conțin un anumit text
Dacă doriți să evidențiați celule sau rânduri întregi care conțin un anumit text, creați o regulă de formatare condiționată bazată pe formula ISNUMBER SEARCH (care nu ține cont de majuscule și minuscule) sau ISNUMBER FIND (care ține cont de majuscule și minuscule).
Pentru acest exemplu, vom evidenția rândurile în funcție de valoarea din coloana A. Mai exact, vom evidenția elementele care conțin cuvântul "roșu". Iată cum:
- Selectați toate rândurile de date (A2:C6 în acest exemplu) sau numai coloana în care doriți să evidențiați celulele.
- Pe Acasă în fila Stiluri grup, faceți clic pe Regula nouă > Utilizați o formulă pentru a determina ce celule trebuie formatate .
- În Formatați valorile în cazul în care această formulă este adevărată introduceți formula de mai jos (vă rugăm să observați că coordonatele coloanei sunt blocate cu semnul $):
=ISNUMBER(SEARCH("red", $A2))
- Faceți clic pe butonul Format și alegeți formatul pe care îl doriți.
- Faceți clic de două ori pe OK.
Dacă aveți puțină experiență cu formatarea condiționată în Excel, puteți găsi pașii detaliați cu capturi de ecran în acest tutorial: Cum să creați o regulă de formatare condiționată bazată pe formule.
Ca rezultat, toate elementele de culoare roșie sunt evidențiate:
În loc să "hardcodificați" culoarea în regula de formatare condiționată, puteți să o introduceți într-o celulă predefinită, de exemplu E2, și să faceți referire la acea celulă în formula dvs. (vă rugăm să țineți cont de referința absolută a celulei $E$2). În plus, trebuie să verificați dacă celula de intrare nu este goală:
=AND(ISNUMBER(SEARCH($E$2, $A2)), $E$2"")
Ca rezultat, veți obține o regulă mai flexibilă care evidențiază rândurile pe baza datelor introduse de dvs. în E2:
Iată cum se utilizează funcția ISNUMBER în Excel. Vă mulțumesc pentru lectură și sper să ne vedem pe blog săptămâna viitoare!
Descărcări disponibile
Exemple de formule Excel ISNUMBER