Como obter os dados de uma célula para alterar a função de outras células

0

Eu tenho mais de 10 planilhas, com os mesmos layouts, todos contendo dados de diferentes tarefas do dia. Eu estou tentando criar um "SimpleSheet" que só puxa dados específicos de uma folha de dias em um layout agradável. Até agora eu estou fazendo isso manualmente:

A1 | ='DaySheet1'.A1
A2 | ='DaySheet1'.A2

O que eu gostaria de fazer é alterar as funções para em vez de onde diz que o DaySheet diz "puxe a folha que eu defini na célula SimpleSheet B1"

B1 | *whatever sheet*
A1 | ='B1'.A1
A2 | ='B1'.A2
    
por user197060 10.02.2013 / 02:28

1 resposta

2

Use Indirect .

Indirect permite que você use uma string como referência para um local da planilha. Portanto, se o conteúdo da célula A1 estiver definido como 'DaySheet', você poderá usar a fórmula =Indirect(A1) ! B1 e o resultado será o que estiver na célula B1 na planilha DaySheet.

Na página de suporte :

You can reference each attribute of the reference (workbook name, worksheet name, and cell reference) individually by using the INDIRECT function to create a user-defined dynamic reference with worksheet cell references as inputs.

EDITAR: Pode precisar de uma menção sobre como lidar com a referência à célula atual.

Para detalhar a partir da planilha até a célula, você pode usar uma referência de sequência (por exemplo, "A1") concatenate d para a referência indireta ou usar a função address para fazer isso dinamicamente. Abaixo está um exemplo de ambos:

String:

=INDIRECT(CONCATENATE($A$1,"!","B1"))

Dinâmica:

=INDIRECT(CONCATENATE($A$1,"!",ADDRESS(ROW(), COLUMN(), 4)))

O primeiro é mais fácil quando você não copia de muitas células. Mais do que um punhado, e eu iria com a segunda opção.

Ajuda do MS na função Endereço .

    
por 10.02.2013 / 04:36