Funció INDIRECTA d'Excel: usos bàsics i exemples de fórmules

  • Comparteix Això
Michael Brown

Aquest tutorial d'EXCEL INDIRECT explica la sintaxi de la funció, els usos bàsics i ofereix una sèrie d'exemples de fórmules que mostren com utilitzar INDIRECT a Excel.

A Microsoft existeixen moltes funcions. Excel, alguns són fàcils d'entendre, altres requereixen una llarga corba d'aprenentatge i el primer s'utilitza més sovint que el segon. I tanmateix, Excel INDIRECTE és únic. Aquesta funció d'Excel no realitza cap càlcul, ni avalua cap condició ni prova lògica.

Bé, què és la funció INDIRECTA a Excel i per a què la faig servir? Aquesta és una molt bona pregunta i esperem que obtingueu una resposta completa en pocs minuts quan hàgiu acabat de llegir aquest tutorial.

    Funció EXCEL INDIRECTA: sintaxi i usos bàsics

    Com el seu nom indica, Excel INDIRECT s'utilitza per fer referència indirecta a cel·les, intervals, altres fulls o llibres de treball. En altres paraules, la funció INDIRECTE us permet crear una referència dinàmica de cel·les o intervals en lloc de codificar-les. Com a resultat, podeu canviar una referència dins d'una fórmula sense canviar la fórmula en si. A més, aquestes referències indirectes no canviaran quan s'insereixin algunes files o columnes noves al full de treball o quan suprimiu les existents.

    Tot això pot ser més fàcil d'entendre amb un exemple. Tanmateix, per poder escriure una fórmula, fins i tot la més senzilla, cal conèixer-laautomàticament. La solució és utilitzar la funció INDIRECTA, com aquesta:

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

    Com que Excel percep "A1:A5" com una mera cadena de text en lloc d'una referència d'interval, no farà cap canvia quan inseriu o suprimiu una fila.

    Utilitzar INDIRECT amb altres funcions d'Excel

    A part de SUMA, INDIRECT s'utilitza sovint amb altres funcions d'Excel com ara FILA, COLUMNA, ADREÇA, BUSCAR V, SUMIF, per citar-ne alguns.

    Exemple 1. Funcions INDIRECTA i FILA

    Sovint, la funció FILA s'utilitza a Excel per retornar una matriu de valors. Per exemple, podeu utilitzar la fórmula de matriu següent (recordeu que cal prémer Ctrl + Maj + Retorn ) per retornar la mitjana dels 3 nombres més petits de l'interval A1:A10:

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

    Tanmateix, si inseriu una fila nova al vostre full de treball, entre les files 1 i 3, l'interval de la funció ROW canviarà a ROW(1:4) i la fórmula retornarà la mitjana dels 4 nombres més petits en lloc de 3. .

    Per evitar que això succeeixi, niu INDIRECT a la funció ROW i la fórmula de matriu sempre es mantindrà correcta, independentment de quantes files s'insereixin o s'eliminin:

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

    A continuació es mostren un parell d'exemples més d'utilitzar INDIRECT i FILA juntament amb la funció GRAN: Com sumar N nombres més grans d'un rang.

    Exemple 2. Funcions INDIRECTA i ADREÇA

    Podeu utilitzar Excel INDIRECTE juntament amb la funció ADREÇA per obtenirun valor en una cel·la determinada sobre la marxa.

    Com recordareu, la funció ADREÇA s'utilitza a Excel per obtenir una adreça de cel·la pels números de fila i columna. Per exemple, la fórmula =ADDRESS(1,3) retorna la cadena $C$1 ja que C1 és la cel·la a la intersecció de la 1a fila i la 3a columna.

    Per crear una referència de cel·la indirecta, només heu d'incrustar la funció ADREÇA en una funció INDIRECTA. fórmula com aquesta:

    =INDIRECT(ADDRESS(1,3))

    Per descomptat, aquesta fórmula trivial només demostra la tècnica. I aquí hi ha alguns exemples que poden resultar realment útils:

    • Fórmula ADREÇA INDIRECTA: com canviar files i columnes.
    • CERCA V i INDIRECTA: com extreure dades de manera dinàmica de diferents fulls. .
    • INDIRECT amb INDEX / MATCH: com portar a la perfecció una fórmula VLOOKUP que distingeix entre majúscules i minúscules.
    • Excel INDIRECT i COUNTIF: com utilitzar la funció COUNTIF en un rang no contigu o en un selecció de cel·les.

    Ús d'INDIRECT amb validació de dades a Excel

    Podeu utilitzar la funció INDIRECTA d'Excel amb validació de dades per crear llistes desplegables en cascada que mostrin diferents opcions segons quin valor l'usuari seleccionat al primer desplegable.

    Una llista desplegable depenent senzilla és molt fàcil de fer. Només calen uns quants rangs amb nom per emmagatzemar els elements del menú desplegable i una fórmula senzilla =INDIRECT(A2) on A2 és la cel·la que mostra la vostra primera llista desplegable.

    Per fer més complexMenús o menús desplegables de 3 nivells amb entrades de diverses paraules, necessitareu una fórmula INDIRECTA una mica més complexa amb una funció SUBSTITUTE imbricada.

    Per obtenir una guia detallada pas a pas sobre com utilitzar INDIRECTA amb Validació de dades d'Excel, consulteu aquest tutorial: Com fer una llista desplegable dependent a Excel.

    Funció INDIRECTA d'Excel: possibles errors i problemes

    Com es demostra als exemples anteriors, la funció INDIRECTA d'Excel. La funció és molt útil quan es tracta de referències de cel·les i intervals. Tanmateix, no tots els usuaris d'Excel ho accepten amb entusiasme sobretot perquè l'ús extensiu d'INDIRECT a les fórmules d'Excel provoca una manca de transparència. La funció INDIRECTA és difícil de revisar ja que la cel·la a la qual fa referència no és la ubicació definitiva del valor utilitzat a la fórmula, cosa que és bastant confús, sobretot quan es treballa amb fórmules complexes grans.

    A més de la funció INDIRECTA. S'ha dit anteriorment, com qualsevol altra funció d'Excel, INDIRECTE pot generar un error si feu un mal ús dels arguments de la funció. Aquí teniu una llista dels errors més típics:

    Excel INDIRECTE #REF! error

    Molt sovint, la funció INDIRECTA retorna un #REF! error en tres casos:

    1. ref_text no és una referència de cel·la vàlida . Si el paràmetre ref_text de la fórmula indirecta no és una referència de cel·la vàlida, la fórmula donarà lloc a #REF! valor d'error. Per evitar possibles problemes, comproveu la funció INDIRECTEarguments.
    2. El límit de l'interval s'ha superat . Si l'argument ref_text de la vostra fórmula indirecta fa referència a un rang de cel·les més enllà del límit de fila de 1.048.576 o del límit de columnes de 16.384, també obtindreu l'error #REF a Excel 2007, 2010 i Excel 2013. Les versions anteriors d'Excel ignoren el superat. limita i retorna algun valor, encara que sovint no és el que esperaries.
    3. El full o llibre de treball referit està tancat. Si la teva fórmula indirecta fa referència a un altre llibre o full de treball d'Excel, això un altre llibre de treball/full de càlcul ha d'estar obert, en cas contrari, INDIRECTE retorna el #REF! error.

    #NOM INDIRECTE d'Excel? error

    Aquest és el cas més obvi, que implica que hi ha algun error en el nom de la funció, la qual cosa ens porta al punt següent: )

    Utilitzar la funció INDIRECTA en localitzacions no angleses

    Pot tenir curiositat per saber que el nom en anglès de la funció INDIRECTA s'ha traduït a 14 idiomes, entre ells:

    • Danès - INDIREKTE
    • finès - EPÄSUORA
    • alemany - INDIREKT
    • hongarès - INDIREKT
    • italià - INDIRETTO
    • Noruec - INDIREKTE
    • Polonès - ADR.POŚR
    • Espanyol - INDIRECTO
    • Suec - INDIREKT
    • Turc - DOLAYLI

    Si esteu interessat en obtenir la llista completa, consulteu aquesta pàgina.

    Un problema comú amb les localitzacions no angleses ésno el nom de la funció INDIRECTA, sinó Configuració regional diferent per al Separador de llistes . A la configuració estàndard de Windows per a Amèrica del Nord i alguns altres països, el Separador de llista predeterminat és una coma. Mentre que als països europeus, la coma es reserva com a Símbol decimal i el Separador de llista s'estableix com a punt i coma.

    Com a resultat, quan es copia una fórmula entre dos diferents locals d'Excel, és possible que rebeu el missatge d'error " Hem trobat un problema amb aquesta fórmula... " perquè el Separador de llista utilitzat a la fórmula és diferent del que s'estableix a la vostra màquina. Si us trobeu amb aquest error quan copieu alguna fórmula INDIRECTA d'aquest tutorial a l'Excel, simplement substituïu totes les comes (,) per punt i coma (;) per solucionar-ho.

    Per comprovar quin separador de llista i quin símbol decimal són configurat a la vostra màquina, obriu el Tauler de control i aneu a Regió i idioma > Configuracions addicionals .

    Tant de bo, aquest tutorial hagi aportat una mica de llum sobre l'ús d'INDIRECT a Excel. Ara que coneixeu els seus punts forts i limitacions, és hora de provar-ho i veure com la funció INDIRECTA pot simplificar les vostres tasques d'Excel. Gràcies per llegir-nos!

    arguments de la funció, oi? Per tant, primer donem un cop d'ull a la sintaxi INDIRECTA d'Excel.

    Sintaxi de la funció INDIRECTA

    La funció INDIRECTA d'Excel retorna una referència de cel·la a partir d'una cadena de text. Té dos arguments, el primer és obligatori i el segon és opcional:

    INDIRECT(text_ref, [a1])

    text_ref - és una referència de cel·la o una referència a una cel·la del forma d'una cadena de text o un interval amb nom.

    a1 - és un valor lògic que especifica quin tipus de referència conté l'argument ref_text:

    • Si s'omet TRUE, ref_text s'interpreta com una referència de cel·la d'estil A1.
    • Si és FALSE, ref_text es tracta com una referència R1C1.

    Tot i que el tipus de referència R1C1 pot ser útil en determinades situacions, probablement voldreu utilitzar les referències A1 conegudes la major part del temps. De totes maneres, gairebé totes les fórmules INDIRECTES d'aquest tutorial utilitzaran referències A1, de manera que ometrem el segon argument.

    Ús bàsic de la funció INDIRECTA

    Per entrar en la visió de la funció, escrivim una fórmula senzilla que demostra com s'utilitza INDIRECTE a Excel.

    Suposem que teniu el número 3 a la cel·la A1 i el text A1 a la cel·la C1. Ara, poseu la fórmula =INDIRECT(C1) a qualsevol altra cel·la i mireu què passa:

    • La funció INDIRECTA fa referència al valor de la cel·la C1, que és A1.
    • La funció s'encamina a cel·la A1 on tria el valor a retornar,que és el número 3.

    Així doncs, el que realment fa la funció INDIRECTA en aquest exemple és convertir una cadena de text en una referència de cel·la .

    Si creieu que això encara té molt poc sentit pràctic, si us plau, pagueu amb mi i us mostraré algunes fórmules més que revelen el poder real de la funció INDIRECTA d'Excel.

    Com utilitzar INDIRECTA a Excel - exemples de fórmules

    Com es demostra a l'exemple anterior, podeu utilitzar la funció INDIRECTE d'Excel per posar l'adreça d'una cel·la a una altra com a cadena de text habitual i obtenir el valor de la 1a cel·la fent referència a la 2a. No obstant això, aquest exemple trivial no és més que una pista de les capacitats INDIRECTES.

    Quan es treballa amb dades reals, la funció INDIRECTA pot convertir qualsevol cadena de text en una referència que inclou cadenes molt complexes que creeu utilitzant els valors de altres cel·les i resultats retornats per altres fórmules d'Excel. Però no posem el carro davant del cavall, i recorrem diverses fórmules indirectes d'Excel, una a la vegada.

    Crear referències indirectes a partir de valors de cel·les

    Com recordeu, la funció INDIRECTA d'Excel permet per als estils de referència A1 i R1C1. Normalment, no podeu utilitzar els dos estils en un sol full alhora, només podeu canviar entre els dos tipus de referència mitjançant Fitxer > Opcions > Fórmules > Casella de selecció R1C1 . Aquesta és la raó per la qual els usuaris d'Excel rarament consideren utilitzar R1C1com a enfocament de referència alternatiu.

    En una fórmula INDIRECTA, podeu utilitzar qualsevol tipus de referència al mateix full si voleu. Abans d'avançar, potser voldreu saber la diferència entre els estils de referència A1 i R1C1.

    Estil A1 és el tipus de referència habitual a Excel que fa referència a una columna seguida d'una fila. nombre. Per exemple, B2 es refereix a la cel·la a la intersecció de la columna B i la fila 2.

    L'estil R1C1 és el tipus de referència oposat: files seguides de columnes, cosa que triga un temps a utilitzar-se. a : ) Per exemple, R4C1 fa referència a la cel·la A4 que es troba a la fila 4, columna 1 d'un full. Si cap número ve després de la lletra, vol dir que us referiu a la mateixa fila o columna.

    I ara, vegem com la funció INDIRECTA gestiona les referències A1 i R1C1:

    Com veieu a la captura de pantalla anterior, tres fórmules indirectes diferents retornen el mateix resultat. Ja has descobert per què? Aposto que tens : )

    • Fórmula a la cel·la D1: =INDIRECT(C1)

    Aquesta és la més fàcil. La fórmula fa referència a la cel·la C1, obté el seu valor: cadena de text A2 , la converteix en una referència de cel·la, es dirigeix ​​a la cel·la A2 i retorna el seu valor, que és 222.

    • Fórmula a la cel·la D3: =INDIRECT(C3,FALSE)

    FALSE al segon argument indica que el valor referit (C3) s'ha de tractar com una referència de cel·la R1C1, és a dir, un número de fila seguit d'un número de columna. Per tant,la nostra fórmula INDIRECTA interpreta el valor de la cel·la C3 (R2C1) com una referència a la cel·la a la conjunció de la fila 2 i la columna 1, que és la cel·la A2.

    Crear referències indirectes a partir dels valors de la cel·la i del text

    De la mateixa manera que hem creat referències a partir dels valors de les cel·les, podeu combinar una cadena de text i una referència de cel·la dins de la vostra fórmula INDIRECTA, lligades amb l'operador de concatenació (&) .

    A l'exemple següent, la fórmula: =INDIRECT("B"&C2) retorna un valor de la cel·la B2 basat en la cadena lògica següent:

    La funció INDIRECTA concatena els elements a l'argument ref_text - text B i el valor de la cel·la C2 -> el valor de la cel·la C2 és el número 2, que fa referència a la cel·la B2 -> la fórmula va a la cel·la B2 i retorna el seu valor, que és el número 10.

    Utilitzant la funció INDIRECTA amb intervals anomenats

    A més de fer referències a partir de valors de cel·la i text, podeu obtenir l'Excel Funció INDIRECTA per fer referència a intervals amb nom .

    Suposem que teniu els intervals amb nom següents al vostre full:

    • Pomes - B2:B6
    • Plàtans - C2:C6
    • Llimones - D2:D6

    Per crear una referència dinàmica d'Excel a qualsevol dels intervals esmentats anteriorment, només cal que introduïu el seu nom en alguna cel·la, per exemple G1, i referiu-vos a aquesta cel·la des d'una fórmula indirecta =INDIRECT(G1) .

    I ara, podeu fer un pas més i inserir aquesta fórmula INDIRECTAa altres funcions d'Excel per calcular la suma i la mitjana dels valors d'un rang determinat, o trobar el valor màxim/mínim dins del rang:

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

    Ara que ja teniu la idea general de com utilitzar la funció INDIRECTA a Excel, podem experimentar amb fórmules més potents.

    Fórmula INDIRECTA per fer referència dinàmica a un altre full de treball

    La utilitat de la funció INDIRECTA d'Excel no es limita a crear referències de cel·les "dinàmiques". També podeu utilitzar-lo per fer referència a cel·les d'altres fulls de treball "sobre la marxa", i aquí us expliquem com.

    Suposem que teniu algunes dades importants al full 1 i voleu extreure aquestes dades al full 2. La captura de pantalla següent mostra com una fórmula indirecta d'Excel pot gestionar aquesta tasca:

    Anem a separar la fórmula que veieu a la captura de pantalla i entenem.

    Com ja sabeu, la manera habitual de fer referència a un altre full. a Excel està escrivint el nom del full seguit del signe d'exclamació i una referència de cel·la/interval, com ara SheetName!Range . Com que el nom d'un full sovint conté espais, és millor que l'inclogueu (el nom, no un espai : ) entre cometes simples per evitar un error, per exemple 'El meu full!'$A$1 .

    I ara, tot el que has de fer és introduir el nom del full en una cel·la, l'adreça de la cel·la en una altra, concatenar-les en una cadena de text i alimentar aquesta cadena a laFunció INDIRECTA. Recordeu que en una cadena de text, heu d'incloure cada element que no sigui una adreça de cel·la o un número entre cometes dobles i enllaçar tots els elements mitjançant l'operador de concatenació (&). patró següent:

    INDIRECT("'" & Nom del full & "'!" & Cel·la per extreure dades )

    Tornant al nostre exemple, poseu el nom del full a la cel·la A1 i escriviu les adreces de les cel·les a la columna B, tal com es mostra a la captura de pantalla anterior. Com a resultat, obtindreu la fórmula següent:

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

    A més, presteu atenció que si copieu la fórmula a diverses cel·les, haureu de bloquejar la referència al nom del full mitjançant les referències de cel·les absolutes com $A$1.

    Notes

    • Si alguna de les cel·les que contenen el nom i l'adreça de la cel·la del segon full (A1 i B1 a la fórmula anterior) està buida , la vostra fórmula indirecta retornarà un error. Per evitar-ho, podeu embolicar la funció INDIRECTA a la funció SI:

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

    • Perquè la fórmula INDIRECTA que fa referència a un altre full funcioni correctament, el full referit ha d'estar obert, en cas contrari, La fórmula retornarà un error #REF. Per evitar l'error, podeu utilitzar la funció IFERROR, que mostrarà una cadena buida, sigui quin sigui l'error que es produeixi:

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

    Creació d'una referència dinàmica d'Excel a un altre llibre de treball

    La fórmula indirecta que fa referènciaa un llibre d'Excel diferent es basa en el mateix enfocament que una referència a un altre full de càlcul. Només heu d'especificar que el nom del llibre de treball s'afegeix al nom del full i l'adreça de la cel·la.

    Per facilitar-vos les coses, comencem fent una referència a un altre llibre de la manera habitual (s'afegeixen apòstrofs en cas que el vostre llibre i/o els noms dels fulls contenen espais):

    '[Nom_Llibre.xlsx]Nom_de_full'! Interval

    Suposant que el nom del llibre es troba a la cel·la A2, el nom del full és a B2 i l'adreça de la cel·la és a C2, obtenim la fórmula següent:

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

    Com que no voleu que les cel·les que contenen els noms del llibre i del full canviïn quan copieu la fórmula a altres cel·les, bloquejar-los mitjançant referències de cel·les absolutes, $A$2 i $B$2, respectivament.

    I ara, podeu escriure fàcilment la vostra pròpia referència dinàmica a un altre llibre d'Excel utilitzant el patró següent:

    =INDIRECT("'[" & Nom del llibre & " ]" & Nom del full & "'!" & Adreça de la cel·la )

    Nota. El llibre de treball al qual fa referència la fórmula ha d'estar sempre obert, en cas contrari, la funció INDIRECTA generarà un error #REF. Com és habitual, la funció IFERROR us pot ajudar a evitar-ho:

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

    Utilitzar la funció INDIRECTA d'Excel per bloquejar una referència de cel·la

    Normalment, Microsoft Excel canvia les referències de cel·la quan inseriu noves o suprimir files o columnes existents en un full. Per evitar que això passi, podeu fer-houtilitzeu la funció INDIRECTA per treballar amb referències de cel·les que haurien de romandre intactes en qualsevol cas.

    Per il·lustrar la diferència, feu el següent:

    1. Introduïu qualsevol valor a qualsevol cel·la, per exemple , número 20 a la cel·la A1.
    2. Consulteu A1 des d'altres dues cel·les de maneres diferents: =A1 i =INDIRECT("A1")
    3. Inseriu una nova fila a sobre de la fila 1.

    A veure què passa? La cel·la amb l'operador lògic igual a encara retorna 20, perquè la seva fórmula s'ha canviat automàticament a =A2. La cel·la amb la fórmula INDIRECTA ara retorna 0, perquè la fórmula no es va canviar quan es va inserir una fila nova i encara fa referència a la cel·la A1, que actualment està buida:

    Després d'aquesta demostració, és possible que estiguis sota la impressió que la funció INDIRECTA és més una molèstia que una ajuda. D'acord, provem-ho d'una altra manera.

    Suposem que voleu sumar els valors de les cel·les A2:A5 i ho podeu fer fàcilment mitjançant la funció SUMA:

    =SUM(A2:A5)

    No obstant això, voleu que la fórmula es mantingui sense canvis, independentment de quantes files s'eliminin o s'insereixin. La solució més òbvia, l'ús de referències absolutes, no ajudarà. Per assegurar-vos-ho, introduïu la fórmula =SUM($A$2:$A$5) en alguna cel·la, inseriu una nova fila, per exemple a la fila 3, i... trobeu la fórmula convertida a =SUM($A$2:$A$6) .

    Per descomptat, aquesta cortesia de Microsoft Excel funcionarà bé a la majoria. casos. No obstant això, hi pot haver escenaris en què no voleu que la fórmula es canviï

    Michael Brown és un entusiasta de la tecnologia dedicat amb una passió per simplificar processos complexos mitjançant eines de programari. Amb més d'una dècada d'experiència en la indústria tecnològica, ha perfeccionat les seves habilitats en Microsoft Excel i Outlook, així com en Google Sheets i Docs. El bloc de Michael es dedica a compartir els seus coneixements i experiència amb altres persones, oferint consells i tutorials fàcils de seguir per millorar la productivitat i l'eficiència. Tant si sou un professional experimentat com si sou un principiant, el bloc de Michael ofereix valuoses idees i consells pràctics per treure el màxim profit d'aquestes eines de programari essencials.