Estou criando uma fórmula de matriz complexa e quero me livrar da dependência da área que representa o vetor {1;2;3;...;n}
onde n
é o mesmo número que o número da linha em outra área usada na fórmula.
Basicamente eu tenho alguns (longos e complexos) Array Formula ( AF
) com links para colunas inteiras da tabela A
e B
quero me livrar do link para a coluna A.
Se não for possível alterar a contagem de linhas na tabela, o link para a linha A
pode ser substituído por {1;2;3;4}
(para 4 linhas na tabela). MAS a contagem de linhas está mudando de tempos em tempos.
+---+-----+--------------+
| A | B | C |
+---+-----+--------------+
| 1 | 105 | =AF([A],[B]) |
| 2 | 55 | =AF([A],[B]) |
| 3 | 80 | =AF([A],[B]) |
| 4 | 11 | =AF([A],[B]) |
+---+-----+--------------+
Você é capaz de construir esta fórmula apenas com entrada = linha B (sem usar nenhuma tabela lateral)?
Muito Obrigado!
PS: Nas versões atuais do Excel está disponível a função SEQUENCE
, mas não em 2013 que eu tenho e gentilmente peço sua ajuda.
Ah, foi tão simples... Estou envergonhado. Eu (erroneamente) assumi que
ROW
é incapaz de retornar o vetor. Mas pode.A fórmula pode se parecer com:
Esta solução refere-se apenas à coluna B (intervalo de dados):
{=ROW([B])-ROW(INDEX([B]),1))+1}
Ou mole elegante (usando o cabeçalho da tabela como referência):
{=ROW([B])-ROW(TableName[#Headers])}
Onde
TableName
é o nome da tabela.Ou sem intervalos nomeados nem tabelas:
{=ROW($B$2:$B$#)-ROW($B$1)}
Onde
A#
está a última célula com dados na linhaB
Ou exemplo super simples (não há tabela e os dados começam em
B1
):{=ROW($B$1:$B$#)}
Onde A# é a última célula com dados na linha
B
PS: Eu não tenho a versão em inglês do Excel, então a tradução de termos pode ser confusa. Sinta-se à vontade para me corrigir.