Dicas do Microsoft Excel é ao Domingo…no Pplware – 9
Por João Pinto para o PPLWARE.COM
Objectivo: Criar listas de números aleatórios
Ora vivam caros leitores. Mais um Domingo e mais uma artigo da rubrica “Dicas do Microsoft Excel é ao Domingo….no Pplware”. Lembramos que esta é uma rubrica “aberta” a todos os leitores que pretendam contribuir. Para tal devem enviar-nos um e-mail com a dica que pretendem ver publicada. Caso tenham também alguma dúvida ou problema a resolver no Excel, deixem essa informação nos comentários para que a comunidade Pplware ajude a resolver.
Criar listas de valores numéricos aleatórios é uma necessidade de grande parte dos utilizadores de Excel, sendo bastante útil para testar fórmulas ou para preencher tabelas, etc.
O Excel tem duas funções para gerar números aleatórios:
- ALEATÓRIO() (em inglês RAND()): gera números aleatórios entre 0 e 1. Esta função não tem argumentos, é inserida apenas assim numa célula.
- ALEATÓRIOENTRE(inferior, superior) (em inglês RANDBETWEEN()): gera números aleatórios entre o valor inferior e superior, dados como argumentos da função. Assim, se inserirmos =ALEATÓRIOENTRE(1,100) numa célula, iremos obter um valor aleatório entre 1 e 100. Se quisermos preencher uma coluna como uma lista de números aleatórios, podemos colocar esta fórmula na primeira célula e copiá-la para outras células, ou então podemos seleccionar o conjunto de células que queremos preencher com a fórmula, clicar na barra de fórmulas, e inserir a nossa fórmula. No exemplo em baixo, seleccionamos as células A1:D6.
Depois, em vez de premir a tecla Enter apenas, devem premir a tecla Ctrl e depois em Enter para inserir a fórmula em múltiplas células simultaneamente. Na imagem seguinte, podem ver as células seleccionadas já todas preenchidas, com os números aleatórios entre 1 e 100, gerados pela nossa fórmula:
Cada vez que a folha de cálculo for recalculada, as fórmulas irão gerar novos números aleatórios. Experimente pressionar a tecla F9 para recalcular a folha e irão ver que os valores irão mudar. Se pretendermos manter estes valores fixos, podemos copiar os valores e substituir as fórmulas nestas células pelos valores apenas. Mantendo o mesmo conjunto de células seleccionadas (A1:D6), pressione Ctrl+C (copiar) e depois, em cima da célula A1, clique no botão do rato do lado direito, irá abrir um menu de opções, nas “Opções de Colagem”, pressione o 2º botão (“123”), que corresponde a “Valores(V)”. Se verificar agora nas suas células, em vez de conterem a fórmula =ALEATÓRIOENTRE(1,100), têm agora valores fixos. Se pressionar F9 para recalcular a sua folha, estes valores não irão ser alterados.
Por hoje é tudo…esperamos que as dicas sejam úteis e que vos ajudem a dominar o Microsoft Excel. Como referi anteriormente, esta dica está aberta a todos os que pretendam contribuir. Enviem-nos as vossas dicas para ppinto @ pplware .com para publicarmos em próximos artigos.
- [1] Operações básica: SOMA, MÉDIA, MÁXIMO, MINIMO
- [2] Actualização da formula de acordo com a linha e coluna
- [3] Referências fixas
- [4] Utilização de formulas e valores em várias folhas
- [5] Destacar facilmente valores em Excel
- [6] Dividir uma String (frase) em partes
- [7] Função VLOOKUP (PROCV em Português)
- [8] Converter formulas em números
Este artigo tem mais de um ano
É uma excelente dica. Dispensa a nossa potencial imparcialidade de tratamento de dados. Mas reparei que, dentro do intervalo de valores inseridos na fórmula, a função gera também números repetidos. Há alguma forma de evitar isso, de gerar números todos eles diferentes?
Parabéns pelo trabalho!
Para gerar valores não repetidos entre quaisquer dois valores podemos usar a função aleatório()do seginte modo:
Imaginemos que queremos 20 nºs aleatórios inteiros entre 1 e 20
passo 1: gerar aleatórios no intervalo A2:A21 com =Aleatório()
passo 2: no intervalo B2:B21 usar
=CORRESP(MAIOR(A$2:A$21;LIN(1:1));$A$2:$A$21;0)
querendo outro intevalo de saída, por exemplo 20 números entre 5 e 30 podemos usar a seginte fórmula em C2:C21
=ARRED(CORRESP(MAIOR(A$2:A$21;LIN(1:1));$A$2:$A$21;
0)*(30-5)/20+5-1;0)
Para verificarmos se efectivamente não há repetidos podemos colocar em D2:D21 a fórmula
=CONTAR.SE($B$2:$B$21;B2)
que deverá dar tudo 1
A fórmula matricial =OU(D2:D21>1) terminada com CTRL+Shift+Enter, em vez de Enter deverá dar FALSO caso não haja duplicados.
Usando apenas a função ALEATÓRIOENTRE() não é possível evita os duplicados, podes sempre aumentar o valor máximo para alargar o range de valores gerados. Usando VBA, criando uma UDF já seria possível evitar duplicados a 100%.
Boa dica. Nem sempre o que é evidente está debaixo dos nossos olhos.
Sem duvida 🙂
Boa tarde , gostava se possível me explicassem como insiro um valor numa coluna vou dar um exemplo , coluna A tem o valor de 1 e coluna B tem o valor de 3 quando eu colocar nas células A1 o nº 2 e na B1 o nº 2 na célula C1 ter o resultado de 8 ?
Será que pretende seguinte?
A1=1 B1=3 <– constantes
A2=2 B2=2
Colocar em C2 a seguinte fórmula
=SOMARPRODUTO(A$1:B$1;A2:B2) (versão portuguesa.pt)
=SUMPRODUCT(A$1:B$1,A2:B2) (versão inglesa)
que fazem =A1*A2+B1*B2 ou seja =1*2+3*2 =8
Não , não pretendo isso o que eu pretendo é que a coluna A tenha um valor constante e a coluna B tenha outro para quando eu colocar na celula C1 a formula =A1+B1
Mais uma bela dica.
A dica n.º6 já está um bocado esquecida, alguém pode dar lá uma espreitadela e ver se me resolve uma dúvida?
Obrigado desde já.
=CONCATENAR(A1;”_”;SUBST(B1;”/”;”_”;1))
Infelizmente também não funciona
#Nome?
Curiosamente agora funcionou com:
=A1&”_”&(SUBST(B1;”/”;”_”))
Isso foi porque copiaste a minha fórmula a partir daqui.
Vê como as “” estão ao fazeres o paste…
= “Obrigado” & “Miguel Goyanes” & “e” & “José Augusto”
Com uma “mistela” das ajudas dos dois funcionou 🙂
Em LibreOffice Calc utilizem exactamente as mesmas funções e da mesma forma.
Eu uso isto para fazer fazer a minha chave do euromilhões. 🙂
Bom dia a Todos !!
Estou montando um “Tomador de Lição de Alemão” eletrônico, para isso criei uma tabela que gera números aleatórios.
Minha necessidade é: após gerar o número aleatório necessito utilizar a tecla F9 para conferir alguns resultados, Mas preciso que o nº sorteado não mude (seja congelado-bloqueado) até que termine as verificações das respostas estão corretas, após essas verificações voltaria a “descongelar/desbloquear” para gerar novos números aleatórios.
caso queiram ver na prática me passem o e-mail que envio o arquivo do excel – Obrigado a Todos