Você tem a ideia certa com COLUMN
, mas talvez seja mais fácil configurar o uso de ROW
. Para o seu exemplo específico, você poderia usar o seguinte para gerar a matriz {1,2,3,4}
.
=ROW(1:4)
Eu tenho uma fórmula no excel que contém uma matriz; {1,2,3} seu uso pode ser visto em Eu gostaria de gerá-lo dinamicamente, por exemplo, arrayfun (4) geraria {1,2,3,4}. Posso gerar uma matriz muito longa com COLUMN (1: 1), mas preciso de uma fórmula que gere uma matriz de tamanho explícito.
A fórmula específica que estou tentando usar é o LINEST e um exemplo de seu uso pode ser encontrado em link
A resposta da ajuda de @Excellll foi a fórmula
=COLUMN(INDEX(1:1024,1,1):INDEX(1:1024,1,3))
ou
=TRANSPOSE(ROW(1:3))
O que pode ser facilmente tornado dinâmico.
Agora, posso usar o LINEST para gerar coeficientes polinômicos com uma ordem dinâmica usando:
=LINEST(known_ys,known_xs^COLUMN(INDEX(1:1024,1,1):INDEX(1:1024,1,order)),TRUE,TRUE)
ou
=LINEST(known_ys,known_xs^TRANSPOSE(ROW(1:order)),TRUE,TRUE)
Onde 'known_ys' é um intervalo contendo meus valores y, 'known_xs' é um intervalo contendo meus valores x e 'order' é a ordem à qual desejo aplicar meu ajuste polinomial.
Além disso, posso envolver o PROJ.LIN em uma função INDEX para extrair qualquer coeficiente específico conforme desejado, por exemplo:
=INDEX(LINEST(known_ys,known_xs^TRANSPOSE(ROW(1:order)),TRUE,TRUE),1,3)
Para retornar apenas o R²
Tags microsoft-excel array