Tenho uma tabela com formatação solta que tem Pessoas no topo, tarefas nas linhas e uma coluna para data de início e uma coluna para Data de término. O usuário inserirá as horas esperadas nas subtarefas fornecidas e elas serão acumuladas na própria tarefa. Consegui obter uma soma por linha dividida pelo número de meses sendo pesquisados, mas não consegui que o valor fosse distribuído corretamente pelos meses relevantes.
É assim que os dados são estruturados.
A tarefa é produzir uma tabela que descreva as tarefas e subtarefas e faça uma média linear das horas gastas em uma determinada tarefa nos meses relevantes. (Total / # meses -> os meses entre as datas de início e término).
Por exemplo, aqui você vê que estou filtrando as subtarefas do total de tarefas e distribuindo suas respectivas horas totais pelos meses em que a tarefa deve ocorrer.
Gostaria de me concentrar na tabela inferior por enquanto, já que a tabela superior é composta por isso, acho que posso ajustar o resto adequadamente.
Agora mesmo, eu pego um sumifs do total por tarefa/mês # para aquela tarefa/dia do cabeçalho apenas para que ele se espalhe pelas colunas. No entanto, isso está espalhando o mesmo valor por todos os meses para as tarefas, não apenas os meses relevantes. Então, eu tentei um If para verificar se a data está entre a data de início e término, mas então ele não se espalha. E se eu fizer isso sozinho, ele não valida corretamente a lógica.
Também tentei usar uma instrução LET para definir a data de início e a data de término, depois verificar o intervalo de vazamento do cabeçalho do mês para ver se esse valor está entre essas datas e, se estiver, multiplicar o valor por 1 ou 0 para tentar zerar os valores irrelevantes.
Isso é o que está acontecendo atualmente quando tento verificar as colunas em relação aos resultados do xlookup das linhas e aplicá-los às interseções.
Aqui está uma tabela de markdown para você entender o básico.
Minha fórmula de filtro para as tarefas:=FILTER(A5:A16,MOD(A5:A16,1)<>0)
Minha fórmula para os cabeçalhos de data:=DATE(YEAR(MIN(B5:B16)),SEQUENCE(1,DATEDIF(MIN(B5:B16),MAX(C5:C16),"M")+1,MONTH(MIN(B5:B16)),1),1)
Pessoa 1 | Pessoa 2 | Pessoa 3 | Pessoa 4 | Pessoa 5 | |||||
---|---|---|---|---|---|---|---|---|---|
$ 100 | $ 150 | $ 200 | $ 175 | $ 95 | |||||
Tarefa | Começar | Fim | Meses | Total | |||||
1 | 01/01/2024 | 01/08/2024 | 8 | 5 | 15 | 25 | 12 | 10 | 67 |
1.1 | 01/03/2024 | 01/04/2024 | 2 | 5 | 5 | 10 | 20 | ||
1.2 | 01/05/2024 | 01/07/2024 | 3 | 15 | 12 | 27 | |||
1.3 | 01/05/2024 | 01/08/2024 | 4 | 20 | 20 | ||||
2 | 01/07/2024 | 01/10/2024 | 4 | 20 | 20 | 30 | - | 60 | 130 |
2.1 | 01/07/2024 | 01/09/2024 | 3 | 20 | 20 | 40 | |||
2.2 | 01/09/2024 | 01/10/2024 | 2 | 30 | 60 | 90 | |||
3 | 01/06/2024 | 01/10/2024 | 5 | 20 | - | 45 | 55 | 30 | 150 |
3.1 | 01/06/2024 | 01/07/2024 | 2 | 10 | 10 | ||||
3.2 | 01/09/2024 | 01/10/2024 | 2 | 10 | 15 | 25 | |||
3.3 | 01/09/2024 | 01/10/2024 | 2 | 25 | 25 | ||||
3.4 | 01/09/2024 | 01/10/2024 | 2 | 30 | 30 | 30 | 90 |