
Tenho um projeto onde devo criar uma planilha automatizada. A primeira planilha contém os dados inseridos manualmente pela pessoa. Por exemplo, digamos que a pessoa está inserindo um valor X de tudo o que recebeu na data XX/XX/XX (use texto nas colunas do Excel, depois delimitado, clique em tab e espaço e finalize).
11/19/2015 11/20/2015 11/25/2015 11/30/15 1/2/2016
Apples 4 5 2 7 1
Bananas 6 4 5 7 3
Oranges 3 0 4 0 0
Agora, esses são todos os dados inseridos pelo usuário. A partir desses dados inseridos pelo usuário, preciso que a segunda planilha exiba a data semanal (data que é sábado, que define a semana) e a soma de todas as coisas recebidas naquela semana. Isto é o que preciso que a Folha 2 exiba a partir dos dados inseridos pelo usuário:
11/21/2015 11/28/2015 1/2/2016
Total 22 11 4
Apples 9 2 1
Bananas 10 5 3
Oranges 3 4 0
Se você notar, 19/11/2015 e 20/11/2015 caem na semana de 21/11/2015, portanto, 21/11/2015 é exibido apenas em uma célula, com todos os itens daquela semana somados. As datas inseridas pelo usuário podem ser tão distantes quanto sempre, e é por isso que incluí 02/01/2016.
Agora, descobrir a fórmula das somas deveria ser mais simples, mas o problema que estou tendo é exibir a data semanal uma vez. Uma das coisas que pode ocorrer é um usuário inserir por engano a mesma data duas vezes. Eu verifiquei isso usando a fórmula:
=IF(IFERROR(MODE.SNGL(1:1)>=1,0),"CHECK DATES",__________)
A primeira célula de data semanal é fácil, pois responde à primeira data inserida pelo usuário. É apenas:
=IF(IFERROR(MODE.SNGL(1:1)>=1,0),"CHECK DATES",B1-weekday(B1)+7)
Portanto, o problema é fazer com que a próxima data NÃO seja exibida 21/11/2015 novamente.
ATUALIZAR Depois de fazer algumas pesquisas no Google, meu problema é basicamente o mesmo que encontrar o k-ésimo maior número que um número especificado. Felizmente, houve muitos sites que me forneceram informações úteis. A fórmula resultante que criei para exibir as datas semanais após a primeira data semanal é:
=IF(IFERROR(MODE.SNGL(1:1)>=1,0),"CHECK DATES",IFERROR(LARGE(1:1,COUNTIF(1:1,">"&B17))-WEEKDAY(LARGE(1:1,COUNTIF(1:1,">"&B17)))+7,""))
Esta fórmula também permite que as células após a última data semanal exibam "", que pode ser modificado para exibir o valor #N/A, se desejado. Agora, vamos passar para a soma adequada.
Responder1
Estou interpretando sua pergunta como "Quero o valor de cada sétima célula em uma matriz horizontal começando pela terceira célula".
Se for esse o caso, você pode usar a seguinte fórmula na célula A2 e preencher a linha 2:
=INDEX($A1:$J1,1,7*(B1-$A1)-4)
Certifique-se de:
A: Verifique se seus dados de entrada estão sendo reconhecidos como datas e não como texto pelo Excel. Talvez seja necessário alterar as datas inseridas em seu formato local (por exemplo, dd/mm/aa) para que funcione.
B: Amplie o intervalo $A1:$J1 para toda a largura do seu intervalo de dados.