Números aleatórios e gerador de Bingo

Funções de números aleatórios no Excel

Números aleatórios podem ser úteis para Análises estatísticas como Monte Carlo, e também é possível fazer algumas brincadeiras.

A fórmula “Aleatório()” do Excel fornece um número real aleatório entre 0 e 1:

Clicando F9 ou a qualquer mudança na planilha, este valor é recalculado.

Outra função útil é “=ALEATÓRIOENTRE(min;max)”: vai gerar um número aleatório inteiro entre o valor mínimo e o máximo.


Gerador de cartelas de Bingo

Vamos criar um gerador de cartelas de Bingo com números aleatórios.

Não podemos simplesmente jogar “=aleatórioentre(1, 15)”, porque provavelmente vai dar algum número repetido.

Então, temos que ser um pouquinho mais sofisticados.

Imagine que tenho que escolher 5 números entre 1 e 15, para a coluna “B” do Bingo.

Na célula imediatamente à esquerda, sorteio um número aleatório qualquer.

Uma forma de sortear 5 números da lista seria ordenar a coluna aleatória em ordem decrescente e pegar os 5 primeiros.

Existe uma forma fácil de fazer isso no Excel.

A função “Ordem.eq(núm, ref)” diz qual a ordem de um número numa sequência.

Por exemplo, o número 0,7412 é o sétimo na ordem decrescente, da lista de 15 números.

O 0,9985 é o maior da lista, e o 0,1675 é o menor.

Depois, é só fazer um procv para pegar os 5 primeiros.

Clicando em F9, o Excel vai sortear outra cartela.

Bônus: “Bingo corporativo”, para usar em reuniões entediantes.

Download da planilha no Google Drive.

Veja também:

Winston Churchill, discursos para texto e texto para discursos no Office

O grande estadista britânico Winston Churchill foi fundamental na Segunda Grande Guerra. No início de 1940, a Alemanha tinha dominado boa parte da Europa continental (Polônia, Bélgica, França, e Itália era aliada), a Rússia era neutra e os EUA não tinham entrado na guerra.

A Inglaterra era a única grande frente de oposição à Hitler.  A liderança de Churchill, com seus discursos inflamados, levou o país a resistir com “sangue, trabalho, lágrimas e suor”, e “vitória a qualquer custo”.

Há diversos filmes sobre Churchill, como o “Destino de uma nação”. O que achei engraçado é que Churchill passava o tempo todo, seja de pijamas ou a altas horas da noite, ditando e pedindo para as secretárias lerem o discurso, até chegar num resultado satisfatório. Na época, datilógrafas furiosamente usando máquinas de escrever.

Passados oitenta anos, hoje em dia não é necessário ter um batalhão de secretárias para escrever e ler discursos. Qualquer ferramenta do Office pode ajudar.

No Word, para ditar o seu discurso, ir em Página Inicial – Ditar.

Vai aparecer uma caixinha de controle, e talvez autorização para usar o microfone. E aí, é só ditar que o Word vai redigir o texto.

Para fazer o oposto, ler algum texto, basta selecionar o trecho, clicar com o botão direito, e escolher “Ler em voz alta”. É possível controlar a velocidade, escolher a voz. Eu sempre uso, para revisão final de texto.

(Outra dica. Para selecionar tudo, CTRL-T)

O mesmo truque funciona no Excel, Outlook, Power Point.

Versões anteriores à 2019 não têm esse recurso. Uma solução é usar a versão on line do Office (www.office.com), que vai estar atrelada à sua conta do Office 365.

Com a ajuda de suas secretárias, além de ter liderado a Inglaterra a resistir até a entrada dos EUA e Rússia na guerra, Churchill escreveu livros sobre a Primeira e Segunda Guerras Mundiais, além de outros livros de história, e por isso, ganhou o Prêmio Nobel de Literatura em 1953. 

“Nunca, nunca, nunca desista” – Winston Churchill

Para saber mais:

Winston Churchill, o homem que mudou o mundo (ideiasesquecidas.com)

Trilha sonora: Sacrifice – Elton John

(55) Elton John – Sacrifice – YouTube

Tela da Matrix no Excel

Que tal reproduzir a tela do filme Matrix no Excel?

É necessário ativar macros. Para mudar os valores, teclar CTRL + SHIFT + A (é um atalho para rodar a macro).

É uma macro mais ou menos simples.

 – Definir a área de trabalho (60 linhas e 100 colunas)

 – Pintar o fundo de preto e a fonte do caractere de verde claro

 – Para cada coluna, escolher uma linha inicial aleatória e um tamanho aleatório do vetor

 – A partir da linha inicial ir preenchendo aleatoriamente caracteres até o tamanho máximo

 – Uma melhoria foi pintar o último caractere de branco

Para download, usar o link: https://1drv.ms/x/s!Aumr1P3FaK7joDZw0SVX0hktLsYV

Ainda não está tão legal quanto no filme, mas Neo, estou chegando lá!

Veja também:

https://ferramentasexcelvba.wordpress.com/

Ideias em gráficos – equipe de vendedores, expectativa x realidade

Um vendedor excelente < Uma equipe de bons vendedores.

Expectativa x Realidade

PDCAs

Tartaruga x Coelho

1% melhor ao dia x 1% pior ao dia

Planilha para download em:

https://1drv.ms/x/s!Aumr1P3FaK7joC_ZOQ5LczHBI8AF

Veja também:

Caça-Palavras em Excel-VBA

Para que comprar Caça-Palavras em bancas de jornal? Crie o seu próprio passatempo personalizado com suas palavras.

Segue para download (https://1drv.ms/x/s!Aumr1P3FaK7joBK0yc8350kgX5rH) uma implementação em VBA.

Basta listar as palavras a serem escondidas e rodar, com macros ativadas.

É uma rotina relativamente simples, e um bom exercício é tentar reescrevê-la do zero.

O procedimento é:

– Ler as strings

– Para cada uma, sortear se a posição é horizontal ou vertical

– Pelo tamanho, verificar quais as posições iniciais onde a palavra “cabe”

– Sortear uma posição inicial

– Verificar se a palavra inteira coincide com outras palavras já postas e repetir até conseguir

– Preencher casas restantes com letras aleatórias

O “Modo debug” não preenche o restante com letras aleatórias, é só para conferir se a lógica funciona.

É possível adaptar para deixar mais fácil e lúdico, para crianças: mudar a fonte, aumentar tamanho das células, cores, etc…

A cada vez que rodar, um resultado diferente vai ser gerado.

No exemplo a seguir, inseri um “BLUEBERRY” a mais.

Outro exercício computacional é o inverso: a partir do caça-palavras, tentar descobrir onde está a palavra, a partir de uma lista – basta algumas varreduras com loop “for”.

Dica: Coloco no link a seguir alguns dos trabalhos mostrados nesse espaço.

https://ferramentasexcelvba.wordpress.com/

Publicações na página DataHackers

Publiquei alguns posts mais técnicos na página do DataHackers, uma das maiores plataformas de Data Science no Brasil.

Um sobre o conto “Escaravelho Dourado”, de Edgar Allan Poe, que lida com criptografia.

E outro, sobre a “Espiral musical” em Excel.

Ainda estou experimentando o que é um conteúdo interessante para esta e o que não é, vantagens e desvantagens, etc…

De um modo mais geral, a plataforma Medium é bem interessante. Surgiu como uma alternativa de blog para produtores, e com possibilidade de criar publicações – substituindo as antigas revistas em papel. É possível seguir temas de interesse, e sugestões de artigos interessantes são enviados por e-mail, todos os dias. Essa plataforma teve o seu pico de entuasiasmo, uma queda, e parece agora estar entrando na maturidade.

Confira minha página no Medium:
https://medium.com/@arnaldogunzi

E o conteúdo do blog Forgotten Lore.

https://ideiasesquecidas.com/

https://ferramentasexcelvba.wordpress.com/

Uma bobina a mais e o MP Load

Descrevendo uma situação que me deixou bastante feliz. Durante visita à unidade de Sacos, em Lages, o meu amigo Marcelo Oliveira contou que a utilização do MP-Load, descrito abaixo, possibilitou o envio de um pallet a mais no contêiner. “Não cabe”, dizia o pessoal; “Cabe, olha só o estudo”, disse o Marcelo.

O MP Load é uma ferramenta extremamente simples, feita em Excel – VBA.

Basta preencher as dimensões (Altura – Largura – Comprimento) e carga máxima do contêiner; e dimensões da bobina a ser transportada – diâmetro externo, largura e peso individual.

As unidades das dimensões estão em milímetros.

Como hipótese, as bobinas sempre vão de pé, e todas as bobinas são iguais. O limite é o volume geométrico ou o peso máximo, o mais restritivo.

Há ferramentas de formação de carga extremamente mais complexas, que conjugam bobinas de vários tipos, deitadas, de pé, etc. Porém, a situação simples de bobina única e de pé deve atender uns 90% das situações, e a beleza é ela ser puramente geométrica, simples de resolver.

O MP Load surgiu com a inspiração acima, pelo amigo Didiel Peça. A ideia era utilizar na hora de tirar pedidos dos clientes de mercado externo, de modo que o valor solicitado fechasse exatamente a carga de um contêiner.

Para o caso de Pallets, basta escolher “P” no campo. As dimensões agora são comprimento – largura – altura (pelo pallet ser retangular) e o peso por pallet.

Há também uma folga adicional de 10 mm no comprimento e na largura, por hipótese.

E que diferença faz uma bobina a mais por carregamento, ou um pallet a mais? Otimização de frete.

Uma bobina faz pouca diferença, individualmente. Mas uma bobina, multiplicada por todas as áreas que otimizam o carregamento, multiplicada por todos os dias em que o estudo é feito, faz toda a diferença.

Segue link.

https://1drv.ms/x/s!Aumr1P3FaK7jn2hfs8JKd7qiZX30

Hipóteses utilizadas:

  • As bobinas são todas idênticas (idem para pallets)
  • As bobinas sempre vão de pé
  • No caso de pallets, há uma folga considerada de 10 mm
  • O comprimento do contêiner é maior do que a largura do mesmo

Como o cálculo é realizado?

Tanto para bobinas quanto para pallets, são analisados dois padrões: retangular e zig-zag

O padrão retangular é um do lado do outro.

Para o cálculo, arrendondar para baixo as dimensões do contêiner dividido pelo diâmetro da bobina.

Já o padrão zig-zag (por falta de um nome melhor), considera um encaixe tipo laranjas empilhadas:

Sejam c e d catetos de um triângulo retângulo, com a hipotenusa sendo o diâmetro externo.

d = sqrt ( Dext^2 – c^2)

Se encontrarmos o valor de c, o valor de d estará definido pela fórmula acima.

No zig-zag, o contorno externo terá um Dext de dimensão, e as camadas internas serão X vezes a dimensão c.

O limite máximo para X é dado pela (Largura do contêiner – Dext) dividido pelo Dext, arredondando para cima.

Com isso, calculamos o número de linhas X, o c e o d, todos os parâmetros para a distribuição.

Por fim, analisamos o carregamento pelo padrão retangular x padrão zig-zag, e pegamos o que ficou melhor.

Um mundo melhor através do Analytics.

https://ideiasesquecidas.com

Veja também:

Mil dólares para quem resolver o “Desafio 14-15”

Em 1890, o designer de jogos e puzzles Sam Loyd ofereceu 1000 dólares para quem resolvesse o “Desafio 14-15” abaixo.

Consiste num tabuleiro 4×4 com um vazio, e as peças deslizam para o espaço vazio.

Note que as posições 14 e 15 estão invertidas, e o objetivo é arrumar o tabuleiro todo em ordem crescente.

O desafio e a facilidade de mexer no joguinho tornaram o mesmo uma febre, à época. Porém, desde então, o problema nunca obteve uma solução válida, por um motivo muito simples: é impossível.

Muita gente já deve ter brincado com esse quando criança, mas com a versão solúvel do mesmo (ou seja, o 14 e 15 na posição correta). Vou chamar a versão solúvel de “Puzzle do 15”, ao invés de “Desafio 14-15”.

Segue uma versão Excel do “Puzzle do 15”.

Um duplo clique na célula vai mover a peça para o posição vazia adjacente.

As macros devem estar ativadas para funcionar.

Link para download: https://1drv.ms/x/s!Aumr1P3FaK7jn2Lesl-PB1Z-O3Yi.

Também deixei a planilha no Github: asgunzi/Puzzle-do-15-Excel: Versão Excel do Puzzle do 15 (github.com)

Sobre a insolubidade do “Desafio 14-15”

A prova tradicional consiste em encontrar uma propriedade invariante, e mostrar que o 14 e 15 trocados não respeitam a propriedade.

A invariante, no caso, é a paridade do número de permutações. Porém, eu fiquei o dia inteiro pensando numa prova mais intuitiva e menos formal, que vou explorar a seguir.

Imagine não que as peças se movem, mas que o vazio se move.

Para que o espaço vazio comece e termine no canto inferior direito, ele tem que fazer um circuito fechado. Pintando de outra cor as células que sofreram alteração. Lembre-se de que a seta indica o espaço vazio que se move, então a peça cheia move-se no sentido contrário da seta.

Note que a peça vazia teve que ir para a esquerda e depois voltar para a direita, subir e depois descer.

Todas as vezes que a peça vazia subir, uma hora vai ter que descer; todas as vezes que for para a esquerda, uma hora deve voltar à direita, para que termine no canto inferior direito.

Outro tour possível:

O vazio andou dois para esquerda, dois para a direita, um para cima e um para baixo.

Um tour um pouco mais complicado, mas é a mesma lógica.

Agora, olhe para o “Desafio 14-15”:

Imagine começar da configuração possível e tentar chegar nessa configuração 15-14.

É uma posição esquisita, porque se o vazio percorrer somente a última linha, ele tem que ir à esquerda e voltar à direita, e nada vai mudar de lugar.

Se o vazio subir e descer, teria que bagunçar alguma coisa na linha de cima.

Se bagunçar e tentar consertar a linha de cima, automaticamente conserta a de baixo também, nunca chegando à posição 15-14.

É uma prova informal, só para dar uma intuição.

A prova mais formal diz que a paridade da permutação, mais a “distância de táxi” do vazio tem que ser par, porque quando muda uma coisa, a outra muda também.

O mais importante: Divirta-se com o “Puzzle do 15”!

Veja também:

15 puzzle – Wikipedia

Parity of a permutation – Wikipedia

Teseu e o labirinto do Minotauro

Segue um presente de dia das crianças: um gerador de labirintos em Excel.

A minha filha do meio adora labirintos, mas os labirintos da banca de jornais são ou muito fáceis ou muito difíceis.

Com o gerador de labirintos, é possível criar no tamanho desejado:

O algoritmo utilizado é simples. Comece com um retângulo, escolha uma linha horizontal, uma vertical aleatórias, e crie duas saídas também aleatórias.

Repita nos quatro retângulos que sobraram, e assim sucessivamente.

O resto da macro é só para pintar as bordas.

Boa diversão!

Planilha para download: https://1drv.ms/x/s!Aumr1P3FaK7jn06fAdaS-_v1O6RB

Veja também:

https://ferramentasexcelvba.wordpress.com

A planilha do Chicão

Participei de um projeto que tinha como alvo eliminar a “Planilha do Chicão”. Uma planilha de decisão: sentava muita gente numa mesa, cada um falava o que planejava fazer, e era tudo consolidado de forma semi-estruturada nesta. Simples, rápida, e não muito precisa.

O trabalho envolveu criar uma ferramenta superior: coletar informações, criar indicadores, propor soluções ótimas e voltar o resultado para análise. Tudo OK.

Anos depois, retorno para ver como o trabalho está. Realmente, a ferramenta de otimização está rodando, com melhorias aqui e acolá. Porém, lá no finalzinho do processo, na palavra final da decisão, quem eu encontro? A planilha do Chicão, firme e forte.

O Chicão já se aposentou faz anos também, então não é resistência à mudança. Talvez, no final das contas, a decisão seja realmente dos seres humanos, diante de inúmeras variáveis impossíveis de prever.

Moral da história: não subestime a planilha do Chicão.

A Espiral de Arquimedes

A Espiral de Arquimedes é uma curva fácil de fazer, usando até o Excel.

Imagine que vou andando ao longo de uma reta, e marcando uma série de pontos a cada vez – é como se um raio r estivesse crescendo.

Imagine agora, que a reta está girando a uma velocidade constante – cada reta está num ângulo theta.

A localização dos pontos forma a Espiral de Arquimedes.

No Excel, basta colocar que o raio e o ângulo theta vão crescendo a velocidade constante.

As coordenadas de cada ponto são r*cos(theta) e r*sin(theta).

Planilha para download no Github:

asgunzi/EspiralArquimedes: Implementação da espiral de Arquimedes em Excel (github.com)

Vide também:

Laboratório de Matemática (ideiasesquecidas.com)

Parabéns, Excel!

O MS Excel completou 35 anos no dia 30/09.

É o software de produtividade onipresente do mundo. Desde o estagiário no primeiro dia, até os diretores, todos usam o Excel de alguma forma.

Nas imagens: o Excel 1.5, o Visicalc (a primeira planilha eletrônica do mundo) e o titã Atlas segurando o mundo nas costas.

Semanalmente, eu posto dicas, problemas e alguns desafios relativos a Excel e VBA, no site a seguir.

https://ferramentasexcelvba.wordpress.com/

Fica a dica!