Función INDIRECTA de Excel: usos básicos e exemplos de fórmulas

  • Comparte Isto
Michael Brown

Este titorial de INDIRECTO de Excel explica a sintaxe da función, os usos básicos e ofrece unha serie de exemplos de fórmulas que demostran como usar o INDIRECTO en Excel.

En Microsoft hai unha gran cantidade de funcións. Excel, algúns son fáciles de entender, outros requiren unha longa curva de aprendizaxe e o primeiro úsase con máis frecuencia que o segundo. E aínda así, Excel INDIRECTO é un deste tipo. Esta función de Excel non realiza ningún cálculo, nin avalía ningunha condición nin proba lóxica.

Pois entón, que é a función INDIRECTA en Excel e para que a uso? Esta é unha pregunta moi boa e esperamos que teñas unha resposta completa nuns minutos cando remates de ler este tutorial.

    Función INDIRECTA de Excel: sintaxe e usos básicos

    Como o seu nome indica, Excel INDIRECTO úsase para facer referencia indirecta a celas, intervalos, outras follas ou libros de traballo. Noutras palabras, a función INDIRECTA permíteche crear unha cela dinámica ou unha referencia de rango en lugar de codificalas. Como resultado, pode cambiar unha referencia dentro dunha fórmula sen cambiar a propia fórmula. Ademais, estas referencias indirectas non cambiarán cando se insiran algunhas filas ou columnas novas na folla de traballo ou cando elimine as existentes.

    É posible que todo isto sexa máis fácil de entender a partir dun exemplo. Non obstante, para poder escribir unha fórmula, incluso a máis sinxela, cómpre coñecer aautomaticamente. A solución é usar a función INDIRECTA, como esta:

    =SUM(INDIRECT("A2:A5"))

    Dado que Excel percibe "A1:A5" como unha mera cadea de texto en lugar de unha referencia de rango, non fará ningunha cambia ao inserir ou eliminar unha(s) fila(s).

    Utilizando INDIRECTO con outras funcións de Excel

    Ademais de SUMA, INDIRECTO utilízase con frecuencia con outras funcións de Excel como FILA, COLUMNA, DIRECCIÓN, BUSCAR V, SUMIF, por citar algúns.

    Exemplo 1. Funcións INDIRECTAS e FILAS

    Moitas veces, a función FILA úsase en Excel para devolver unha matriz de valores. Por exemplo, pode usar a seguinte fórmula matricial (lembra que é necesario premer Ctrl + Maiús + Intro ) para devolver a media dos 3 números máis pequenos do intervalo A1:A10:

    =AVERAGE(SMALL(A1:A10,ROW(1:3)))

    Non obstante, se inseris unha nova fila na túa folla de traballo, en calquera lugar entre as filas 1 e 3, o intervalo da función ROW cambiarase a ROW(1:4) e a fórmula devolverá a media dos catro números máis pequenos en lugar de 3. .

    Para evitar que isto ocorra, aniñe INDIRECTO na función ROW e a súa fórmula matricial sempre permanecerá correcta, sen importar cantas filas se insiran ou eliminen:

    =AVERAGE(SMALL(A1:A10,ROW(INDIRECT("1:3"))))

    Aquí tes un par de exemplos máis de uso de INDIRECTO e FILA xunto coa función GRANDE: Como sumar os N números máis grandes dun intervalo.

    Exemplo 2. As funcións INDIRECTO e DIRECCIÓN

    Podes usar Excel INDIRECTO xunto coa función DIRECCIÓN para obterun valor nunha determinada cela sobre a marcha.

    Como recordarás, a función DIRECCIÓN utilízase en Excel para obter un enderezo de cela polos números de fila e columna. Por exemplo, a fórmula =ADDRESS(1,3) devolve a cadea $C$1 xa que C1 é a cela na intersección da 1a fila e a 3a columna.

    Para crear unha referencia de cela indirecta, simplemente incrusta a función DIRECCIÓN nun INDIRECTO. fórmula como esta:

    =INDIRECT(ADDRESS(1,3))

    Por suposto, esta fórmula trivial só demostra a técnica. E aquí tes algúns exemplos que poden resultar realmente útiles:

    • Fórmula de DIRECCIÓN INDIRECTA: como cambiar filas e columnas.
    • BUSCAR V e INDIRECTA: como extraer dinámicamente datos de diferentes follas. .
    • INDIRECT con ÍNDICE/COINCIDENCIA: como perfeccionar unha fórmula de BUSCAR V que distingue entre maiúsculas e minúsculas.
    • Excel INDIRECTO e COUNTIF: como usar a función COUNTIF nun intervalo non contiguo ou nun selección de celas.

    Uso de INDIRECTO con validación de datos en Excel

    Pode usar a función INDIRECTO de Excel coa validación de datos para crear listas despregábeis en cascada que mostren diferentes opcións dependendo do valor o usuario seleccionado no primeiro menú despregable.

    Unha lista despregábel dependente sinxela é moi fácil de facer. Todo o que fai falta son algúns intervalos con nome para almacenar os elementos do menú despregable e unha fórmula sinxela =INDIRECT(A2) onde A2 é a cela que mostra a súa primeira lista despregable.

    Para facer máis complexoMenús de 3 niveis ou menús despregables con entradas de varias palabras, necesitarás unha fórmula INDIRECTA un pouco máis complexa cunha función SUBSTITUTE aniñada.

    Para obter unha guía detallada paso a paso sobre como usar INDIRECTO con Validación de datos de Excel, consulte este tutorial: Como facer unha lista despregable dependente en Excel.

    Función INDIRECTA de Excel: posibles erros e problemas

    Como se demostra nos exemplos anteriores, a función INDIRECTA de Excel. A función é moi útil cando se trata de referencias de celas e intervalos. Non obstante, non todos os usuarios de Excel o aceptan con entusiasmo principalmente porque o uso extensivo de INDIRECTO nas fórmulas de Excel resulta en falta de transparencia. A función INDIRECTA é difícil de revisar xa que a cela á que se refire non é a localización final do valor usado na fórmula, o que resulta bastante confuso, especialmente cando se traballa con fórmulas complexas grandes.

    Ademais da función INDIRECTA. dito anteriormente, como calquera outra función de Excel, INDIRECTO pode xerar un erro se usa mal os argumentos da función. Aquí tes unha lista dos erros máis típicos:

    Excel INDIRECTO #REF! erro

    A maioría das veces, a función INDIRECTA devolve un #REF! erro en tres casos:

    1. ref_text non é unha referencia de cela válida . Se o parámetro ref_text da túa fórmula indirecta non é unha referencia de cela válida, a fórmula dará como resultado o #REF! valor de erro. Para evitar posibles problemas, comprobe a función INDIRECTAargumentos.
    2. O límite de intervalo superouse . Se o argumento ref_text da súa fórmula indirecta refírese a un rango de celas máis aló do límite de filas de 1.048.576 ou do límite de columnas de 16.384, tamén obterá o erro #REF en Excel 2007, 2010 e Excel 2013. As versións anteriores de Excel ignoran o superado. limita e devolve algún valor, aínda que moitas veces non é o que esperarías.
    3. A folla ou libro de traballo referido está pechado. Se a túa fórmula indirecta fai referencia a outro libro ou folla de cálculo de Excel, iso outro libro/folla de cálculo debe estar aberto, se non, INDIRECTO devolve o #REF! erro.

    #NAME INDIRECTO de Excel? error

    Este é o caso máis obvio, o que implica que hai algún erro no nome da función, o que nos leva ao seguinte punto: )

    Uso da función INDIRECTO en linguas non inglesas

    Quizais teñas curiosidade por saber que o nome inglés da función INDIRECTO foi traducido a 14 idiomas, incluíndo:

    • Danés - INDIREKTE
    • finés - EPÄSUORA
    • alemán - INDIREKT
    • húngaro - INDIREKT
    • italiano - INDIRETTO
    • Noruego - INDIREKTE
    • Polaco - ADR.POŚR
    • Español - INDIRECTO
    • Sueco - INDIREKT
    • Turco - DOLAYLI

    Se estás interesado en obter a lista completa, consulta esta páxina.

    Un problema común coas localizacións non inglesas énon o nome da función INDIRECTA, senón Configuracións rexionais diferentes para o Separador de listas . Na configuración estándar de Windows para América do Norte e algúns outros países, o Separador de listas predeterminado é unha coma. Mentres nos países europeos, a coma resérvase como Símbolo decimal e o Separador de listas está configurado como punto e coma.

    Como resultado, ao copiar unha fórmula entre dous diferentes locais de Excel, pode recibir a mensaxe de erro " Atopamos un problema con esta fórmula... " porque o Separador de listas usado na fórmula é diferente do que está configurado no seu equipo. Se atopas este erro ao copiar algunha fórmula INDIRECTA deste tutorial no teu Excel, simplemente substitúe todas as comas (,) por punto e coma (;) para solucionalo.

    Para comprobar que separador de lista e símbolo decimal son configurado no seu equipo, abra o Panel de control e vaia a Rexión e idioma > Configuracións adicionais .

    Con sorte, este tutorial arroxa algo de luz sobre o uso de INDIRECTO en Excel. Agora que coñeces os seus puntos fortes e limitacións, é hora de probalo e ver como a función INDIRECTA pode simplificar as túas tarefas de Excel. Grazas por ler!

    argumentos da función, non? Entón, vexamos primeiro a sintaxe INDIRECTA de Excel.

    Sintaxe da función INDIRECTA

    A función INDIRECTA en Excel devolve unha referencia de cela a partir dunha cadea de texto. Ten dous argumentos, o primeiro é obrigatorio e o segundo é opcional:

    INDIRECTO(texto_ref, [a1])

    texto_ref - é unha referencia de cela ou unha referencia a unha cela no forma dunha cadea de texto ou un intervalo con nome.

    a1 - é un valor lóxico que especifica que tipo de referencia está contida no argumento ref_text:

    • Se é VERDADEIRO ou se omite, ref_text interprétase como unha referencia de cela de estilo A1.
    • Se é FALSO, ref_text trátase como unha referencia R1C1.

    Aínda que o tipo de referencia R1C1 pode ser útil en determinadas situacións, probablemente quererá utilizar as referencias familiares A1 a maior parte do tempo. De todos os xeitos, case todas as fórmulas INDIRECTAS deste titorial usarán referencias A1, polo que omitiremos o segundo argumento.

    Uso básico da función INDIRECTA

    Para entrar na visión da función, escribamos unha fórmula sinxela que demostra como se usa INDIRECTO en Excel.

    Supoña que tes o número 3 na cela A1 e o texto A1 na cela C1. Agora, pon a fórmula =INDIRECT(C1) en calquera outra cela e mira o que pasa:

    • A función INDIRECTA fai referencia ao valor da cela C1, que é A1.
    • A función envíase a cela A1 onde escolle o valor a devolver,que é o número 3.

    Entón, o que realmente fai a función INDIRECTA neste exemplo é converter unha cadea de texto nunha referencia de cela .

    Se pensas que isto aínda ten pouco sentido práctico, ten paciencia comigo e mostrareiche algunhas fórmulas máis que revelan o poder real da función INDIRECTO de Excel.

    Como usar INDIRECTO en Excel: exemplos de fórmulas

    Como se demostra no exemplo anterior, pode usar a función INDIRECTA de Excel para poñer o enderezo dunha cela noutra como unha cadea de texto habitual e obter o valor da 1a cela facendo referencia á 2a. Non obstante, ese exemplo trivial non é máis que unha suxestión sobre as capacidades INDIRECTAS.

    Ao traballar con datos reais, a función INDIRECTO pode converter calquera cadea de texto nunha referencia, incluíndo cadeas moi complexas que se crean utilizando os valores de outras celas e resultados devoltos por outras fórmulas de Excel. Pero non poñamos o carro antes do cabalo, e percorremos varias fórmulas indirectas de Excel, unha por vez.

    Crear referencias indirectas a partir de valores de cela

    Como lembras, a función INDIRECTA de Excel permite para os estilos de referencia A1 e R1C1. Normalmente, non pode usar os dous estilos nunha soa folla á vez, só pode cambiar entre os dous tipos de referencia mediante Ficheiro > Opcións > Fórmulas > Caixa de verificación R1C1 . Esta é a razón pola que os usuarios de Excel raramente consideran usar R1C1como método de referencia alternativo.

    Nunha fórmula INDIRECTA, pode usar calquera tipo de referencia na mesma folla se o desexa. Antes de avanzar, pode querer saber a diferenza entre os estilos de referencia A1 e R1C1.

    Estilo A1 é o tipo de referencia habitual en Excel que fai referencia a unha columna seguida dunha fila. número. Por exemplo, B2 refírese á cela na intersección da columna B e a fila 2.

    Estilo R1C1 é o tipo de referencia oposto: filas seguidas de columnas, o que leva algún tempo en usarse. a : ) Por exemplo, R4C1 refírese á cela A4 que está na fila 4, columna 1 dunha folla. Se non aparece ningún número despois da letra, estase a referir á mesma fila ou columna.

    E agora, vexamos como a función INDIRECTA xestiona as referencias A1 e R1C1:

    Como ves en na captura de pantalla anterior, tres fórmulas indirectas diferentes devolven o mesmo resultado. Xa descubriches por que? Aposto a que tes : )

    • Fórmula na cela D1: =INDIRECT(C1)

    Esta é a máis sinxela. A fórmula refírese á cela C1, obtén o seu valor: cadea de texto A2 , convérteo nunha referencia de cela, diríxese á cela A2 e devolve o seu valor, que é 222.

    • Fórmula na cela D3: =INDIRECT(C3,FALSE)

    FALSO no segundo argumento indica que o valor referido (C3) debe tratarse como unha referencia de cela R1C1, é dicir, un número de fila seguido dun número de columna. Polo tanto,a nosa fórmula INDIRECTA interpreta o valor da cela C3 (R2C1) como unha referencia á cela na conxunción da fila 2 e a columna 1, que é a cela A2.

    Creación de referencias indirectas a partir de valores de cela e texto

    Do mesmo xeito que creamos referencias a partir de valores de cela, podes combinar unha cadea de texto e unha referencia de cela dentro da túa fórmula INDIRECTA, vinculadas co operador de concatenación (&) .

    No seguinte exemplo, a fórmula: =INDIRECT("B"&C2) devolve un valor da cela B2 baseado na seguinte cadea lóxica:

    A función INDIRECTA concatena os elementos no argumento ref_text - texto B e o valor da cela C2 -> o valor da cela C2 é o número 2, o que fai unha referencia á cela B2 -> a fórmula vai á cela B2 e devolve o seu valor, que é o número 10.

    Utilizando a función INDIRECTA con rangos nomeados

    Ademais de facer referencias a partir de valores de cela e texto, podes obter o Excel Función INDIRECTA para referirse a intervalos con nome .

    Supoñamos que tes os seguintes intervalos con nome na túa folla:

    • Mazás - B2:B6
    • Plátanos - C2:C6
    • Limóns - D2:D6

    Para crear unha referencia dinámica de Excel a calquera dos intervalos mencionados anteriormente, simplemente introduza o seu nome nalgunha cela, digamos G1 e refírese a esa cela desde unha fórmula indirecta =INDIRECT(G1) .

    E agora pode dar un paso máis e incorporar esta fórmula INDIRECTAnoutras funcións de Excel para calcular a suma e a media dos valores dun determinado intervalo denominado, ou atopar o valor máximo/mínimo dentro do rango:

    • =SUM(INDIRECT(G1))
    • =AVERAGE(INDIRECT(G1))
    • =MAX(INDIRECT(G1))
    • =MIN(INDIRECT(G1))

    Agora que xa tes a idea xeral de como usar a función INDIRECTA en Excel, podemos experimentar con fórmulas máis potentes.

    Fórmula INDIRECTA para referirse dinámicamente a outra folla de traballo

    A utilidade da función INDIRECTA de Excel non se limita a construír referencias de cela "dinámicas". Tamén podes utilizalo para facer referencia a celas noutras follas de traballo "en tempo real", e aquí tes como.

    Supoña que tes algúns datos importantes na folla 1 e queres extraer eses datos na folla 2. A seguinte captura de pantalla mostra como unha fórmula indirecta de Excel pode xestionar esta tarefa:

    Separamos a fórmula que ves na captura de pantalla e entendemos.

    Como sabes, a forma habitual de facer referencia a outra folla en Excel é escribir o nome da folla seguido do signo de exclamación e unha referencia de cela ou intervalo, como SheetName!Range . Dado que o nome dunha folla adoita conter un(s) espazo(s), é mellor que o encerra (o nome, non un espazo : ) entre comiñas simples para evitar un erro, por exemplo 'A miña folla!'$A$1 .

    E agora, todo o que tes que facer é introducir o nome da folla nunha cela, o enderezo da cela noutra, concatenalos nunha cadea de texto e alimentar esa cadea aoFunción INDIRECTA. Lembra que nunha cadea de texto tes que encerrar entre comiñas dobres cada elemento que non sexa un enderezo de cela ou un número e vincular todos os elementos mediante o operador de concatenación (&).

    Dado o anterior, obtemos o seguinte patrón:

    INDIRECTO("'" & Nome da folla & "'!" & Cela onde extraer datos )

    Volvendo ao noso exemplo, pon o nome da folla na cela A1 e escribe os enderezos das celas na columna B, como se demostra na captura de pantalla anterior. Como resultado, obtén a seguinte fórmula:

    INDIRECT("'" & $A$1 & "'!" & B1)

    Ademais, preste atención a que se está a copiar a fórmula en varias celas, debe bloquear a referencia ao nome da folla usando as referencias de cela absolutas como $A$1.

    Notas

    • Se algunha das celas que conteñen o nome e o enderezo da cela da segunda folla (A1 e B1 na fórmula anterior) está baleira , a túa fórmula indirecta devolverá un erro. Para evitar isto, podes envolver a función INDIRECTA na función SE:

      IF(OR($A$1="",B1=""), "", INDIRECT("'" & $A$1 & "'!" & B1))

    • Para que funcione correctamente a fórmula INDIRECTA que fai referencia a outra folla, a folla referida debe estar aberta; fórmula devolverá un erro #REF. Para evitar o erro, pode utilizar a función IFERROR, que mostrará unha cadea baleira, calquera que se produza o erro:

      IFERROR(INDIRECT("'" & $A$1 & "'!" &B1), "")

    Creación dunha referencia dinámica de Excel a outro libro de traballo

    A fórmula indirecta á que se refirea un libro de Excel diferente baséase no mesmo enfoque que unha referencia a outra folla de cálculo. Só tes que especificar que o nome do libro de traballo é engadido ao nome da folla e ao enderezo da cela.

    Para facilitar as cousas, comecemos facendo unha referencia a outro libro do xeito habitual (engádense apóstrofos no caso de que o teu libro e/ou os nomes das follas conteñen espazos):

    '[Nome_libro.xlsx]Nome_folla'!Intervalo

    Asumindo que o nome do libro está na cela A2, o nome da folla está en B2 e o enderezo da cela está en C2, obtemos a seguinte fórmula:

    =INDIRECT("'[" & $A$2 & "]" & $B$2 & "'!" & C2)

    Xa que non quere que as celas que conteñen os nomes do libro e da folla cambien ao copiar a fórmula noutras celas, bloquealos usando referencias de cela absolutas, $A$2 e $B$2, respectivamente.

    E agora podes escribir facilmente a túa propia referencia dinámica noutro libro de Excel usando o seguinte patrón:

    =INDIRECT("'[" & Nome do libro & " ]" & Nome da folla & "'!" & Enderezo da cela )

    Nota. O libro de traballo ao que fai referencia a túa fórmula debe estar sempre aberto, se non, a función INDIRECTA xerará un erro #REF. Como é habitual, a función IFERROR pode axudarche a evitalo:

    =IFERROR(INDIRECT("'[" & A2 & "]" & $A$1 & "'!" & B1), "")

    Utilizando a función INDIRECTA de Excel para bloquear unha referencia de cela

    Normalmente, Microsoft Excel cambia as referencias de cela ao inserir novas ou eliminar filas ou columnas existentes nunha folla. Para evitar que isto suceda, podeuse a función INDIRECTO para traballar con referencias de cela que deberían permanecer intactas en calquera caso.

    Para ilustrar a diferenza, faga o seguinte:

    1. Introduza calquera valor en calquera cela, digamos. , número 20 na cela A1.
    2. Refírese a A1 doutras dúas celas de diferentes xeitos: =A1 e =INDIRECT("A1")
    3. Insira unha nova fila encima da fila 1.

    Mira que pasa? A cela co operador lóxico igual a aínda devolve 20, porque a súa fórmula cambiouse automaticamente a =A2. A cela coa fórmula INDIRECTA agora devolve 0, porque a fórmula non se cambiou cando se inseriu unha nova fila e aínda se refire á cela A1, que está baleira actualmente:

    Despois desta demostración, pode estar baixo o impresión de que a función INDIRECTA é máis unha molestia que unha axuda. Está ben, imos probalo doutro xeito.

    Supoña que queres sumar os valores das celas A2:A5, e podes facelo facilmente usando a función SUMA:

    =SUM(A2:A5)

    Non obstante, quere que a fórmula permaneza sen cambios, sen importar cantas filas se eliminen ou se insiran. A solución máis obvia -o uso de referencias absolutas- non axudará. Para asegurarte, introduce a fórmula =SUM($A$2:$A$5) nalgunha cela, insire unha nova fila, digamos na fila 3, e... atopa a fórmula convertida en =SUM($A$2:$A$6) .

    Por suposto, tal cortesía de Microsoft Excel funcionará ben na maioría dos casos. casos. Non obstante, pode haber escenarios nos que non queres que se cambie a fórmula

    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.