Interpola valores entre duas células

4

Eu tenho uma planilha semelhante a esta no Libre Office Calc:

    +-----------+
    |     |  A  |
    |  1  | 444 |
    |  2  |     |
    |  3  |     |
    |  4  |     |
    |  5  |     |
    |  n  |     |
    | n+1 | 938 |
    +-----------+

A (1) < A (n + 1), 444 e 938 são usados como exemplo.

Existe uma maneira de preencher automaticamente as células entre A (1) e A (n + 1) com valores inteiros (repetindo-os se necessário)?

Resultado esperado:

    +-----------+   +-----------+
    |     |  A  |   |     |  A  |
    |  1  | 444 |   |  1  | 444 |
    |  2  |     |   |  2  | 527 |
    |  3  |     |   |  3  | 610 |
    |  4  |     |   |  4  | 693 |
    |  5  |     |   |  5  | 776 |
    |  6  |     |   |  6  | 859 |
    |  7  | 938 |   |  7  | 938 |
    +-----------+   +-----------+

Outro exemplo:

    +-----------+   +-----------+
    |     |  A  |   |     |  A  |
    |  1  |  5  |   |  1  |  5  |
    |  2  |     |   |  2  |  5  |
    |  3  |     |   |  3  |  6  |
    |  4  |     |   |  4  |  6  |
    |  5  |     |   |  5  |  7  |
    |  6  |     |   |  6  |  7  |
    |  7  |  8  |   |  7  |  8  |
    +-----------+   +-----------+

Obrigado.

    
por Umpa 04.04.2014 / 17:07

3 respostas

2

Se você quiser uma distribuição uniforme, com cada célula arredondada para o próximo inteiro, insira a seguinte fórmula na célula A2:

=ROUNDUP(A$1+(ROW()-ROW(A$1))*(A$7-A$1)/(ROW(A$7)-ROW(A$1)))

substituindo n pela linha do último valor (no seu exemplo 7). Em seguida, copie a célula para baixo até An ( não An + 1).

Se você deseja os mesmos valores do seu exemplo, siga esta fórmula:

=ROUNDUP(A1+(A$n-A$1)/(ROW(A$n)-ROW(A$1)))

Mas isso sofre de um viés de arredondamento severo: Isso adiciona um valor arredondado de 83 de linha para linha, mas para o último passo há apenas 79 restantes, tornando-o significativamente menor. Na fórmula superior, a diferença arredondada muda entre 82 e 83 de linha para linha, resultando em um spread mais uniforme.

    
por 04.04.2014 / 19:15
0

Você pode fazer isso "manualmente":

  • Adicione uma coluna com valores 1, ..., 7 (coluna A na minha resposta, os números 444 e 938 estão na coluna B)
  • Calcule a diferença entre duas células: TEMPCELL = ROUNDUP((B7-B1)/(A7-A1);0) (você parece querer o maior número, então usei ROUNDUP )
  • em cada uma das células vazias na coluna B, insira =(A2-1)*TEMPCELL+$B$1

ou (segunda idéia, parece melhor para mim)

  • não use a "coluna auxiliar", apenas calcule o valor de TEMPCELL (porque A7-A1 no exemplo é apenas 6, não há necessidade de coulmn A nesta etapa)
  • na célula abaixo de 444, insira =B1+TEMPCELL e arraste a fórmula para baixo
por 04.04.2014 / 17:51
0

Se você quiser apenas plotar a série:

  • selecione a série
  • clique com o botão direito
  • formatar séries de dados
  • Plotar opções - selecione Continuar linha

    
por 24.01.2017 / 21:29