Táboa de contidos
O titorial ofrece unha breve introdución á sintaxe da función ADDRESS e mostra como usala para devolver un enderezo de cela de Excel e moito máis.
Para crear unha referencia de cela en Excel, debes pode escribir as coordenadas da columna e da fila manualmente. Alternativamente, podes obter un enderezo de cela de Excel a partir dos números de fila e columna proporcionados á función DIRECCIÓN. Case inútil por si só, en combinación con outras funcións esta técnica pode ser a única solución en situacións nas que non é posible facer referencia a unha cela directamente.
Función Excel ADDRESS - sintaxe e usos básicos
A función DIRECCIÓN está deseñada para obter un enderezo de cela en Excel baseándose nos números de fila e columna especificados. Un enderezo de cela devólvese como unha cadea de texto, non como unha referencia real.
A función está dispoñible en todas as versións de Excel para Microsoft 365 - Excel 2007.
A sintaxe da función DIRECCIÓN é do seguinte xeito:
ADDRESS(núm_fila, núm_columna, [núm_abs], [a1], [texto_folla])Os dous primeiros argumentos son necesarios:
número_fila - a fila número que se utilizará na referencia da cela.
número_columna - o número da columna para construír a referencia da cela.
Os tres últimos argumentos, que especifican o formato de referencia da cela, son opcional:
abs_num - o tipo de referencia, absoluto ou relativo. Pode levar calquera dos seguintes números; o valor predeterminado é absoluto.
- 1 ou omitido -referencia de cela absoluta como $A$1
- 2 - referencia mixta: columna relativa e fila absoluta como A$1
- 3 - referencia mixta: columna absoluta e fila relativa como $A1
- 4 - referencia de cela relativa como A1
a1 - o estilo de referencia, A1 ou R1C1. Se se omite, utilízase o estilo A1 predeterminado.
- 1 ou VERDADEIRO ou omitido: devolve o enderezo da cela no estilo de referencia A1 onde as columnas son letras e as filas son números.
- 0 ou FALSE: devolve o enderezo da cela no estilo de referencia R1C1 onde as filas e columnas están representadas por números.
sheet_text : o nome da folla de traballo para incluír na referencia externa. O nome da folla debe proporcionarse como unha cadea de texto e entre comiñas, p. ex. "Folla 2". Se se omite, non se utiliza ningún nome de folla de traballo e o enderezo é a folla actual por defecto.
Por exemplo:
=ADDRESS(1,1)
: devolve o enderezo da primeira cela (é dicir, a cela na intersección de a primeira fila e a primeira columna) como unha referencia de cela absoluta $A$1.
=ADDRESS(1,1,4)
: devolve o enderezo da primeira cela como unha referencia de cela relativa A1.
Na seguinte táboa, atoparás algúns tipos de referencia máis que se poden devolver mediante fórmulas ADDRESS.
Fórmula | Resultado | Descrición |
=ADDRESS(1,2) | $B$1 | Cela absolutareferencia |
=ADDRESS(1,2,4) | B1 | Referencia de cela relativa |
=ENDEREZO(1,2,2) | B$1 | Columna relativa e fila absoluta |
=ENDEREZO(1,2,3) | $B1 | Columna absoluta e fila relativa |
=ADDRESS(1,2,1,FALSE) | R1C2 | Referencia absoluta no estilo R1C1 |
=ADDRESS(1,2,4,FALSE) | R[1]C[2] | Referencia relativa no estilo R1C1 |
=ADDRESS(1,2,1,,"Folla2") | Folla2!$B$1 | Referencia absoluta a outra folla |
=ADDRESS(1,2,4,,"Folla2") | Folla2!B1 | Referencia relativa a outra folla |
Como usar a función ADDRESS en Excel - exemplos de fórmulas
Os exemplos seguintes mostran como usar a función ADDRESS dentro de fórmulas máis grandes para lograr máis tarefas difíciles.
Devolver un valor de cela nunha fila e columna determinadas
Se o teu obxectivo é obter un valor dunha cela específica en función dos seus números de fila e columna, utiliza a diversión DIRECCIÓN ción xunto con INDIRECTO:
INDIRECTO(ADDRESS(núm_fila, núm_columna))A función DIRECCIÓN mostra o enderezo da cela como texto. A función INDIRECTA converte ese texto nunha referencia normal e devolve o valor da cela correspondente.
Por exemplo, para obter un valor de cela baseado no número de fila en E1 e no número de columna en E2, use esta fórmula :
=INDIRECT(ADDRESS(E1,E2))
Obter o enderezodunha cela co valor máis alto ou máis baixo
Neste exemplo, primeiro atoparemos os valores máis altos e máis baixos no intervalo B2:B7 utilizando as funcións MAX e MIN e mostraremos eses valores en celas especiais:
Cela E2: =MAX(B2:B7)
Cela F2: =MIN(B2:B7)
E logo, usaremos ADDRESS en combinación coa función MATCH para obtén os enderezos das celas.
Cela co valor máximo:
=ADDRESS(MATCH(E2,B:B,0), COLUMN(B2))
Cela co valor mínimo:
=ADDRESS(MATCH(F2,B:B,0), COLUMN(B2))
No caso de que non queira os valores máis altos e máis baixos en celas separadas, pode aniñar a función MAX/MIN no primeiro argumento de MATCH. Por exemplo:
Cela co valor máis alto:
=ADDRESS(MATCH(MAX(B2:B7),B:B,0), COLUMN(B2))
Cela co valor máis baixo:
=ADDRESS(MATCH(MIN(B2:B7),B:B,0), COLUMN(B2))
Como estas fórmulas work
Para atopar o número de fila, usa a función MATCH(lookup_value, lookup_array, [match_type]) que devolve unha posición relativa de lookup_value en lookup_array. Na nosa fórmula, o valor de busca é o número devolto pola función MAX ou MIN e a matriz de busca é a columna enteira. En consecuencia, unha posición relativa do valor de busca na matriz coincide exactamente co número de fila da folla.
Para atopar o número de columna, utiliza a función COLUM. Por suposto, nada che impide escribir o número directamente na fórmula, pero COLUMN aforra o problema do reconto manual no caso de que a columna de destino estea no medio da folla.
Obtén unha letra de columna.a partir dun número de columna
Para converter un número dado nunha letra de columna, use a función ADDRESS dentro de SUBSTITUTE:
SUBSTITUTE(ADDRESS(1, column_number,4),"1 ","")A modo de exemplo, busquemos a letra da columna correspondente ao número en A2:
=SUBSTITUTE(ADDRESS(1,A2,4),"1","")
Vendo os resultados a continuación, podemos dicir que a primeira columna na folla está A, o que é obvio; a 10.ª columna é J, a 50.ª columna é AX e a 100.ª columna é CV:
Como funciona esta fórmula
Para comezar, configure o Función ADDRESS para devolver unha referencia relativa á primeira cela da columna de destino:
- Para o número de fila, use 1.
- Para o número de columna, proporcione a referencia á cela que contén o número, A2 no noso exemplo.
- Para o argumento abs_num, introduza 4.
Como resultado, ADDRESS(1,A2,4) devolvería A1.
Para desfacerse da coordenada da fila, envolve a fórmula anterior na función SUBSTITUTE e substitúe "1" por unha cadea baleira (""). Feito!
Obter o enderezo dun intervalo con nome
Para atopar o enderezo dun intervalo con nome en Excel, primeiro terás que obter a primeira e a última referencia de cela e, a continuación, xuntalas. . Isto funciona de forma un pouco diferente en Excel predinámico (2019 e anteriores) e Excel dinámico de matriz (Office 365 e Excel 2021). Os seguintes exemplos son para Excel 2019 - Excel 2007. As instrucións para Excel 365 e Excel 2021 sonaquí.
Como obter o enderezo da primeira cela dun intervalo
Para devolver unha referencia á primeira cela dun intervalo nomeado, use esta fórmula xenérica:
ADDRESS(ROW( rango), COLUMNA( intervalo))Asumindo que o intervalo se chama "Vendas", a fórmula real é a seguinte:
=ADDRESS(ROW(Sales), COLUMN(Sales))
E devolve o enderezo da cela superior esquerda no intervalo:
Nesta fórmula, as funcións ROW e COLUMN devolven unha matriz de todos os números de fila e columna en o rango, respectivamente. Con base neses números, a función ADDRESS constrúe unha matriz de enderezos de celas. Pero como a fórmula se introduce nunha única cela, só se mostra o primeiro elemento da matriz, que corresponde á primeira cela do intervalo.
Como obter o enderezo da última cela dun intervalo
Para atopar o enderezo da última cela nun intervalo nomeado, use esta fórmula xenérica:
ADDRESS(ROW( range)+ROWS( range)-1 ,COLUMN( intervalo)+COLUMNS( intervalo)-1)Aplicada ao noso intervalo chamado "Vendas", a fórmula toma a seguinte forma:
=ADDRESS(ROW(Sales) + ROWS(Sales)-1, COLUMN(Sales) + COLUMNS(Sales)-1)
E devolve a referencia á cela inferior dereita do intervalo:
Esta vez, necesitamos cálculos un pouco máis complexos para elaborar a fila número. Como no exemplo anterior, a función ROW ofrécenos unha matriz de todos os números de fila do intervalo, {4;5;6;7} no noso caso. Necesitamos "mover" estes números polo número total de filas menos 1, de xeito queo primeiro elemento da matriz convértese no último número de fila. Para atopar o reconto total de filas, empregamos a función FILAS e restamos 1 ao seu resultado: (4-1=3). Despois, engadimos 3 a cada elemento da matriz inicial para facer o desprazamento necesario: {4;5;6;7} + 3 = {7;8;9;10}.
O número de columna é calculado dun xeito similar: {2,3,4}+3-1 = {4,5,6}
Das matrices anteriores de números de fila e columna, a función ADDRESS ensambla unha matriz de enderezos de cela , pero devolve só a primeira correspondente á última cela do intervalo.
O mesmo resultado tamén se pode conseguir escollendo os valores máximos das matrices dos números de fila e columna. Non obstante, isto só funciona nunha fórmula matricial, que require premer Ctrl + Maiús + Intro para completar correctamente:
=ADDRESS(MAX(ROW(Sales)), MAX(COLUMN(Sales)))
Como obter o enderezo completo dun intervalo nomeado
Para devolver o enderezo completo dun intervalo con nome, só precisa concatenar as dúas fórmulas dos exemplos anteriores e inserir o operador de intervalo (:) no medio.
ADDRESS(ROW( intervalo) , COLUMNA( intervalo)) & ":" & DIRECCIÓN(FILA( intervalo) + FILAS( intervalo)-1, COLUMNA( intervalo) + COLUMNAS( intervalo)-1)Para que funcione para o noso conxunto de datos de mostra, substituímos o "intervalo" xenérico polo nome do intervalo real "Vendas":
=ADDRESS(ROW(Sales), COLUMN(Sales)) & ":" & ADDRESS(ROW(Sales) + ROWS(Sales)-1, COLUMN(Sales) + COLUMNS(Sales)-1)
E obtemos o enderezo do intervalo completo como un Referencia absoluta $B$4:$D$7:
Para devolver o intervaloenderezo como unha referencia relativa (sen o signo $, como B4:D7), estableza o argumento abs_num en ambas as funcións ADDRESS en 4:
=ADDRESS(ROW(Sales), COLUMN(Sales), 4) & ":" & ADDRESS(ROW(Sales) + ROWS(Sales)-1, COLUMN(Sales) + COLUMNS(Sales)-1, 4)
Naturalmente, o pódense facer os mesmos cambios en fórmulas individuais para a primeira e a última cela, e o resultado será semellante a este:
Como obter o enderezo dun rango nomeado en Excel 365 e Excel 2021
A diferenza do comportamento tradicional "unha fórmula - unha cela" nas versións anteriores, no novo Excel, calquera fórmula que poida devolver varios valores, faino automaticamente. Ese comportamento chámase derrame.
Por exemplo, en lugar de devolver o enderezo da primeira cela, a seguinte fórmula mostra os enderezos de todas e cada unha das celas nun intervalo nomeado:
=ADDRESS(ROW(Sales), COLUMN(Sales))
Para obter só o enderezo da primeira cela , cómpre activar a intersección implícita, que se activa por defecto en Excel 2019 e anteriores. Para iso, pon o símbolo @ (operador de intersección implícito) antes dos nomes dos intervalos:
=ADDRESS(@ROW(Sales), @COLUMN(Sales))
De forma semellante, podes corrixir outras fórmulas.
Para obter última cela do intervalo:
=ADDRESS(@ROW(Sales) + ROWS(Sales)-1, @COLUMN(Sales) + COLUMNS(Sales)-1)
Para obter o enderezo dun intervalo nomeado :
=ADDRESS(@ROW(Sales), @COLUMN(Sales)) & ":" & ADDRESS(@ROW(Sales) + ROWS(Sales)-1, @COLUMN(Sales) + COLUMNS(Sales)-1)
A seguinte captura de pantalla mostra os resultados:
Consello. Ao abrir unha folla de traballo con fórmulas creadas nunha versión anterior en Excel de matriz dinámica, Excel insírese automaticamente un operador de intersección implícito.
É asídevolver un enderezo de cela en Excel. Para ver con máis detalle todas as fórmulas que se comentan neste tutorial, podes descargar o noso libro de exemplo a continuación. Grazas por ler e espero verte no noso blog a vindeira semana!
Practica para descargar
Función EXCEL ADDRESS - exemplos de fórmulas (ficheiro .xlsx)