fx Dynamic Arrays
ENहिन्दी

LAMBDA की बुनियाद — अपना custom function

⏱ 10 min

आप क्या सीखेंगे

  • Syntax
  • नाम से सेव करें
  • काम का एक: भारतीय वित्त वर्ष लेबल

समझिए

उपलब्धता: Microsoft 365, Excel 2024, Excel for the web (और Google Sheets में Named functions के साथ)।

1. Syntax

=LAMBDA(parameter1, [parameter2, ...], calculation)

अकेले सेल में यह #CALC! देता है — LAMBDA को बुलाना या नाम देना ज़रूरी है।

तुरंत बुलाकर जाँचें:

=LAMBDA(amount, rate, amount * (1 + rate))(1000, 18%)

→ 1,180।

2. नाम से सेव करें

Formulas → Name Manager → New:

  • Name: WITHGST
  • Comment: "Amount including GST"
  • Refers to: =LAMBDA(amount, rate, amount * (1 + rate))

अब वर्कबुक में कहीं भी: =WITHGST(B2, 18%)। यह arrays पर भी चलता है: =WITHGST(tblSales[Amount], 18%) 16 नतीजे spill करता है।

3. काम का एक: भारतीय वित्त वर्ष लेबल

नाम FYOF, Refers to:

=LAMBDA(d, IF(MONTH(d) >= 4, "FY" & YEAR(d) & "-" & RIGHT(YEAR(d) + 1, 2), "FY" & YEAR(d) - 1 & "-" & RIGHT(YEAR(d), 2)))

=FYOF(DATE(2026,4,5)) → FY2026-27 · =FYOF(DATE(2026,1,15)) → FY2025-26।

मॉड्यूल 2 का लंबा FY फ़ॉर्मूला अब एक छोटी, पढ़ने लायक कॉल है — और नियम बदले तो Name Manager में एक बार ठीक करें।

4. LAMBDA + LET

=LAMBDA(amount,
    LET(rate, IF(amount > 100000, 5%, 2%),
        amount * rate))

नाम COMMISSION: =COMMISSION(165000) → 8,250; =COMMISSION(45000) → 900।

5. Helper functions (झलक)

फ़ंक्शन LAMBDA किस पर लगाता है… उदाहरण
MAP हर वैल्यू =MAP(tblSales[Amount], LAMBDA(a, COMMISSION(a))) → हर ऑर्डर का कमीशन
BYROW हर रो =BYROW(B2:M5, LAMBDA(rowValues, MAX(rowValues))) → हर रीजन का सबसे अच्छा महीना
BYCOL हर कॉलम =BYCOL(B2:M5, LAMBDA(colValues, SUM(colValues)))
SCAN चलता नतीजा =SCAN(0, C2:C13, LAMBDA(acc, x, acc + x)) → running total
REDUCE एक अंतिम नतीजा अपने लॉजिक वाले टोटल

=SUM(MAP(tblSales[Amount], LAMBDA(a, COMMISSION(a)))) रो-दर-रो सही कमीशन देता है — वही समस्या जो मॉड्यूल 2 में calculated fields ने गलत की थी।

6. LAMBDA शेयर करना

नाम वाले LAMBDA वर्कबुक में रहते हैं। कहीं और इस्तेमाल के लिए, इन्हें इस्तेमाल करने वाली शीट नई वर्कबुक में कॉपी करें (नाम साथ आते हैं), या एक template फ़ाइल रखें। हर एक का Comment लिखें ताकि दूसरों को पता चले वह क्या करता है।

आम गलतियाँ

सेल में LAMBDA टाइप करना पर बुलाना नहीं (#CALC!)। सेल रेफ़रेंस जैसे पैरामीटर नाम। जहाँ सादा फ़ॉर्मूला काफ़ी हो वहाँ LAMBDA बनाना।

अभ्यास

mediumName Manager में WITHGST, FYOF और COMMISSION बनाएँ। tblSales की कॉपी में FYOF से FY कॉलम जोड़ें, और SUM + MAP + FILTER से North का कुल कमीशन निकालें। जाँचें: North कमीशन = 21,670 (मॉड्यूल 2 के सही helper-column नतीजे जितना)।
WITHGST = LAMBDA(amount,rate,amount*(1+rate)); COMMISSION = LAMBDA(amount,IF(amount>100000,amount*5%,amount*2%)) रखें। FYOF में 31-Mar-2026 → FY2025-26 और 1-Apr-2026 → FY2026-27 हो। =SUM(MAP(FILTER(tblSales[Amount],tblSales[Region]="North"),LAMBDA(amount,COMMISSION(amount)))) = 21670।

प्रश्नोत्तरी

LAMBDA को नाम से कहाँ सेव करते हैं?
Name Manager
सेल में अकेले टाइप किए LAMBDA का नतीजा?
#CALC!
हर वैल्यू पर LAMBDA लगाने वाला helper?
MAP
LAMBDA की बुनियाद — अपना custom function · हिंदी | ExcelWalaa