
Não tenho certeza se isso é possível no Excel.
Eu tenho uma planilha que se parece com:
+---------------+-------+--------+-------+-------+-------+-------+-------+-------+
| | August | September |
+---------------+-------+--------+-------+-------+-------+-------+-------+-------+
| Week Starting | 04/08 | 11/08 | 18/08 | 25/08 | 01/09 | 08/09 | 15/09 | 22/09 |
+---------------+-------+--------+-------+-------+-------+-------+-------+-------+
| Monday | | | | | | | | |
+---------------+-------+--------+-------+-------+-------+-------+-------+-------+
| Tuesday | | | | | | | | |
+---------------+-------+--------+-------+-------+-------+-------+-------+-------+
| Wednesday | | | | | | | | |
+---------------+-------+--------+-------+-------+-------+-------+-------+-------+
| Thursday | | | | | | | | |
+---------------+-------+--------+-------+-------+-------+-------+-------+-------+
| Friday | | | | | | | | |
+---------------+-------+--------+-------+-------+-------+-------+-------+-------+
| Week Extra | | | | | | | | |
+---------------+-------+--------+-------+-------+-------+-------+-------+-------+
| Week Total | | | | | | | | |
+---------------+-------+--------+-------+-------+-------+-------+-------+-------+
(A planilha real contém todos os meses.)
E dados brutos que se parecem com:
+------+------+----------+
| DDMM | Year | Quantity |
+------+------+----------+
| 0408 | 2014 | 2 |
| 0708 | 2014 | 7 |
| 0509 | 2014 | 12 |
| 0508 | 0000 | 6 |
+------+------+----------+
Preciso analisar os dados brutos e adicioná-los à tabela do calendário. A primeira linha de dados adicionaria 2 à segunda-feira em "08/04".
Se o ano for 0000, preciso adicionar o número à "Semana Extra" da semana correta.
Isso é possível?
Obrigado
Responder1
A melhor maneira é converter as datas da sua tabela bruta em datas reais do Excel. A partir da data real do Excel, você pode extrair o texto do dia da semana, o texto do mês e a data de início da semana, que pode ser convertido novamente em texto para corresponder à sua tabela. As fórmulas para fazer isso estão na imagem abaixo (porque é muito detalhado para digitar).
Para colocá-los em sua tabela de calendário, você pode fazer algumas coisas. Uma tabela dinâmica, da qual você pode =getpivotdata()
extrair valores para cada célula do calendário, é um método. Prefiro, em vez disso, usar, =sumproduct()
pois tem menos sobrecarga. As fórmulas estão na imagem abaixo e segue uma explicação rápida.
=sumproduct()
pode testar várias condições para verdadeiro/falso, em um intervalo de valores (nesse caso, testando as condições para cada linha) e, em seguida, somar os resultados de outro intervalo quando todas as condições forem verdadeiras para a linha. Aqui estamos testando se E2:E5 contém DD/MM em J2, se F2:F5 contém o texto do mês em J1 e se G2:G5 contém o texto WorkDay em I3. Se todas as condições forem verdadeiras, ele captura e soma o valor em C2:C5. Uma palavra de cautela com esta fórmula: os intervalos que você está testando devem SEMPRE ter o mesmo comprimento. Você não pode testar E2:E5 para DD/MM e F2:F20 para o mês. Sumproduct gerará um erro.