Reestruturar dados no Excel

Reestruturar dados no Excel

Estou criando um cronograma no Excel.

Eu tenho uma lista de nomes à esquerda, ao lado estão seus horários a cada 15 minutos a partir das 11h (coluna 11h, 11h15, etc etc).

Eles receberão uma tarefa a cada 15 minutos, como E (e-mail), M (reunião), B (intervalo).

Preciso mostrar em outra tabela os horários de cada tarefa. Como por exemplo terei uma coluna Email, e para cada nome a coluna email mostrará seus agendamentos para tarefas Email com base na primeira tabela com suas tarefas agendadas a cada minuto.

A coluna de e-mail deve mostrar 11h-12h (exemplo).

insira a descrição da imagem aqui

Alguma ideia?

Responder1

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 são os dados de origem (a linha 1 é o 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 essa ideia é suficiente para criar a solução do seu problema.

PS. Preste atenção - há uma coluna adicional sobre o horário programado.

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

informação relacionada