Use os resultados de uma fórmula do Excel em outra fórmula como um indexador de células

5

Eu tenho uma fórmula básica:

=(RANDBETWEEN(1,20))

que me dá um valor, o que eu quero fazer é pegar esse valor (por causa do argumento '12') e usá-lo para obter outra célula através de outra fórmula, ou seja,

=(RANDBETWEEN(1, B<result>))

onde B é a coluna, <result> é o resultado da primeira fórmula.

Isso pode ser feito? (Estou usando o Excel 2013)

    
por Chris Skardon 05.01.2013 / 17:20

2 respostas

2

Tente usar INDEX, portanto, se você tiver a fórmula =RANDBETWEEN(1,20) na célula D1, poderá usar essa fórmula em outra célula

=RANDBETWEEN(1,INDEX(B:B,D1))

Se a primeira fórmula retornar 12, a parte INDEX retornará o valor de B12

Se você não quiser a primeira fórmula em uma célula, poderá usá-la diretamente na segunda fórmula como esta:

=RANDBETWEEN(1,INDEX(B:B,RANDBETWEEN(1,20)))

    
por 05.01.2013 / 19:16
0

Você pode criar uma macro do Excel para resolver esse problema.

  • Clique na guia "Visualizar" na faixa de opções.
  • Clique em "Macros".
  • Digite RandomCell e clique em "Criar".

Quando a janela do VBA abrir, cole esse código diretamente em Sub RandomCell :

Dim Low As Double
Dim High As Double
Dim R As Double
Low = 1
High = 20
R = Int((High - Low + 1) * Rnd() + Low)
ActiveCell.Offset(R, 1).Select

Se você estiver na célula A1, isso selecionará a célula B [número aleatório]. Salve a pasta de trabalho e feche a janela do VBA. Execute a macro fazendo o seguinte:

  • Clique na guia "Visualizar" na faixa de opções.
  • Clique em "Macros".
  • Selecione "RandomCell" e clique em "Executar".
por 05.01.2013 / 20:05