Forum Discussion

Tom_C1155's avatar
Tom_C1155
Copper Contributor
Mar 08, 2024
Solved

creating data sets from a dynamic range

Hello,     I have a work schedule that I populate for my staff's daily activities and I have made it able to populate other documentation from this form.   The issue I am having is I have only go...
  • djclements's avatar
    djclements
    Mar 11, 2024

    Tom_C1155 It's very difficult to decipher exactly what you want to achieve, or where the results should be output to. From what I understand, it seems like you want to input a single activity number for each task. When multiple employees are assigned to one task, only the first row will contain the activity number, description, location/notes and unit. If this is correct, I'm guessing you want to summarize or group the data by "Task ID" somewhere else in the workbook. As your sample workbook has been stripped down considerably, and I'm not exactly sure where/what you want to output, consider the following example as a nudge in the right direction (hopefully):

     

    =LET(
        empNames, C16:C36, actNums, D16:D36,
        tskId, SCAN(0, actNums, LAMBDA(a,v, a+(v<>""))),
        FILL, LAMBDA(range, SCAN("", range, LAMBDA(a,v, IF(v="", a, v)))),
        arr, HSTACK(tskId, FILL(B16:B36), empNames, FILL(actNums), FILL(E16:E36), FILL(F16:F36), G16:G36),
        FILTER(arr, (empNames<>"")*IF(N13="", SEQUENCE(ROWS(actNums)), tskId=N13), "none")
    )

     

    Sample Results

     

    The SCAN function is first used to assign Task ID numbers to the dataset, incrementing by 1 whenever a new activity number is input. The SCAN function is then used to define a custom LAMBDA function "FILL", which is used to fill the task details down for each employee assigned to each task.

     

    To filter the results by Task ID, input the desired ID number in cell N13. This was done as an example only. You could also add filter controls for other columns, such as unit or activity number.

     

    Please see the attached workbook...

Resources