Táboa de contidos
Neste titorial, atoparás unha serie de exemplos de fórmulas que demostran os usos máis eficientes de INDEX en Excel.
De todas as funcións de Excel cuxa potencia adoita ser subestimada e infrautilizada, INDEX definitivamente situaríase entre os 10 primeiros postos. Mentres tanto, esta función é intelixente, flexible e versátil.
Entón, que é a función INDEX en Excel? Esencialmente, unha fórmula INDEX devolve unha referencia de cela dentro dunha matriz ou rango determinado. Noutras palabras, usa INDEX cando sabe (ou pode calcular) a posición dun elemento nun intervalo e quere obter o valor real dese elemento.
Isto pode parecer un pouco trivial, pero unha vez decátase do potencial real da función INDEX, pode facer cambios cruciais na forma de calcular, analizar e presentar os datos nas súas follas de traballo.
Función INDEX de Excel: sintaxe e usos básicos
Hai dúas versións da función INDEX en Excel: formulario matricial e formulario de referencia. Ambos os formularios pódense usar en todas as versións de Microsoft Excel 365 - 2003.
Formulario de matriz INDEX
O formulario de matriz INDEX devolve o valor dun determinado elemento nun intervalo ou matriz en función da fila e os números de columna que especifique.
INDEX(matriz, núm_fila, [núm_columna])- matriz : é un intervalo de celas, intervalo denominado ou táboa.
- número_fila - é o número de fila da matriz desde o que se devolve un valor. Se row_num édevolve un valor, pero nesta fórmula, o operador de referencia (:) obrígao a devolver unha referencia). E debido a que $A$1 é o noso punto de partida, o resultado final da fórmula é o rango $A$1:$A$9.
A seguinte captura de pantalla mostra como pode usar esa fórmula de índice para crear unha caída dinámica. lista abaixo.
Consello. A forma máis sinxela de crear unha lista despregable actualizada dinámicamente é crear unha lista con nome baseada nunha táboa. Neste caso, non necesitará fórmulas complexas xa que as táboas de Excel son rangos dinámicos per se.
Tamén pode usar a función INDEX para crear listas despregábeis dependentes e o seguinte titorial explica os pasos: Creación dunha lista despregábel en cascada en Excel.
5. Poderosas buscas virtuales con INDEX / MATCH
Realizando buscas verticais: aquí é onde realmente brilla a función INDEX. Se algunha vez intentou usar a función BUSCAR V de Excel, coñece ben as súas numerosas limitacións, como a imposibilidade de extraer valores das columnas á esquerda da columna de busca ou o límite de 255 caracteres para un valor de busca.
O A ligazón INDEX/MATCH é superior á BUSCAR V en moitos aspectos:
- Non hai problemas coas buscas virtuales esquerda.
- Non hai límite para o tamaño do valor de busca.
- Non hai ningunha clasificación. necesario (BUSCAR V con coincidencia aproximada require ordenar a columna de busca en orde ascendente).
- Podes inserir e eliminar columnas dunha táboa sen actualizartodas as fórmulas asociadas.
- E, por último, pero non menos importante, INDEX / MATCH non ralentiza o teu Excel como o fan varias Vlookups.
Utiliza INDEX / MATCH do seguinte xeito :
=INDEX ( columna para devolver un valor de , (COINCIDENCIAR ( valor de busca , columna para buscar , 0))Para Por exemplo, se cambiamos a nosa táboa de orixe para que Nome do planeta se converta na columna situada máis á dereita, a fórmula INDEX / MATCH aínda obtén un valor coincidente da columna da esquerda sen ningún problema.
Para obter máis suxestións e exemplos de fórmulas, consulte o tutorial de ÍNDICE / COINCIDENCIA de Excel.
6. Fórmula de ÍNDICE de Excel para obter 1 intervalo dunha lista de intervalos
Outro uso intelixente e poderoso da función INDEX en Excel é a posibilidade de obter un intervalo dunha lista de intervalos.
Supoñamos que tes varias listas cun número diferente de elementos en cada unha. Créame ou non, pode calcular a media ou sumar os valores en calquera intervalo seleccionado cunha única fórmula.
Primeiro, crea e un intervalo nomeado para cada lista; que sexa PlanetasD e LúasD neste exemplo:
Espero que a imaxe anterior explique o razoamento detrás dos nomes dos rangos : ) Por certo, a táboa Lúas está lonxe de estar completa, hai 176 lúas naturais coñecidas no noso Sistema Solar, só Xúpiter ten 63 actualmente, e contando. Para este exemplo, escollín 11 aleatorios, ben... quizais non sexa moi aleatorio -lúas cos nomes máis fermosos : )
Disculpe a digresión, volve á nosa fórmula ÍNDICE. Asumindo que PlanetsD é o teu rango 1 e MoonsD é o rango 2 e que a cela B1 é onde colocas o número do intervalo, podes usar a seguinte fórmula de índice para calcular a media dos valores en o intervalo nomeado seleccionado:
=AVERAGE(INDEX((PlanetsD, MoonsD), , , B1))
Por favor, preste atención a que agora estamos a usar o formulario de referencia da función INDEX, e o número do último argumento (núm_área) indica á fórmula que intervalo escolla.
Na seguinte captura de pantalla, area_num (celda B1) está definida como 2, polo que a fórmula calcula o diámetro medio de Moons porque o intervalo MoonsD é o segundo. no argumento de referencia.
Se traballas con varias listas e non queres molestar en lembrar os números asociados, podes empregar unha función IF aniñada para facelo por ti :
=AVERAGE(INDEX((PlanetsD, MoonsD), , , IF(B1="planets", 1, IF(B1="moons", 2))))
Na función SE, utiliza algúns nomes de lista sinxelos e fáciles de lembrar que quere que os seus usuarios escriban na cela B1 en lugar de números. Teña en conta isto, para que a fórmula funcione correctamente, o texto en B1 debe ser exactamente o mesmo (insensible entre maiúsculas e minúsculas) que nos parámetros do IF, se non, a súa fórmula de índice xerará o erro #VALUE.
Para facer a fórmula aínda máis fácil de usar, pode usar a validación de datos para crear unha lista despregable con nomes predefinidos para evitar erros de ortografía eerros de impresión:
Finalmente, para que a túa fórmula INDEX sexa absolutamente perfecta, podes incluíla na función IFERROR que solicitará ao usuario que escolla un elemento da lista despregable se aínda non se fixo ningunha selección:
=IFERROR(AVERAGE(INDEX((PlanetsD, MoonsD), , , IF(B1="planet", 1, IF(B1="moon", 2)))), "Please select the list!")
Así se usan as fórmulas INDEX en Excel. Espero que estes exemplos che amosen unha forma de aproveitar o potencial da función INDEX nas túas follas de traballo. Grazas por ler!
omitido, é necesario número_columna. - número_columna : é o número de columna desde o que se devolve un valor. Se se omite num_columna, é necesario num_fila.
Por exemplo, a fórmula =INDEX(A1:D6, 4, 3)
devolve o valor na intersección da 4a fila e a 3a columna no intervalo A1:D6, que é o valor da cela C4 .
Para ter unha idea de como funciona a fórmula INDEX en datos reais, bótalle unha ollada ao seguinte exemplo:
En lugar de introducir a fila e números de columna na fórmula, pode proporcionar as referencias de cela para obter unha fórmula máis universal: =INDEX($B$2:$D$6, G2, G1)
Entón, esta fórmula INDEX devolve o número de elementos exactamente na intersección do número de produto especificado en G2 (núm_fila ) e o número de semana introducido na cela G1 (núm_columna).
Consello. O uso de referencias absolutas ($B$2:$D$6) en lugar de referencias relativas (B2:D6) no argumento da matriz facilita a copia da fórmula a outras celas. Alternativamente, pode converter un intervalo nunha táboa ( Ctrl + T ) e referirse a el polo nome da táboa.
Forma da matriz INDEX: cousas para lembrar
- Se o argumento da matriz consta só dunha fila ou columna, podes especificar ou non o argumento número_fila ou número_columna correspondente.
- Se o argumento da matriz inclúe máis dunha fila e row_num se omite ou se establece en 0, a función INDEX devolve unha matriz de toda a columna. Do mesmo xeito, se a matriz inclúe máis dunhacolumna e o argumento column_num se omite ou se establece en 0, a fórmula INDEX devolve a fila completa. Aquí tes un exemplo de fórmula que demostra este comportamento.
- Os argumentos row_num e column_num deben referirse a unha cela dentro da matriz; en caso contrario, a fórmula INDEX devolverá o #REF! erro.
Formulario de referencia INDEX
O formulario de referencia da función ÍNDICE de Excel devolve a referencia de cela na intersección da fila e columna especificadas.
INDEX(referencia, núm_fila. , [número_columna], [número_área] )- referencia : é un ou varios intervalos.
Se está a introducir máis dun intervalo, separe os intervalos por comas e engada o argumento de referencia entre parénteses, por exemplo (A1:B5, D1:F5).
Se cada intervalo de referencia só contén unha fila ou columna, o argumento correspondente row_num ou column_num é opcional.
- row_num - o número de fila no intervalo desde o que se devolve unha referencia de cela, é semellante á matriz form.
- número_columna : o número de columna desde o que se devolve unha referencia de cela, tamén funciona de forma similar ao formulario de matriz.
- número_área : un parámetro opcional que especifica o intervalo desde o argumento de referencia a usar. Se se omite, a fórmula INDEX devolverá o resultado do primeiro intervalo listado na referencia.
Por exemplo, a fórmula =INDEX((A2:D3, A5:D7), 3, 4, 2)
devolve o valor da cela D7, que está nointersección da 3a fila e a 4a columna na segunda área (A5:D7).
Formulario de referencia INDEX - cousas para lembrar
- Se o argumento número_fila ou número_columna establécese en cero (0), unha fórmula INDEX devolve a referencia para toda a columna ou fila, respectivamente. o argumento area_num.
- Todos os argumentos _num (número_fila, número_columna e número_área) deben referirse a unha cela dentro da referencia; en caso contrario, a fórmula INDEX devolverá o #REF! erro.
Ambas fórmulas INDEX que comentamos ata agora son moi sinxelas e só ilustran o concepto. É probable que as túas fórmulas reais sexan moito máis complexas que iso, así que imos explorar algúns usos máis eficientes de INDEX en Excel.
Como usar a función INDEX en Excel: exemplos de fórmulas
Quizais hai Non hai moitos usos prácticos de Excel INDEX por si só, pero en combinación con outras funcións como MATCH ou COUNTA, pode facer fórmulas moi potentes.
Datos de orixe
Todas as nosas fórmulas INDEX (agás o último), utilizaremos os datos a continuación. Para propósitos de comodidade, organízase nunha táboa chamada SourceData .
O uso de táboas ou intervalos con nome pode facer fórmulas un pouco máis longo, pero tamén os fai significativamente máis flexibles e mellor lexibles. Para axustar calquera ÍNDICEfórmula para as túas follas de traballo, só tes que modificar un só nome, e isto compensa por completo unha lonxitude de fórmula máis longa.
Por suposto, nada che impide usar intervalos habituais se queres. Neste caso, basta con substituír o nome da táboa SourceData pola referencia de intervalo adecuada.
1. Obtención do elemento N da lista
Este é o uso básico da función INDEX e unha fórmula máis sinxela de facer. Para obter un determinado elemento da lista, só tes que escribir =INDEX(range, n)
onde intervalo é un intervalo de celas ou un intervalo nomeado e n é a posición do elemento que queres obter.
Ao traballar con táboas de Excel, pode seleccionar a columna co rato e Excel tirará o nome da columna xunto co nome da táboa na fórmula:
Para obter un valor da cela na intersección dunha determinada fila e columna, utiliza o mesmo enfoque coa única diferenza de que especifica ambos: o número de fila e o número de columna. De feito, xa viches esa fórmula en acción cando falamos da forma de matriz INDEX.
E aquí tes un exemplo máis. Na nosa táboa de exemplo, para atopar o segundo planeta máis grande do sistema solar, ordena a táboa pola columna Diámetro e utiliza a seguinte fórmula ÍNDICE:
=INDEX(SourceData, 2, 3)
-
Array
é o nome da táboa ou unha referencia de intervalo, SourceData neste exemplo. -
Row_num
é 2 porque estás buscando o segundo elementona lista, que está no segundo -
Column_num
é 3 porque Diámetro é a terceira columna da táboa.
Se queres devolver o valor do planeta. nome en lugar de diámetro, cambie column_num a 1. E naturalmente, pode usar unha referencia de cela nos argumentos row_num e/ou column_num para facer a súa fórmula máis versátil, como se demostra na seguinte captura de pantalla:
2. Obtendo todos os valores nunha fila ou columna
Ademais de recuperar unha única cela, a función INDEX pode devolver unha matriz de valores da fila enteira ou da columna . Para obter todos os valores dunha determinada columna, tes que omitir o argumento row_num ou configuralo en 0. Do mesmo xeito, para obter a fila enteira, pasas un valor baleiro ou 0 en column_num.
Esas fórmulas INDEX dificilmente poden ser usado por si só, porque Excel non pode encaixar a matriz de valores devoltos pola fórmula nunha única cela, e obtería o #VALOR! erro no seu lugar. Non obstante, se usas INDEX xunto con outras funcións, como SUMA ou MEDIA, obterás resultados incribles.
Por exemplo, podes usar a seguinte fórmula para calcular a temperatura media do planeta no Sistema Solar:
=AVERAGE(INDEX(SourceData, , 4))
Na fórmula anterior, o argumento column_num é 4 porque Temperature na cuarta columna da nosa táboa. O parámetro row_num está omitido.
De forma similar, podes atopar o mínimo e o máximotemperaturas:
=MAX(INDEX(SourceData, , 4))
=MIN(INDEX(SourceData, , 4))
E calcula a masa total do planeta (a masa é a segunda columna da táboa):
=SUM(INDEX(SourceData, , 2))
Desde o punto de vista práctico, a función INDEX na fórmula anterior é superflua. Podes simplemente escribir =AVERAGE(range)
ou =SUM(range)
e obter os mesmos resultados.
Ao traballar con datos reais, esta función pode resultar útil como parte das fórmulas máis complexas que utilizas para a análise de datos.
3. Usando INDEX con outras funcións (SUMA, MEDIA, MAX, MIN)
Nos exemplos anteriores, pode ter a impresión de que unha fórmula INDEX devolve valores, pero a realidade é que devolve unha referencia á cela que contén o valor. E este exemplo demostra a verdadeira natureza da función ÍNDICE de Excel.
Dado que o resultado dunha fórmula ÍNDICE é unha referencia, podemos usalo dentro doutras funcións para crear un intervalo dinámico . Soa confuso? A seguinte fórmula aclarará todo.
Supoñamos que tes unha fórmula =AVERAGE(A1:A10)
que devolve unha media dos valores das celas A1:A10. En lugar de escribir o intervalo directamente na fórmula, pode substituír A1 ou A10, ou ambos, con funcións INDEX, como esta:
=AVERAGE(A1 : INDEX(A1:A20,10))
Ambas fórmulas anteriores proporcionarán o mesmo resultado porque a función INDEX tamén devolve unha referencia á cela A10 (núm_fila establécese como 10, omítese o número_colo). A diferenza é que o intervalo é a fórmula MEDIA/INDICE é dinámica,e unha vez que cambie o argumento row_num en INDEX, o intervalo procesado pola función MEDIA cambiará e a fórmula devolverá un resultado diferente.
Ao parecer, a ruta da fórmula INDEX parece excesivamente complicada, pero ten aplicacións prácticas. , como se demostra nos seguintes exemplos.
Exemplo 1. Calcula a media dos N elementos principais da lista
Digamos que queres coñecer o diámetro medio dos N planetas máis grandes do noso sistema . Entón, ordena a táboa pola columna Diámetro de maior a menor e utiliza a seguinte fórmula Media/Índice:
=AVERAGE(C5 : INDEX(SourceData[Diameter], B1))
Exemplo 2. Suma os elementos entre os dous elementos especificados
No caso de querer definir os elementos de límite superior e inferior na súa fórmula, só precisa empregar dúas funcións INDEX para devolver o primeiro e o último elemento que desexa.
Por exemplo, a seguinte fórmula devolve a suma dos valores da columna Diámetro entre os dous elementos especificados nas celas B1 e B2:
=SUM(INDEX(SourceData[Diameter],B1) : INDEX(SourceData[Diameter], B2))
4. Fórmula INDEX para crear rangos dinámicos e listas despregábeis
Como adoita ocorrer, cando comezas a organizar os datos nunha folla de traballo, é posible que non saibas cantas entradas terás finalmente. Non é o caso da nosa táboa de planetas, que parece estar completa, pero quen sabe...
De todos os xeitos, se tes un número cambiante de elementos nunha determinada columna, digamos de A1 a A n ,pode querer crear un intervalo de nomes dinámico que inclúa todas as celas con datos. Neste caso, quere que o intervalo se axuste automaticamente mentres engade novos elementos ou elimina algúns dos existentes. Por exemplo, se actualmente tes 10 elementos, o teu intervalo nomeado é A1:A10. Se engades unha nova entrada, o intervalo nomeado expandirase automaticamente a A1:A11 e, se cambias de opinión e eliminas os datos recentemente engadidos, o intervalo volverá automaticamente a A1:A10.
A principal vantaxe desta O enfoque é que non tes que actualizar constantemente todas as fórmulas do teu libro de traballo para asegurarte de que se refiran aos intervalos correctos.
Unha forma de definir un rango dinámico é usar a función OFFSET de Excel:
=OFFSET(Sheet_Name!$A$1, 0, 0, COUNTA(Sheet_Name!$A:$A), 1)
Outra posible solución é utilizar Excel INDEX xunto con COUNTA:
=Sheet_Name!$A$1:INDEX(Sheet_Name!$A:$A, COUNTA(Sheet_Name!$A:$A))
En ambas fórmulas, A1 é a cela que contén o primeiro elemento da lista e o rango dinámico producido por ambas fórmulas será idéntica.
A diferenza está nos enfoques. Mentres a función OFFSET móvese desde o punto de partida un determinado número de filas e/ou columnas, INDEX atopa unha cela na intersección dunha fila e columna determinadas. A función CONTAR, utilizada en ambas as fórmulas, obtén o número de celas non baleiras na columna de interese.
Neste exemplo, hai 9 celas non en branco na columna A, polo que COUNTA devolve 9. En consecuencia, INDEX devolve $A$9, que é a última cela utilizada na columna A (normalmente INDEX