Quero obter o conteúdo de uma célula de acordo com seu número de linha e coluna. O número da linha e da coluna são armazenados em células (aqui B1, B2). Eu sei que as seguintes soluções funcionam, mas elas parecem um pouco malucas.
Sol 1
=CELL("contents",INDIRECT(ADDRESS(B1,B2)))
Sol 2
=CELL("contents",OFFSET($A$1, B1-1,B2-1))
Não existe método menos prolixo? (como = CellValue (linha, col) ou qualquer outro)?
Editar / Esclarecimento: Eu só quero usar as fórmulas da planilha do Excel. Sem VBA. Resumindo, procuro praticamente o equivalente do método VBA Cells () como uma fórmula do Excel.
excel
excel-formula
Philipp
fonte
fonte
Respostas:
Você não precisa da parte CELL () de suas fórmulas:
ou
ambos funcionarão. Observe que
INDIRECT
eOFFSET
são funções voláteis. As funções voláteis podem retardar o cálculo porque são calculadas a cada recálculo.fonte
INDIRECT
+ADDRESS
é o caminho a seguir. O Excel na minha língua se traduzOFFSET
em 2 palavras separadas por um ponto. Isso é o pior (junto com tremas nos nomes das funções)!Tente = índice (ARRAY, ROW, COLUMN)
onde: Array: seleciona a planilha inteira Row, Column: Suas referências de linha e coluna
Isso deve ser mais fácil de entender para quem está olhando a fórmula.
fonte
Demorei um pouco, mas foi assim que o tornei dinâmico. Não depende de uma tabela ordenada.
Comecei com uma coluna de nomes de estado (Coluna A) e uma coluna de aeronaves em cada estado (Coluna B). (A linha 1 é uma linha de cabeçalho).
Encontrar a célula que contém o número de aeronaves foi:
Coloquei isso em uma célula e dei um nome a essa célula, "StateRow" Então, usando as dicas acima, acabei com o seguinte:
Isso retorna o nome do estado do valor dinâmico na linha "StateRow", coluna 1
Agora, como os valores na coluna de contagem mudam ao longo do tempo conforme mais dados são inseridos, eu sempre sei qual estado tem mais aeronaves.
fonte