Como gerar uma data aleatória de dia da semana ou fim de semana no Excel?
Este tutorial aborda a geração de apenas dias úteis aleatórios ou apenas datas de fim de semana aleatórias no Excel. Siga as etapas abaixo para obter mais detalhes.
Gerar apenas dias úteis aleatórios no Excel
Gerar apenas dias úteis aleatórios ou apenas fins de semana aleatórios com o Kutools para Excel
Gerar apenas dias úteis aleatórios no Excel
No Excel, existem dois métodos que podem ajudá-lo a randomizar apenas dias úteis em um intervalo de datas conforme necessário.
Método 1: Gerar dia útil aleatório com fórmula
Selecione uma célula e digite esta fórmula =DATE(2014, 1, 1)+LARGE(IF(WEEKDAY(DATE(2014, 1, 1)+ROW($1:$365)-1, 2)<6, ROW($1:$365)-1, ""), RANDBETWEEN(1, SUM(--(WEEKDAY(DATE(2014, 1, 1)+ROW($1:$365)-1, 2)<6)))), depois pressione Shift + Ctrl + Enter simultaneamente, em seguida, arraste a alça de preenchimento para um intervalo onde deseja gerar dias úteis. Veja a captura de tela:
Dica:
1. Se você quiser gerar dias úteis aleatórios únicos, pode usar esta fórmula =DATE(2014, 1, 1)+(LARGE(IF(WEEKDAY((DATE(2014, 1, 1)+ROW($1:$365)-1)*((COUNTIF($A$1:A1, DATE(2014, 1, 1)+ROW($1:$365)-1))=0), 2)<6, ROW($1:$365)-1, ""), RANDBETWEEN(1, SUM(--(WEEKDAY((DATE(2014, 1, 1)+ROW($1:$365)-1)*((COUNTIF($A$1:A1, DATE(2014, 1, 1)+ROW($1:$365)-1))=0), 2)<6))))) e lembre-se de pressionar Shift + Ctrl + Enter.
2. Nas fórmulas acima, 2014,1,1 é a data de início do intervalo de datas necessário, 365 é o número de dias no seu intervalo de datas, você pode alterá-los conforme necessário.
3. Você não pode colocar a fórmula que gera dias úteis aleatórios únicos em A1.
Método 2: Gerar dia útil aleatório dentro de um ano com VBA
Se você deseja randomizar dias úteis dentro de um ano e está familiarizado com VBA, pode fazer o seguinte:
1. Pressione Alt + F11 para abrir a janela Microsoft Visual Basic for Applications.
2. Clique em Inserir > Módulo, depois cole o código VBA abaixo na janela que aparece.
VBA: Randomizar dia útil dentro de um ano.
Dim RandomizedYet As Boolean
'Updateby20150108
Function RandomizeDates(pYear As Long)
Dim i As Long
Dim DaysInYear As Long
Dim xIndex As Long
Dim RndIndex As Long
Dim Temp As Date
Dim Weekdays() As Variant
If Not RandomizedYet Then
RandomizedYet = True
Randomize
End If
DaysInYear = DateSerial(pYear + 1, 1, 1) - DateSerial(pYear, 1, 1)
ReDim Weekdays(1 To DaysInYear)
For i = 1 To DaysInYear
If Weekday(DateSerial(pYear, 1, i), vbMonday) < 6 Then
xIndex = xIndex + 1
Weekdays(xIndex) = DateSerial(pYear, 1, i)
End If
Next
ReDim Preserve Weekdays(1 To xIndex)
For i = xIndex To 1 Step - 1
RndIndex = Int(i * Rnd + 1)
Temp = Weekdays(RndIndex)
Weekdays(RndIndex) = Weekdays(i)
Weekdays(i) = Temp
Next
RandomizeDates = Application.WorksheetFunction.Transpose(Weekdays)
End Function
3. Salve o código e feche a janela para voltar à sua planilha, e digite esta fórmula=RandomizeDates(2014) em uma célula, depois pressione Enter e arraste a alça de preenchimento para um intervalo necessário. Veja a captura de tela:
Gerar apenas dias úteis aleatórios ou apenas fins de semana aleatórios com o Kutools para Excel
Após instalar gratuitamente o Kutools para Excel, faça o seguinte:
1. Selecione um intervalo onde deseja gerar dias úteis ou datas de fim de semana, depois clique em Kutools > Inserir dados aleatórios. Veja a captura de tela:
2. Na Inserir dados aleatórios caixa de diálogo, clique na aba Data e depois no botão calendário para selecionar uma data de início e fim desejadas, depois marque a opção Dia útil ou Fim de semana que você precisa. Se quiser gerar uma data única, pode marcar a opção Único Veja a captura de tela:
3. Clique em Ok para aplicar e fechar a caixa de diálogo, então na seleção, as datas únicas de fim de semana serão geradas.
Dica: Se você puder inserir dados duplicados, basta desmarcar Valores Únicos na caixa de diálogo.
Com a função Inserir Dados Aleatórios, você também pode randomizar números inteiros, horários, strings e listas personalizadas. Clique aqui para mais informações.
Artigos Relacionados
Melhores Ferramentas de Produtividade para Office
Potencialize suas habilidades no Excel com o Kutools para Excel e experimente uma eficiência sem igual. O Kutools para Excel oferece mais de300 recursos avançados para aumentar sua produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...
O Office Tab traz interface com abas para o Office e facilita muito o seu trabalho
- Habilite a edição e leitura com abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novas abas na mesma janela, em vez de abrir novas janelas.
- Aumente sua produtividade em50% e reduza centenas de cliques do mouse todos os dias!