Excel-formel: Filtrer data mellom datoer -

Generisk formel

=FILTER(data,(dates>=A1)*(dates<=A2),"No data")

Sammendrag

For å filtrere data for å inkludere poster mellom to datoer, kan du bruke FILTER-funksjonen med boolsk logikk. I eksemplet vist er formelen i F8:

=FILTER(B5:D15,(C5:C15>=F5)*(C5:C15<=G5),"No data")

Som returnerer poster med datoer mellom 15. januar og 15. mars, inkludert.

Forklaring

Denne formelen er avhengig av FILTER-funksjonen for å hente data basert på en logisk test opprettet med et boolsk logikkuttrykk. Arrayargumentet er gitt som B5: D15, som inneholder hele datasettet uten overskrifter. Den inkluderer argument er basert på to logiske sammenligninger:

(C5:C15>=F5)*(C5:C15<=G5)

Uttrykket til venstre sjekker om datoer er større enn eller lik "Fra" -datoen i F5. Dette er et eksempel på boolsk logikk. Uttrykket til høyre sjekker om datoer er mindre enn eller lik "Til" -datoen i G5. De to uttrykkene er forbundet med en multiplikasjonsoperator, noe som skaper et AND-forhold.

Etter at logiske uttrykk er evaluert, har vi:

((TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE))* ((TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE))

Merk at det er elleve resultater i hvert sett med parenteser, ett for hver dato i dataene. Multiplikasjonsoperasjonen tvinger de SANNE FALSE-verdiene til 1s og 0s, så det endelige resultatet er en enkelt matrise som dette:

(1;1;1;1;0;0;0;0;0;0;0)

Legg merke til at de fire 1-ene i matrisen tilsvarer de fire datoene som består testen. Denne matrisen leveres til FILTER-funksjonen og brukes til å filtrere dataene. Bare rader der resultatet er 1 gjør det til den endelige utgangen.

Argumentet "if_empty" er satt til "Ingen data" i tilfelle ingen samsvarende data blir funnet.

Interessante artikler...