Para fazer isso, você precisa massagear seus dados antes de criar sua matriz.
- Classifique seus dados em
ID
eissue_date
(A a Z) nessa ordem ou prioridade. -
Adicione uma coluna
end_date
. O valor deend_date
será o mais cedo da data de vencimento desse registro e um dia antes da próxima issue_date para esse ID específico. Assumindo queID
esteja na coluna A,issue_date
esteja na coluna B ematurity_date
esteja na coluna D, insira a seguinte fórmula para oend_date
do primeiro registro. Preencher.=TEXT(IF(A3=A2,MIN(B3-1,D2),D2),"mmm d, yyyy")
Emoutraplanilha,crieaestruturaparasuamatriz.Crierótulosdecolunainserindoaprimeiradatae,emseguida,preenchendotodoocaminhoatéadatafinal.VocêpodeobterseusrótulosdelinhafazendoumfiltroavançadopararegistrosexclusivosnosIDsemsuatabela.
Nacélulasuperioresquerdadasuamatriz(B3nesteexemplo),insiraaseguintefórmula.'Raw'éonomedaplanilhacomseusdadosoriginais.
=SUMPRODUCT(Raw!$C$2:$C$23,--(Raw!$A$2:$A$23=Matrix!$A3),--(DATEVALUE(Raw!$B$2:$B$23)<=Matrix!B$2),--(DATEVALUE(Raw!$E$2:$E$23)>=Matrix!B$2))
Preenchaporcimaeporbaixoparapreenchersuamatriz.IssoretornaráovalordoIDnessadatae0senãohouverdadosdisponíveisparaessadata.
SUMPRODUCT () é uma das funções menos intuitivas, mas mais úteis no Excel. Basicamente, o que ele faz é multiplicar os valores correspondentes de cada argumento da matriz e, em seguida, resume esses produtos. Aqui, os arrays são os valores cumulativos da tabela e arrays de 0s e 1s que indicam se um critério foi ou não atendido. Portanto, somente o valor pelo qual todos os critérios são atendidos terá um produto diferente de zero. Como apenas um registro deve atender a todos os critérios, a soma será apenas esse valor.
Estou usando datas como texto aqui, mas essas fórmulas também devem funcionar para datas formatadas como datas no Excel. Os TEXT()
e DATEVALUE()
bits são exagerados nesse caso, mas tudo deve funcionar da mesma forma.