Reestruturar dados no Excel

2

Estou criando uma programação no Excel.

Eu tenho uma lista de nomes à esquerda, ao lado dela estão seus horários a cada 15 minutos, começando às 11h (11h da coluna, 11h15, etc, etc).

Eles receberão uma tarefa a cada 15 minutos, como E (email), M (reunião), B (pausa).

Eu preciso mostrar em outra tabela seus horários para cada tarefa. Como por exemplo, eu terei uma coluna Email, e para cada nome a coluna de email mostrará seus cronogramas para a tarefa de email com base na primeira tabela com a tarefa agendada a cada minuto.

A coluna de email deve mostrar 11 AM-12PM (exemplo).

Alguma ideia?

    
por Astrid 22 07.06.2018 / 12:24

1 resposta

1

Código:

Function MakeCompact(times As Range, shedules As Range, letter As String) As String
Dim i As Integer, n As Integer
If times.Cells.Count <> shedules.Cells.Count + 1 Then
    MakeCompact = "Error. Wrong source data."
    Exit Function
End If
n = times.Cells.Count
MakeCompact = ""
For i = 1 To n
    If letter = shedules.Cells(1, i).Value Then
        If Right(MakeCompact, 1) <> "-" Then
            MakeCompact = MakeCompact & "," & times.Cells(1, i).Value & "-"
        End If
    Else
        If Right(MakeCompact, 1) = "-" Then
            MakeCompact = MakeCompact & times.Cells(1, i).Value
        End If
    End If
Next
MakeCompact = Mid(MakeCompact, 2)
End Function

Uso:

Crie a tabela:

     A      B   C   D   E   F   G
1    name   1   2   3   4   5   6
2    bob    m   m   b   m   m   
3    fred   b   m       e   e   
4                           
5           m   b   e           
6    bob                
7    fred   

O intervalo A1: G7 é dado de origem (linha 1 é cabeçalho).

O intervalo A5: D7 é uma tabela que queremos preencher.

Insira em B6 a fórmula:

=MakeCompact($B$1:$G$1;$B2:$F2;B$5)

Arraste-o horizontalmente e verticalmente para preencher as células.

Acho que esta ideia é suficiente para criar a solução da sua tarefa.

PS. Preste atenção - há uma coluna adicional sobre o tempo de espera.

PPS. Após a depuração, torne a função Volátil.

    
por 07.06.2018 / 13:18