Pentru extragerea unei informații dintr-un tabel după unul sau mai multe criterii putem utiliza Advanced Filter. Este o soluție destul de bună dar are o problemă foarte mare: nu se actualizează. Atunci trebuie să intervenim cu un macro, eventual și un buton de “filtrare”.
Soluția Dynamic Array este mult mai simplă și mult mai “dinamică”: FILTER.
Articol dedicat doar utilizatorilor de Office 365.
Problema constă în extragerea unor informații dintr-un tabel într-un formular.
În foaia de calcul Extras avem varianta clasică.
I1:I2 Codul de produs pentru care se face filtrarea și devine Elementul de filtrare (CodP)
J1:J2 Data calendaristică după care se face filtrarea și trebuie să fie rezultatul corespondent al CodP
K1:K2 Elementul unic (obținut prin concatenarea elementelor anterioare) după care se face extragerea informațiilor
M1:N4 Formularul de extragere a datelor (puteți folosi VLOOKUP, INDEX și MATCH, sau XLOOKUP)
Începând cu I4:J4 avem datele extrase cu ajutorul Data – Sort&Filter – Advanced.
Modul de lucru:
1. Alegi din I2 CodP
2. Faci o filtrare avansată (Data – Sort&Filter – Advanced) cu bifarea “Copy to another location”
3. Alegi data corespondentă pentru CodP la care vrei să faci extragerea informațiilor
4. Vizualizezi datele extrase.
Așa cum spuneam mai sus, este un proces repetitiv ce se rezolvă prin utilizarea unui macro.
Sau prin Dynamic Array.
În foaia de calcul Filter, avem aceleași date de lucru, numai că, în I7 avem funcția FILTER.
=FILTER(Table1[[CodP]:[Data]];Table1[CodP]=I2)
Deoarece am nevoie doar de două coloane de date (CodP și Data), am trecut în I6:J6 capul de tabel și în I7 am introdus formula cu referire la:
Array – coloanele de date, Include – cerința de filtrare (coloana unde sunt datele și elementul de filtrare)
Pentru a complica puțin lucrurile, vreau să extrag datele care conțin CodP, Data, Achiziție și Cantitate după două criterii: doar din 2017 și cantitatea mai mare de 500.
În aceste condiții, formula din L15 are următoarea formă:
=FILTER(Table1[[CodP]:[Cantitate]];(YEAR(Table1[Data])=L12)*(Table1[Cantitate]>M12))
Unde, la Include, ne folosim de o expresie de tip Boolean logic, (Criteriul 1) * (Criteriul 2).
Mult mai simplu! Mult mai rapid!
Începând cu articolul următor trecem la POWER QUERY.