Distribuir processos de maneira aleatoria, uniforme e dinâmica com fórmula

Montei um arquivo para distribuição de processos entre pessoas de forma aleatória.
.
Inicialmente, estava funcionando bem. Porém, necessito melhor automatizar esse procedimento.

  1. Necessito de menos sorteios (recálculos) para que a distribuição ocorra de maneira uniforme, dinâmica e sem repetições.

  2. Macro não é uma opção. Preciso de fórmulas para tanto, uma vez que o arquivo será utilizado por mais de 1 usuário.

.
Obs.: Apesar de conseguir montar algumas coisas, tenho tido dificuldade com a combinação de funções que me permitam atingir melhor o objetivo (Não estou satisfeito com o que fiz. Me parece que dá para melhorar a automação).
.
No arquivo exemplo, constam 3 abas adicionais, com algumas tentativas próprias para gerar distribuição aleatória.

=SEERRO(PROCV(SE(LINHA()-LINHA(E$5)+1>$G$2/$G$1;"";ORDEM(DESLOC($C$1;LINHA()-LINHA(E$5)+(COLUNA()-COLUNA($E5))*($G$2/$G$1););$C$1:ÍNDICE($C$1:$C$1000;$G$2)));ESCOLHER({2,1};$A:$A;$B:$B);2;0);"")

NOTA: Tive um pouco de dificuldade de entender a fórmula acima. Usei o chatGPT para me auxiliar de alguma forma. Me ajudou a entender melhor a estrutura da fórmula mas não o funcionamento completo, já que parece não funcionar, nem no calc, nem no excel. (com certeza ignorância da minha parte)
.
.
========== ARQUIVO ==========
Relacao-Registro(1).ods (38,2,KB)
.
.
========== ITEM ADICIONAL ==========
Em adição, gostaria de uma maneira de utilizar os pesos (notas) preenchidas na aba Natureza_atos, como forma de pontuação aos responsáveis designados nas planilhas Relatório e Histórico, se for possível.

Agradeço a ajuda!

Ola @FelipeAle, segue uma sugestão, na aba Tentativa1, eliminei as duplicatas (as células amarelas foram alteradas).

Na aba Historico, inclui as Notas, mas não entendi o Relatorio.

Relacao-Registro(1)_GS.ods (52,6,KB)

1 Like

Olá @schiavinatto !

Agradeço a ajuda como sempre.
.
A aba Relatório foi feita baseada na aleatoriedade da planilha Sorteio_Escrevente. Foi apenas o layout primário que encontrei para imprimir para os responsáveis para fins de controle, e para preencher mais facilmente a aba Historico. Pode ignorá-la por enquanto.
.
Fiz alguns ajustes na fórmula que me apresentou como solução, mas comecei a bater cabeça de novo.
.
Ainda gostaria de ter a opção de selecionar para quantas pessoas serão distribuídos os protocolos, o que parece já solucionado, porém, também necessito de eliminar um dos responsáveis da distribuição, com maior liberdade.
.
Ou seja, quero poder retirar uma pessoa do rateio quando convir, fazendo com que os processos sejam reatribuídos entre os remanescentes.
.
Segue arquivo ajustado, baseado no seu exemplo:
Relacao-Registro.ods (102,5,KB)
.
=============== ERRATA ===============
Acho que resolvi o problema a acima, porém, ainda não consegui fazer com que a divisão seja equanime mesmo que a quantidade de processos seja um número ímpar, e que sejam todos os processos distribuídos, sem deixar nenhum número de fora do sorteio.
.
Segue arquivo faltando este ajuste:
Ask_Relacao-ajustado.ods (84,7,KB)
.
Captura do layout de impressão desejado:
.

Olá Felipe, segue sugestão

Ask_Relacao-ajustado_GS.ods (112,1,KB)


Testar

Quase @schiavinatto !

Na realidade, preferi manter algo mais aproximado da sua tentativa anterior, pois, após mais alguns ajustes, consegui chegar mais próximo de onde queria.
.
Nota: Usei a palavra equânime nas minhas explicações, porém, seria mais correta equilibrada. Isso porque, em regra, as quantidades nem sempre devem ficar iguais, mas sim, proporcionais a dificuldade da natureza. (talvez dê para entender melhor com o arquivo abaixo)
.
Arquivo novo: Ask_Relacao-Registro.ods (113,5,KB)
.
Falta conseguir acertar apenas mais uma coluna, contudo, também me falta experiência no uso das funções de referência.
.
Agora, preciso apenas automatizar a coluna H para puxar o nome do responsável, tendo como índice o protocolo sorteado para o mesmo, no intervalo espelhado (captura)

Ask_Relacao-Registro_GS.ods (95,6,KB)

Coluna H alterada.

Agradeço a tentativa @schiavinatto, mas tenho que conseguir retornar os nomes que aparecem nos seguintes intervalos: J4:N4.
.
Os dados da aba Histórico são copiados da aba Relatório_modelo_final. Não o contrário.
.
Raciocínio:
Critério de busca - Protocolo (coluna F)
Intervalo de busca - $J$4:$N$14
Retorno - nome do responsável (Nome - coluna H)

Ok, agora entendi o problema, e sua necessidade…

Veja esta sugestão, não é “bonita” mas funcionando…

Ask_Relacao-Registro_GS2.ods (115,4,KB)

Perfeito!
.
Para reduzir a fórmula, em vez aninhar a função SE, substitui pela função SES.
.
Muito obrigado @schiavinatto !

1 Like