# 9.9 CHOOSECOLS, TAKE आणि DROP

Source: https://ravindrabagale.com/mr/excel/ch09-dynamic-arrays/9-9-choosecols-take-and-drop.html
Language: mr (Marathi with English technical terms)

मोठ्या arrayमधून हवे ते columns किंवा rows निवडण्यासाठी हे functions उपयोगी पडतात.

 | Function | Example | अर्थ

 | CHOOSECOLS(array,col1,…) | =CHOOSECOLS(tblMini,1,3,7) | Order ID, City, Amount.

 | CHOOSEROWS(array,row1,…) | =CHOOSEROWS(tblMini,1,-1) | पहिली आणि शेवटची data row.

 | TAKE(array,rows,[columns]) | =TAKE(SORT(tblMini,7,-1),3) | Amountनुसार Top 3 rows.

 | DROP(array,rows,[columns]) | =DROP(tblMini,1) | पहिली data row वगळून बाकी.

tblMini referenceमध्ये header नसतो; DROP(tblMini,1) header काढत नाही, पहिला actual record काढतो. Negative row count शेवटच्या बाजूने घेतो: =TAKE(tblMini,-2) शेवटच्या दोन physical rows.

Top 3 amounts, निवडक columns

=TAKE(CHOOSECOLS(SORT(tblMini,7,-1),1,3,7),3)

 | Order ID
 | City
 | Amount

 | BLK-1007
 | Solapur
 | 1,299

 | BLK-1002
 | Nashik
 | 270

 | BLK-1004
 | Nagpur
 | 240

आतून बाहेर वाचा: आधी SORT, मग CHOOSECOLS, मग TAKE. आधी TAKE केलं तर पहिल्या तीन rowsमधूनच मोठे values शोधले जातील. Equal amounts असतील तर exactly three rows मिळतात; सगळे tied items मिळतीलच असं नाही.

Practice

=TAKE(CHOOSECOLS(SORTBY(tblMini,tblMini[Mins],-1),1,3,8),5)
=TAKE(SORTBY(tblMini,tblMini[Date],1),-3)

पहिला पाच slowest deliveriesचे ID, City, Mins. दुसरा actual Date ascending sort करून latest तीन rows. एकाच dateच्या tiesमध्ये time किंवा Order IDचा secondary क्रम हवा असल्यास जोडा.

Chapter recap

Spillला जागा ठेवा आणि #ने refer करा. FILTERने निवड, SORTBYने क्रम, UNIQUEने वेगळ्या values, SEQUENCEने series, LETने readable formulas आणि LAMBDAने reusable logic. VSTACK/HSTACKने arrays जोडा; CHOOSECOLS/TAKE/DROPने resultचा आकार ठरवा.

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

Latest म्हणजे sourceमधल्या शेवटच्या rows असतीलच असं नाही. आधी खऱ्या date/timeवर sort करा, मग TAKE करा.
