Táboa de contidos
Tes moitos erros #N/A nas túas follas de traballo e tes curiosidade por saber se hai algún xeito de mostrar un texto personalizado? A fórmula IFNA é a solución que necesitas.
Cando unha fórmula de Excel non pode identificar nin atopar algo, xera o erro #N/A. Para detectar tal erro e substituílo por unha mensaxe fácil de usar, pode usar a función IFNA. Noutras palabras, #N/A é a forma de Excel de dicir que o valor que busca non está presente no conxunto de datos referenciado. IFNA é a túa forma de detectar e xestionar ese erro.
Función IFNA en Excel
A función IFNA de Excel está destinada a detectar e xestionar erros #N/A. Se unha fórmula avalía como #N/A, IFNA captura ese erro e substitúeo por un valor personalizado que especifique; en caso contrario, devolve un resultado normal da fórmula.
Sintaxe IFNA
A sintaxe da función IFNA é a seguinte:
IFNA(valor, valor_se_na)Onde:
Valor (obrigatorio): fórmula, valor ou referencia para comprobar se hai un erro #N/A.
Value_if_na (obrigatorio): o valor para devolver se se detecta un erro #N/A.
Notas de uso
- A función IFNA só xestiona #N/A sen suprimir ningún outro erro.
- Se o argumento valor é unha fórmula de matriz , IFNA devolve unha matriz de resultados, un por cela, como se mostra neste exemplo.
Dispoñibilidade de IFNA
A función IFNA foi introducida enExcel 2013 e está dispoñible en todas as versións posteriores, incluíndo Excel 2016, Excel 2019, Excel 2021 e Microsoft 365.
En versións anteriores, pode detectar erros #N/A utilizando as funcións IF e ISNA xuntos.
Como usar a función IFNA en Excel
Para usar eficazmente IFNA en Excel, siga este enfoque xenérico:
- No primeiro argumento ( valor ), poña unha fórmula afectada polo erro #N/A.
- No segundo argumento ( value_if_na ), escriba o texto que quere devolver en lugar da notación do erro estándar. Para devolver unha cela baleira cando non se atope nada, proporcione unha cadea baleira (""").
Para devolver texto personalizado , a fórmula xenérica é:
IFNA( fórmula(), " texto personalizado")Para devolver unha cela en branco , a fórmula xenérica é:
IFNA( fórmula(), "")Vexamos como funciona nun exemplo sinxelo. Na táboa seguinte, supoña que quere saber como se clasifica a puntuación dun alumno determinado entre outros. Dado que os datos están ordenados pola columna Puntuación de maior a menor, a clasificación coincidirá coa posición relativa do alumno na táboa. E para obter a posición, podes usar a función MATCH na súa forma máis sinxela:
=MATCH(E1, A2:A10, 0)
Porque o valor de busca (Neal) non está dispoñible na matriz de busca (A2:A10), prodúcese un erro #N/A.
Ao atoparse con este erro, os usuarios inexpertos poden pensar que hai algo mal cofórmula, e ti como creador do libro de traballo recibirás moitas preguntas. Para evitar isto, pode indicar explícitamente que a fórmula é correcta, simplemente non pode atopar o valor que se lle pide que busque. Entón, aniñas a fórmula MATCH no primeiro argumento de IFNA e, no segundo argumento, escribe o teu texto personalizado, "Non atopado" no noso caso:
=IFNA(MATCH(E1, A2:A10, 0), "Not found")
Agora, en lugar de a notación de erro estándar, o seu propio texto móstrase nunha cela, informando aos usuarios de que o valor de busca non está presente no conxunto de datos:
Como usar IFNA con VLOOKUP
A maioría das veces o erro #N/A prodúcese en funcións que buscan algo como BUSCAR V, BUSCAR, BUSCAR e COINCIDIR. Os exemplos que aparecen a continuación cobren algúns casos de uso típicos.
Exemplo 1. Fórmula básica de BUSCAR V IFNA
Para atrapar os erros #N/A que se producen cando BUSCAR V non pode atopar unha coincidencia, comprobe o seu resultado usando IFNA e especifique o valor que se mostrará en lugar do erro. A práctica habitual é envolver a función IFNA na súa fórmula BUSCAR V existente usando esta sintaxe:
IFNA(BUSCARV(), " o seu texto")Na nosa táboa de exemplo, supoña que quere recuperar a puntuación dun alumno en particular (E1). Para iso, estás a usar esta fórmula clásica de BUSCAR VOLTA:
=VLOOKUP(E1, A2:B10, 2, FALSE)
O problema é que Neal non fixo o exame, polo tanto, o seu nome non está na lista e, obviamente, BUSCAR VAL non pode atopar unha coincidencia.
Para ocultar o erro, nósenvolve VLOOKUP en IFNA así:
=IFNA(VLOOKUP(E1, A2:B10, 2, FALSE), "Did not take the exam")
Agora, o resultado non parece tan intimidante para o usuario e é moito máis informativo:
Exemplo 2. BUSCAR V IFNA para buscar en varias follas
A función IFNA tamén é útil para realizar as chamadas buscas secuenciais ou encadeadas en varias follas ou diferentes libros de traballo. A idea é que aniñe algunhas fórmulas IFNA(BUSCARV(…)) unhas noutras deste xeito:
IFNA(BUSCARV(…), IFNA(BUSCARV(…), IFNA(BUSCARV(…), "No atopado")))Se un VLOOKUP principal non atopa nada, a súa función IFNA executa a seguinte VLOOKUP ata que se atope o valor desexado. Se todas as buscas fallan, a fórmula devolverá o texto especificado.
Supoño que tes as puntuacións de diferentes clases listadas en diferentes follas (chamadas Clase A , Clase B e Clase C ). O teu obxectivo é obter a puntuación dun alumno en particular, cuxo nome está introducido na cela B1 da túa folla de traballo actual. Para cumprir a tarefa, fai uso desta fórmula:
=IFNA(VLOOKUP(B1, 'Class A'!A2:B5, 2, FALSE), IFNA(VLOOKUP(B1, 'Class B'!A2:B5, 2, FALSE), IFNA(VLOOKUP(B1, 'Class C'!A2:B5, 2, FALSE), "Not found")))
A fórmula busca secuencialmente o nome especificado en tres follas diferentes na orde de aniñación das BUSCAR V e trae a primeira coincidencia atopada:
Exemplo 3. IFNA con INDEX MATCH
De forma similar, IFNA pode detectar erros #N/A xerados por outras funcións de busca. A modo de exemplo, usámolo xunto co INDEX MATCHfórmula:
=IFNA(INDEX(B2:B10, MATCH(E1, A2:A10, 0)), "Not found")
A esencia da fórmula é a mesma que en todos os exemplos anteriores: INDEX MATCH realiza unha busca e IFNA avalía o resultado e detecta un erro #N/A se o non se atopa o valor referenciado.
IFNA para devolver varios resultados
No caso de que a función interna (é dicir, a fórmula colocada no valor argumento) devolve varios valores, IFNA probará cada valor devolto individualmente e mostrará unha matriz de resultados. Por exemplo:
=IFNA(VLOOKUP(D2:D4, A2:B10, 2, FALSE), "Not found")
En Dynamic Array Excel (Microsoft 365 e Excel 2021), unha fórmula normal na cela superior (E2) verte todos os resultados nas celas veciñas automaticamente (en termos de Excel, chámase intervalo de derrame).
En versións predinámicas (Excel 2019 e anteriores), pódese conseguir un efecto similar usando unha matriz de varias celas. fórmula, que se completa co atallo Ctrl + Maiús + Intro.
Cal é a diferenza entre IFNA e IFERROR?
Dependendo da causa raíz do problema, unha fórmula de Excel pode provocar diferentes erros como #N/A, #NAME, #VALUE, #REF, #DIV/0, #NUM e outros. A función IFERROR detecta todos eses erros mentres que IFNA está limitado só a #N/A. Cal é mellor escoller? Iso depende da situación.
Se queres suprimir calquera tipo de erro , utiliza a función IFERROR. É especialmente útil en cálculos complexos cando unha fórmulainclúe varias funcións que poden xerar diferentes erros.
Con funcións de busca , é mellor que uses IFNA xa que só mostra un resultado personalizado cando non se atopa un valor de busca e non oculta o subxacente. problemas coa propia fórmula.
Para ilustrar a diferenza, recuperemos a nosa fórmula básica de IFNA VLOOKUP e escribamos "accidentalmente" mal o nome da función (VLOKUP no canto de VLOOKUP).
=IFNA(VLOKUP(E1, A2:B10, 2, FALSE), "Did not take the exam")
IFNA non suprime este erro, polo que podes ver claramente que hai algún problema nun dos nomes das funcións:
Agora, vexamos que pasa se usas IFERROR:
=IFERROR(VLOKUP(E1, A2:B10, 2, FALSE), "Did not take the exam")
Hmm... di que Olivia non fixo o exame, o que non é certo! Isto débese a que a función IFERROR atrapa o #NAME? erro e devolve o texto personalizado no seu lugar. Nesta situación, non só devolve información incorrecta, senón que tamén oculta o problema coa fórmula.
Así é como usar a fórmula IFNA en Excel. Grazas por ler e espero verte no noso blog a próxima semana!
Descargas dispoñibles
Exemplos de fórmulas de IFNA de Excel (ficheiro .xlsx)