Como usar a función IFNA en Excel con exemplos

  • Comparte Isto
Michael Brown

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:

    1. No primeiro argumento ( valor ), poña unha fórmula afectada polo erro #N/A.
    2. 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)

    Michael Brown é un entusiasta da tecnoloxía dedicada á súa paixón por simplificar procesos complexos mediante ferramentas de software. Con máis dunha década de experiencia na industria tecnolóxica, perfeccionou as súas habilidades en Microsoft Excel e Outlook, así como en Follas de cálculo e Documentos de Google. O blog de Michael está dedicado a compartir o seu coñecemento e experiencia con outros, proporcionando consellos e titoriais fáciles de seguir para mellorar a produtividade e a eficiencia. Tanto se es un profesional experimentado como un principiante, o blog de Michael ofrece valiosas ideas e consellos prácticos para sacar o máximo proveito destas ferramentas de software esenciais.