# 9.2 FILTER — formulaने हवी ती rows

Source: https://ravindrabagale.com/mr/excel/ch09-dynamic-arrays/9-2-filter.html
Language: mr (Marathi with English technical terms)

=FILTER(array,include,[if_empty])

array म्हणजे output data; include म्हणजे प्रत्येक rowसाठी TRUE/FALSE condition; if_empty म्हणजे काहीच match न झाल्यास message.

वापरून पाहा

=FILTER(tblMini,tblMini[City]="Pune","No orders")
=FILTER(tblMini,(tblMini[City]="Pune")*(tblMini[Status]="Delivered"),"No orders")
=FILTER(tblMini,(tblMini[City]="Pune")+(tblMini[City]="Nashik"),"No orders")
=FILTER(tblMini,tblMini[Amount]>M1,"No orders")
=FILTER(tblMini[[Order ID]:[City]],tblMini[Mins]>15,"No orders")
=FILTER(tblMini,ISNUMBER(SEARCH("Fruit",tblMini[Category])),"No orders")

* म्हणजे row-wise AND: दोन्ही conditions खऱ्या हव्यात. + म्हणजे OR: किमान एक खरी असली तरी row येते. प्रत्येक condition bracketsमध्ये ठेवा. AND() सर्व conditionsचा एक result करू शकतो; तो या row-wise maskच्या जागी वापरू नका.

Worked result

Pune AND Delivered sampleमध्ये BLK-1001 ₹64, AMN-1003 ₹110, BLK-1006 ₹150 या तीन rows येतात. त्यांची बेरीज ₹324. Cancelled Pune row यात येत नाही.

No match आणि if_empty नसेल तर #CALC! येऊ शकतो. Include mask आणि arrayची dimensions जुळायला हवीत. Source conditionमध्ये error असेल तर तोही resultमध्ये propagate होऊ शकतो.

Practice

M1मध्ये City dropdown करा. फक्त Order ID, Date, Amount आणि Delivered rows हव्या असतील, CHOOSECOLS उपलब्ध versionमध्ये:

=FILTER(CHOOSECOLS(tblMini,1,2,7),(tblMini[City]=M1)*(tblMini[Status]="Delivered"),"No orders")

Column positions tblMiniच्या या chapterमधल्या क्रमासाठी आहेत. दुसऱ्या datasetमध्ये names/order तपासा.

रवींद्र बागले यांची tip

No orders हा एक text cell आहे; रिकामी array नाही. पुढच्या ROWS/COUNTAमध्ये त्याला खरी order समजून count होणार नाही याची काळजी घ्या.
