Funció INDEX d'Excel amb exemples de fórmules

  • Comparteix Això
Michael Brown

En aquest tutorial, trobareu una sèrie d'exemples de fórmules que demostren els usos més eficients d'INDEX a Excel.

D'entre totes les funcions d'Excel el poder de les quals sovint es subestima i s'utilitza poc, INDEX definitivament es classificaria en algun lloc dels 10 primers. Mentrestant, aquesta funció és intel·ligent, flexible i versàtil.

Llavors, què és la funció INDEX a Excel? Bàsicament, una fórmula INDEX retorna una referència de cel·la des d'una matriu o un interval determinats. En altres paraules, utilitzeu INDEX quan coneixeu (o podeu calcular) la posició d'un element en un interval i voleu obtenir el valor real d'aquest element.

Això pot semblar una mica trivial, però una vegada us adoneu del potencial real de la funció INDEX, podria fer canvis crucials en la vostra manera de calcular, analitzar i presentar dades als vostres fulls de treball.

    Funció INDEX d'Excel - sintaxi i usos bàsics

    Hi ha dues versions de la funció INDEX a Excel: forma matriu i forma de referència. Tots dos formularis es poden utilitzar en totes les versions de Microsoft Excel 365 - 2003.

    Formulari de matriu INDEX

    El formulari de matriu INDEX retorna el valor d'un determinat element en un rang o matriu basat en la fila i els números de columna que especifiqueu.

    INDEX(matriu, row_num, [column_num])
    • matriu : és un interval de cel·les, un rang anomenat o una taula.
    • row_num - és el número de fila de la matriu des del qual es retorna un valor. Si row_num ésretorna un valor, però en aquesta fórmula, l'operador de referència (:) l'obliga a retornar una referència). I com que $A$1 és el nostre punt de partida, el resultat final de la fórmula és l'interval $A$1:$A$9.

      La captura de pantalla següent mostra com podeu utilitzar aquesta fórmula d'índex per crear una gota dinàmica. llista baixa.

      Consell. La manera més senzilla de crear una llista desplegable actualitzada dinàmicament és crear una llista amb nom basada en una taula. En aquest cas, no necessitareu cap fórmula complexa, ja que les taules d'Excel són rangs dinàmics per si mateixos.

      També podeu utilitzar la funció INDEX per crear llistes desplegables dependents i el tutorial següent explica els passos: Creació d'una llista desplegable en cascada a Excel.

      5. Potents Vlookups amb INDEX / MATCH

      Realització de cerques verticals: aquí és on la funció INDEX realment brilla. Si alguna vegada heu provat d'utilitzar la funció BUSCAR V d'Excel, coneixeu les seves nombroses limitacions, com ara la impossibilitat d'extraure valors de les columnes a l'esquerra de la columna de cerca o el límit de 255 caràcters per a un valor de cerca.

      El L'enllaç INDEX/MATCH és superior a VLOOKUP en molts aspectes:

      • No hi ha problemes amb les cerques virtuals a l'esquerra.
      • Sense límit a la mida del valor de cerca.
      • No hi ha cap tipus d'ordenació. obligatori (Cerca V amb coincidència aproximada requereix ordenar la columna de cerca en ordre ascendent).
      • Podeu inserir i eliminar columnes d'una taula sense actualitzar-les.totes les fórmules associades.
      • I, per últim, però no menys important, INDEX / MATCH no alenteix el vostre Excel com ho fan diverses Vlookups.

      Utilitzeu INDEX / MATCH de la següent manera :

      =INDEX ( columna per retornar un valor de , (COINCIDENT ( valor de cerca , columna per cercar , 0))

      Per Per exemple, si girem la nostra taula d'origen de manera que Nom del planeta es converteixi en la columna de l'extrem dret, la fórmula INDEX/COINCIDENCIA encara obté un valor coincident de la columna de l'esquerra sense cap problema.

      Per obtenir més consells i exemples de fórmules, consulteu el tutorial d'índex/coincidència d'Excel.

      6. Fórmula d'índex d'Excel per obtenir 1 rang d'una llista d'intervals

      Un altre ús intel·ligent i potent de la funció INDEX a Excel és la possibilitat d'obtenir un rang d'una llista d'intervals.

      Suposem que teniu diverses llistes amb un nombre diferent d'elements a cadascuna. Creieu-me o no, podeu calcular la mitjana o sumar els valors de qualsevol interval seleccionat amb una única fórmula.

      Primer, creeu e un rang anomenat per a cada llista; que sigui PlanetsD i MoonsD en aquest exemple:

      Espero que la imatge anterior expliqui el raonament que hi ha darrere dels noms dels intervals. : ) Per cert, la taula Llunes està lluny d'estar completa, hi ha 176 llunes naturals conegudes al nostre Sistema Solar, només Júpiter en té 63 actualment, i s'està comptant. Per a aquest exemple, vaig triar 11 aleatòriament, bé... potser no del tot aleatori -llunes amb els noms més bonics : )

      Si us plau, disculpeu la digressió, torneu a la nostra fórmula INDEX. Suposant que PlanetsD és el vostre rang 1 i MoonsD és el rang 2, i la cel·la B1 és on poseu el número d'interval, podeu utilitzar la fórmula d'índex següent per calcular la mitjana dels valors de l'interval anomenat seleccionat:

      =AVERAGE(INDEX((PlanetsD, MoonsD), , , B1))

      Si us plau, preste atenció que ara estem utilitzant la forma de referència de la funció INDEX i el número de l'últim argument (núm_àrea) indica a la fórmula a quin interval tria.

      A la captura de pantalla següent, area_num (cel·la B1) s'estableix en 2, de manera que la fórmula calcula el diàmetre mitjà de Moons perquè l'interval MoonsD arriba al segon lloc. a l'argument de referència.

      Si treballeu amb diverses llistes i no voleu preocupar-vos de recordar els números associats, podeu utilitzar una funció IF imbricada per fer-ho per vosaltres. :

      =AVERAGE(INDEX((PlanetsD, MoonsD), , , IF(B1="planets", 1, IF(B1="moons", 2))))

      A la funció SI, utilitzeu alguns noms de llista senzills i fàcils de recordar que voleu que els vostres usuaris escriguin a la cel·la B1 en comptes de números. Tingueu-ho en compte, perquè la fórmula funcioni correctament, el text de B1 hauria de ser exactament el mateix (no distingeix entre majúscules i minúscules) que en els paràmetres de l'IF, en cas contrari, la vostra fórmula d'índex generarà l'error #VALUE.

      Per fer que la fórmula sigui encara més fàcil d'utilitzar, podeu utilitzar la validació de dades per crear una llista desplegable amb noms predefinits per evitar errors ortogràfics ierrors d'impressió:

      Finalment, per fer que la vostra fórmula INDEX sigui absolutament perfecta, podeu incloure-la a la funció IFERROR que demanarà a l'usuari que escolliu un element de la llista desplegable si encara no s'ha fet cap selecció:

      =IFERROR(AVERAGE(INDEX((PlanetsD, MoonsD), , , IF(B1="planet", 1, IF(B1="moon", 2)))), "Please select the list!")

      Així és com s'utilitzen les fórmules INDEX a Excel. Espero que aquests exemples us mostrin una manera d'aprofitar el potencial de la funció INDEX als vostres fulls de treball. Gràcies per llegir-lo!

      s'omet, és obligatori núm_columna.
    • núm_columna : és el número de columna des del qual es retorna un valor. Si s'omet column_num, cal que row_num.

    Per exemple, la fórmula =INDEX(A1:D6, 4, 3) retorna el valor a la intersecció de la 4a fila i la 3a columna de l'interval A1:D6, que és el valor de la cel·la C4 .

    Per tenir una idea de com funciona la fórmula INDEX amb dades reals, mireu l'exemple següent:

    En lloc d'introduir la fila i números de columna a la fórmula, podeu proporcionar les referències de cel·la per obtenir una fórmula més universal: =INDEX($B$2:$D$6, G2, G1)

    Així, aquesta fórmula INDEX retorna el nombre d'elements exactament a la intersecció del número de producte especificat a G2 (núm_fila). ) i el número de setmana introduït a la cel·la G1 (núm_columna).

    Consell. L'ús de referències absolutes ($B$2:$D$6) en lloc de referències relatives (B2:D6) a l'argument de la matriu fa que sigui més fàcil copiar la fórmula a altres cel·les. Alternativament, podeu convertir un interval en una taula ( Ctrl + T ) i fer-hi referència pel nom de la taula.

    Forma de matriu INDEX: coses per recordar

    1. Si l'argument de la matriu només consta d'una fila o columna, podeu especificar o no l'argument row_num o column_num corresponent.
    2. Si l'argument de matriu inclou més d'una fila i row_num s'omet o s'estableix en 0, la funció INDEX retorna una matriu de tota la columna. De la mateixa manera, si la matriu inclou més d'uncolumna i l'argument column_num s'omet o s'estableix en 0, la fórmula INDEX retorna la fila sencera. Aquí teniu un exemple de fórmula que demostra aquest comportament.
    3. Els arguments row_num i column_num han de fer referència a una cel·la dins de la matriu; en cas contrari, la fórmula INDEX retornarà el #REF! error.

    Formulari de referència INDEX

    El formulari de referència de la funció INDEX d'Excel retorna la referència de cel·la a la intersecció de la fila i la columna especificades.

    INDEX(referència, número_fila). , [núm_columna], [número_àrea] )
    • referència : és un o diversos intervals.

      Si esteu introduint més d'un interval, separeu els intervals per comes i afegiu l'argument de referència entre parèntesis, per exemple (A1:B5, D1:F5).

      Si cada interval de referència només conté una fila o columna, l'argument row_num o column_num corresponent és opcional.

    • row_num - el número de fila de l'interval des del qual es retorna una referència de cel·la, és similar a la matriu form.
    • núm_columna : el número de columna des del qual es retorna una referència de cel·la, també funciona de manera similar a la forma de matriu.
    • núm_àrea : una paràmetre opcional que especifica quin interval des de l'argument de referència s'utilitza. Si s'omet, la fórmula INDEX retornarà el resultat del primer interval que apareix a la referència.

    Per exemple, la fórmula =INDEX((A2:D3, A5:D7), 3, 4, 2) retorna el valor de la cel·la D7, que es troba a laintersecció de la 3a fila i la 4a columna a la segona àrea (A5:D7).

    Formulari de referència INDEX: coses per recordar

    1. Si l'argument row_num o column_num s'estableix a zero (0), una fórmula INDEX retorna la referència per a tota la columna o fila, respectivament.
    2. Si s'ometen tant row_num com column_num, la funció INDEX retorna l'àrea especificada a l'argument area_num.
    3. Tots els arguments _num (núm_fila, num_columna i num_àrea) han de fer referència a una cel·la dins de la referència; en cas contrari, la fórmula INDEX retornarà el #REF! error.

    Les dues fórmules INDEX que hem comentat fins ara són molt simples i només il·lustren el concepte. És probable que les vostres fórmules reals siguin molt més complexes que això, així que analitzem alguns dels usos més eficients de INDEX a Excel.

    Com utilitzar la funció INDEX a Excel: exemples de fórmules

    Potser hi ha No hi ha molts usos pràctics d'Excel INDEX per si mateix, però en combinació amb altres funcions com MATCH o COUNTA, pot fer fórmules molt potents.

    Dades d'origen

    Totes les nostres fórmules INDEX (excepte l'últim), utilitzarem les dades següents. Per a finalitats de comoditat, s'organitza en una taula anomenada SourceData .

    L'ús de taules o rangs amb nom pot fer fórmules una mica més llargs, però també els fa significativament més flexibles i més llegibles. Per ajustar qualsevol INDEXfórmula per als vostres fulls de treball, només cal que modifiqueu un sol nom, i això compensa totalment la longitud de la fórmula més llarga.

    Per descomptat, res no us impedeix utilitzar els intervals habituals si voleu. En aquest cas, només heu de substituir el nom de la taula SourceData per la referència d'interval adequada.

    1. Obtenció de l'element N de la llista

    Aquest és l'ús bàsic de la funció INDEX i una fórmula més senzilla de fer. Per obtenir un determinat ítem de la llista, només heu d'escriure =INDEX(range, n) on interval és un interval de cel·les o un interval amb nom, i n és la posició de l'element que voleu obtenir.

    Quan treballeu amb taules d'Excel, podeu seleccionar la columna amb el ratolí i Excel traurà el nom de la columna juntament amb el nom de la taula a la fórmula:

    Per obtenir un valor de la cel·la a la intersecció d'una fila i una columna determinades, utilitzeu el mateix enfocament amb l'única diferència que especifiqueu tots dos: el número de fila i el número de columna. De fet, ja vau veure aquesta fórmula en acció quan vam parlar de la forma de matriu INDEX.

    I aquí teniu un exemple més. A la nostra taula d'exemple, per trobar el segon planeta més gran del sistema solar, ordeneu la taula per la columna Diàmetre i utilitzeu la següent fórmula INDEX:

    =INDEX(SourceData, 2, 3)

    • Array és el nom de la taula o una referència d'interval, SourceData en aquest exemple.
    • Row_num és 2 perquè esteu buscant el segon elementa la llista, que es troba a la 2a
    • Column_num és 3 perquè Diàmetre és la 3a columna de la taula.

    Si voleu retornar la del planeta. nom en lloc de diàmetre, canvieu column_num a 1. I, naturalment, podeu utilitzar una referència de cel·la als arguments row_num i/o column_num per fer que la vostra fórmula sigui més versàtil, tal com es mostra a la captura de pantalla següent:

    2. Obtenir tots els valors d'una fila o columna

    A part de recuperar una sola cel·la, la funció INDEX pot retornar una matriu de valors de la fila sencera o columna . Per obtenir tots els valors d'una columna determinada, heu d'ometre l'argument row_num o establir-lo a 0. De la mateixa manera, per obtenir la fila sencera, passeu un valor buit o 0 a column_num.

    Aquestes fórmules INDEX difícilment poden s'utilitzaran per si mateixos, perquè Excel no pot ajustar la matriu de valors retornats per la fórmula en una sola cel·la, i obtindreu el #VALOR! error en canvi. Tanmateix, si feu servir INDEX juntament amb altres funcions, com ara SUMA o MITJANA, obtindreu resultats impressionants.

    Per exemple, podeu utilitzar la fórmula següent per calcular la temperatura mitjana del planeta al sistema solar:

    =AVERAGE(INDEX(SourceData, , 4))

    A la fórmula anterior, l'argument column_num és 4 perquè Temperatura a la quarta columna de la nostra taula. S'ha omès el paràmetre row_num.

    De manera similar, podeu trobar el mínim i el màximtemperatures:

    =MAX(INDEX(SourceData, , 4))

    =MIN(INDEX(SourceData, , 4))

    I calcula la massa total del planeta (la massa és la segona columna de la taula):

    =SUM(INDEX(SourceData, , 2))

    Des del punt de vista pràctic, la funció INDEX de la fórmula anterior és superflua. Simplement podeu escriure =AVERAGE(range) o =SUM(range) i obtenir els mateixos resultats.

    Quan treballeu amb dades reals, aquesta funció pot resultar útil com a part de fórmules més complexes que feu servir per a l'anàlisi de dades.

    3. Si feu servir INDEX amb altres funcions (SUMA, MITJANA, MAX, MIN)

    A partir dels exemples anteriors, potser tingueu la impressió que una fórmula INDEX retorna valors, però la realitat és que retorna una referència a la cel·la que conté el valor. I aquest exemple demostra la veritable naturalesa de la funció INDEX d'Excel.

    Com que el resultat d'una fórmula INDEX és una referència, podem utilitzar-lo dins d'altres funcions per fer un interval dinàmic . Sona confús? La fórmula següent ho deixarà tot clar.

    Suposem que teniu una fórmula =AVERAGE(A1:A10) que retorna una mitjana dels valors de les cel·les A1:A10. En lloc d'escriure l'interval directament a la fórmula, podeu substituir A1 o A10, o tots dos, amb funcions INDEX, com aquesta:

    =AVERAGE(A1 : INDEX(A1:A20,10))

    Les dues fórmules anteriors oferiran el mateix resultat perquè la funció INDEX també retorna una referència a la cel·la A10 (núm_fila s'estableix en 10, s'ha omès num_col). La diferència és que l'interval és que la fórmula MITJANA / ÍNDEX és dinàmica,i un cop canvieu l'argument row_num a INDEX, l'interval processat per la funció AVERAGE canviarà i la fórmula retornarà un resultat diferent.

    Aparentment, la ruta de la fórmula INDEX sembla massa complicada, però té aplicacions pràctiques. , tal com es demostra als exemples següents.

    Exemple 1. Calcula la mitjana dels N elements principals de la llista

    Suposem que vols saber el diàmetre mitjà dels N planetes més grans del nostre sistema . Per tant, ordena la taula per columna Diàmetre de més gran a més petita i utilitza la següent fórmula Mitjana/índex:

    =AVERAGE(C5 : INDEX(SourceData[Diameter], B1))

    Exemple 2. Suma els elements entre els dos elements especificats

    En cas que vulgueu definir els elements de límit superior i inferior a la vostra fórmula, només heu d'utilitzar dues funcions INDEX per retornar la primera i la l'últim element que voleu.

    Per exemple, la fórmula següent retorna la suma de valors a la columna Diàmetre entre els dos elements especificats a les cel·les B1 i B2:

    =SUM(INDEX(SourceData[Diameter],B1) : INDEX(SourceData[Diameter], B2))

    4. Fórmula INDEX per crear rangs dinàmics i llistes desplegables

    Com passa sovint, quan comenceu a organitzar dades en un full de treball, és possible que no sàpigues quantes entrades tindreu finalment. No és el cas de la nostra taula de planetes, que sembla estar completa, però qui sap...

    De totes maneres, si tens un nombre canviant d'elements en una columna determinada, diguem d'A1 a A n ,és possible que vulgueu crear un interval de nom dinàmic que inclogui totes les cel·les amb dades. Aleshores, voleu que l'interval s'ajusti automàticament a mesura que afegiu elements nous o suprimiu alguns dels existents. Per exemple, si actualment teniu 10 elements, el vostre interval amb nom és A1:A10. Si afegiu una entrada nova, l'interval amb nom s'amplia automàticament a A1:A11, i si canvieu d'opinió i suprimiu les dades afegides recentment, l'interval tornarà automàticament a A1:A10.

    El principal avantatge d'això. L'enfocament és que no heu d'actualitzar constantment totes les fórmules del vostre llibre de treball per assegurar-vos que fan referència als intervals correctes.

    Una manera de definir un rang dinàmic és utilitzar la funció OFFSET d'Excel:

    =OFFSET(Sheet_Name!$A$1, 0, 0, COUNTA(Sheet_Name!$A:$A), 1)

    Una altra solució possible és utilitzar Excel INDEX juntament amb COUNTA:

    =Sheet_Name!$A$1:INDEX(Sheet_Name!$A:$A, COUNTA(Sheet_Name!$A:$A))

    En ambdues fórmules, A1 és la cel·la que conté el primer element de la llista i el rang dinàmic produït. ambdues fórmules seran idèntiques.

    La diferència està en els plantejaments. Mentre que la funció OFFSET es mou des del punt inicial en un nombre determinat de files i/o columnes, INDEX troba una cel·la a la intersecció d'una fila i una columna concretes. La funció COUNTA, utilitzada en ambdues fórmules, obté el nombre de cel·les no buides a la columna d'interès.

    En aquest exemple, hi ha 9 cel·les no en blanc a la columna A, de manera que COUNTA en retorna 9. En conseqüència, INDEX retorna $A$9, que és l'última cel·la utilitzada a la columna A (normalment INDEX).

    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.