Criando fórmulas de array “temporárias” no Excel

1

Eu tenho um gráfico que deve ter uma linha recomendada passando por ele. Eu normalmente faria isso por ter um valor "recomendado" para cada valor que eu gráfico. É possível ter uma fórmula que repita vários valores para que eu não precise manter uma lista de valores "recomendados"? Aqui está um exemplo de captura de tela

Na minha cabeça funciona como: =MakeArray(2.23, 7) onde 2.23 é o valor e 7 é o número de repetições. Então eu poderia atribuir isso à série e não ter que manter outra série de dados que eu não realmente me interessa.

    
por J Woltman 06.07.2018 / 17:17

3 respostas

2

Editado: o seguinte é uma solução para a pergunta que publiquei, mas pode não ser a melhor maneira de realmente fornecer linhas "recomendadas" ou "limite", que era meu objetivo real.

Resposta tecnicamente correta

Acho que descobri uma solução decente:

  1. Crie uma função definida pelo usuário (UDF) que retorna uma matriz, como sugerido por @ScottCraner.
  2. Defina um intervalo nomeado que se refere a ("chamadas") dessa função.
  3. Defina a origem da série para esse intervalo nomeado.

eaplanilhaativadaparamacrosestánomeusiteem link

Provavelmente uma solução melhor

Esta solução segue a sugestão do @ fixer1234:

  1. Faça um par de pontos de dados XY. Os valores de Y são seus dados recomendados. O primeiro valor X é 1, o segundo valor X é, no entanto, muitas barras que você tem no seu gráfico de barras.
  2. Crie um gráfico de barras normal
  3. Adicione outra série ao gráfico e defina o tipo de série como XY com linha.
  4. Defina os dados de origem da série para o par XY que você criou na Etapa 1.
  5. O Excel moverá a série para o eixo secundário. Coloque a série de volta no eixo primário.
  6. Remova os marcadores da série XY para que pareçam apenas uma linha simples.

Isso não requer nenhum código extra e é muito limpo.

    
por 06.07.2018 / 19:27
0

Coloque 2.23 na célula superior.

No próximo, coloque =B2 .

Assumindo que 2.23 foi colocado em B2 e a fórmula em B3, apenas copie.

Então,sevocêquiseralteraronúmero,sóprecisaráalterarB2eorestanteseráalterado

    
por 06.07.2018 / 17:26
0

Eu gostaria de sugerir uma Macro (VBA) que repita qualquer valor Número, Texto ou Data para N número de vezes.

SubRepeatData()DimRngAsRangeDimInputRngAsRange,OutRngAsRangexTitleId="Repeat Data"

Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set OutRng = OutRng.Range("A1")

For Each Rng In InputRng.Rows
    xValue = Rng.Range("A1").Value
    xNum = Rng.Range("B1").Value
    OutRng.Resize(xNum, 1).Value = xValue
    Set OutRng = OutRng.Offset(xNum, 0)
Next

End Sub

Como funciona:

  • Insira esta macro como módulo com a planilha relacionada.
  • Execute a macro & responda a primeira caixa de entrada selecionando A3: B3.
  • Responda a segunda caixa de entrada selecionando qualquer célula única, como a E3.
  • Conclua com Ok.

Você obtém o resultado desejado, conforme mostrado na captura de tela.

Nota: Eu incluí propositalmente a Situação 2, para mostrar que a Macro pode repetir qualquer Valor a qualquer número de vezes.

    
por 07.07.2018 / 11:14