# 9.7 LAMBDA — स्वतःचं reusable function

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

LAMBDA उपलब्ध असलेल्या Excelमध्ये VBAशिवाय स्वतःचं function बनवता येतं. आधी एका cellमध्ये logic तपासा, मग नाव द्या.

काल्पनिक delivery-fee नियम

Amount ≥499: free; ≥199: ₹15; ≥99: ₹25; त्याखाली ₹30. हा teaching rule आहे, companyचा actual fee नाही.

=LAMBDA(amt,IF(amt>=499,0,IF(amt>=199,15,IF(amt>=99,25,30))))(270)

Result 15. LAMBDAनंतरचा (270) हा test input आहे.

Function save करा

Formulas › Name Manager › New.

Name: DELIVERYFEE. Refers to:

=LAMBDA(amt,IF(amt>=499,0,IF(amt>=199,15,IF(amt>=99,25,30))))

वापर: =DELIVERYFEE(G2). पूर्ण columnसाठी Tableबाहेर =DELIVERYFEE(tblMini[Amount]).

LAMBDA helpers

MAP, REDUCE, SCAN, BYROW, BYCOLसारखे supported functions LAMBDA वापरतात. Running total:

=SCAN(0,tblMini[Amount],LAMBDA(acc,x,acc+x))

acc आधीचा cumulative result; x current amount. Sourceचा row order कोणता आहे त्यावर running totalचा क्रम ठरतो. VBA user-defined functionचा वेगळा approach Module 12.13मध्ये आहे.

Practice

LATEFLAG function करा:

=LAMBDA(mins,IF(mins>15,"Late","On time"))

नाव save केल्यावर =LATEFLAG(tblMini[Mins]) वापरा. 15 आणि 16 boundary तपासा. Real dataमध्ये blank/invalid timeसाठी वेगळं Unknown handling जोडा; blank म्हणजे on time नव्हे.

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

Cellमध्ये tested function Name Managerमध्ये ठेवा. Recipientच्या Excelमध्ये LAMBDA नसल्यास formula चालणार नाही; file share करण्याआधी compatibility पाहा.
