Reestructurar datos en Excel

Reestructurar datos en Excel

Estoy creando un horario en Excel.

Tengo una lista de nombres a la izquierda, al lado están sus horarios cada 15 minutos a partir de las 11 a. m. (columna de las 11 a. m., 11:15 a. m., etc., etc.).

Se les asignará una tarea cada 15 minutos como E (correo electrónico), M (reunión), B (pausa).

Necesito mostrar en otra tabla sus horarios para cada tarea. Por ejemplo, tendré una columna Correo electrónico y, para cada nombre, la columna de correo electrónico mostrará sus horarios para la tarea de Correo electrónico según la primera tabla con su tarea programada cada minutos.

La columna de correo electrónico debe mostrar de 11 a. m. a 12 p. m. (ejemplo).

ingrese la descripción de la imagen aquí

¿Algunas ideas?

Respuesta1

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:

Crea la tabla:

     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   

El rango A1:G7 son datos de origen (la fila 1 es el encabezado).

El rango A5:D7 es una tabla que queremos llenar.

Inserte en B6 la fórmula:

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

Arrástrelo horizontal y verticalmente para llenar las celdas.

Creo que esta idea es suficiente para crear la solución a tu tarea.

PD. Preste atención: hay una columna adicional sobre el tiempo programado.

PPP. Después de la depuración, haga que la función sea volátil.

información relacionada