Excel 2010: criar intervalo nomeado sem uma referência de folha na fórmula

3

No Gerenciador de nomes, criei um intervalo nomeado com esta referência:

=COUNTIF($A$4:A4, Tbl_InventoryMain[Barcode])

O Excel insere automaticamente o nome da planilha atual antes do $A$4:A4 . Eu preciso disso para ficar $A$4:A4 para usar essa mesma referência em outras planilhas. Eu não quero criar um intervalo nomeado para cada folha.

Como posso obter essa referência nomeada para trabalhar em qualquer folha?

Este é apenas um pedaço de uma fórmula longa. Esta equação particular é repetida em uma matriz. Estou tentando reduzir o tamanho da fórmula e acelerar os cálculos colocando as partes da fórmula geral no gerenciador de nomes.

    
por mechengr02 19.06.2015 / 21:17

1 resposta

1

Minha resposta se concentra na criação de uma referência a $A$4:A4 que funciona em todas as planilhas, pois essa é a parte da referência à qual o Excel está prefixando o nome da planilha indesejada. (Eu suponho que você não está tendo problemas em se referir à tabela.)

Você pode resolver esse problema usando o INDIRECT função da seguinte forma:

  1. Em qualquer planilha, selecione a célula A1
  2. Crie um intervalo nomeado com uma referência de:

    =INDIRECT("$A$4"):INDIRECT("R[3]C[0]",FALSE)
    

Por sua pergunta, a segunda célula na referência de $A$4:A4 é relativa e a referência desse nome é criada de acordo. Portanto, se você usar esse nome na célula A1 , ele retornará o intervalo $A$4:A4 . Se você fizer referência ao nome de B1 , o nome retornará corretamente um intervalo de $A$4:B4 .

Como funciona

A primeira metade da fórmula é simples. INDIRECT("$A$4") sempre refere-se à célula A4 na planilha atual.

A segunda metade é um pouco mais complicada. INDIRECT("R[3]C[0]",FALSE) refere-se a "3 linhas abaixo na mesma coluna, em relação à célula atual". Se você estiver na célula A1 , esta é a célula A4 . O argumento FALSE diz à função INDIRECT para interpretar o texto como referência no estilo R1C1 em vez da referência padrão do estilo A1.

A fórmula completa

A referência do seu nome final será algo assim:

=COUNTIF(INDIRECT("$A$4"):INDIRECT("R[3]C[0]",FALSE), Tbl_InventoryMain[Barcode])
    
por 02.07.2015 / 22:57