=LET(total,SUM(B2:B6),IF(total>500,total*0.9,total)) מסכמת את B2:B6 פעם אחת, נותנת לתוצאה את השם total, ואז משתמשת בשם הזה פעמיים: פעם אחת כדי לבדוק אותו ופעם אחת כדי להחזיר אותו. בלי LET הייתם כותבים את SUM שלוש פעמים: =IF(SUM(B2:B6)>500,SUM(B2:B6)*0.9,SUM(B2:B6)).
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Order | Amount | Total to pay | |
| 2 | A-101 | 120 | 580.5 | |
| 3 | A-102 | 95 | ||
| 4 | A-103 | 210 | ||
| 5 | A-104 | 80 | ||
| 6 | A-105 | 140 |
ההזמנות מסתכמות ב-645, מעל 500, ולכן D2 מציג 580.5. שנו את B4 ל-50 והסכום יורד ל-485, מתחת לסף, ולכן D2 מציג 485 בלי הנחה.
התחביר של LET
=LET(name1, value1, [name2, value2, ...], calculation)
- כל
nameהוא מילה שאתם בוחרים, ואחריה ה-valueשהיא מייצגת: מספר, טווח או נוסחה. - אפשר להגדיר עד 126 זוגות. ערך יכול להשתמש בכל שם שהוגדר לפניו.
- הארגומנט האחרון הוא ה-
calculation, שמשתמש בשמות ונותן את התוצאה.
LET דורשת Excel 2021, Excel 2024 או Microsoft 365. ב-Excel 2019 ובגרסאות ישנות יותר היא מציגה #NAME?. ב-Google Sheets יש LET עם אותו תחביר.
LET עם כמה משתנים
שמות הופכים נוסחה של שורה למשהו שנקרא כמו משפט. כאן כל שורה מחשבת סכום ביניים ומורידה 10% כשהוא עובר את 100:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Item | Price | Qty | To pay |
| 2 | Pen | 2.5 | 10 | 25 |
| 3 | Bag | 40 | 3 | 108 |
| 4 | Lamp | 35 | 2 | 70 |
| 5 | Mug | 8 | 15 | 108 |
| 6 | Desk | 150 | 1 | 135 |
ה-120 של התיקים הופך ל-108, גם ה-120 של הספלים הופך ל-108, וה-150 של השולחן הופך ל-135; העטים (25) והמנורות (70) נשארים כמו שהם. הנוסחה נכתבה ב-D2 ומולאה למטה, ו-subtotal הוא מספר אחר בכל שורה.
שם יכול להיבנות על השם שלפניו: =LET(x,2,y,x*3,x+y) קובעת את x ל-2 ואת y ל-6, ומחזירה 8.
חישוב חיפוש פעם אחת ושימוש חוזר בו
חיפוש שמופיע פעמיים בתוך IF רץ פעמיים. LET מריצה אותו פעם אחת. זה מחזיר את המחיר ועוד 20%, או הודעה כשהמוצר חסר:
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Product | Region | Price | Look for | Price + 20% | |
| 2 | Apple | North | 1.2 | Pear | 1.8 | |
| 3 | Pear | South | 1.5 | Kiwi | Not found | |
| 4 | Carrot | East | 0.8 | |||
| 5 | Bread | North | 2.4 | |||
| 6 | Milk | South | 1.1 |
Pear נמצא, ולכן F2 מציג 1.8. Kiwi לא נמצא ברשימה, XLOOKUP מחזירה את הטקסט הריק שניתן לה כארגומנט רביעי, ו-F3 מציג Not found. הקלידו Kiwi ב-A4 ו-F3 משתנה למחיר שלו ועוד 20%.
LET עם FILTER
LET הכי שימושית עם מערכים דינמיים, כשצריך טווח מסונן יותר מפעם אחת. זה נותן שם לשורות המתאימות, סופר אותן ומחשב את ממוצע המכירות שלהן בנוסחה אחת:
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Name | Region | Sales | Region | North | |
| 2 | Ann | North | 120 | Summary | 3 reps, average 126.7 | |
| 3 | Ben | South | 80 | |||
| 4 | Cara | North | 200 | |||
| 5 | Dan | East | 150 | |||
| 6 | Eve | South | 95 | |||
| 7 | Finn | North | 60 |
עבור North הוא מציג 3 reps, average 126.7. בחרו South ב-F1 בשביל 2 reps, average 87.5. INDEX(rows,0,3) לוקחת את העמודה השלישית של השורות המסוננות. בלי LET, ה-FILTER הייתה נכתבת פעמיים.
לוח שנה חודשי עם תאים ריקים
לוח השנה בעמוד על SEQUENCE מציג ימים של החודשים הסמוכים. LET נותנת שם לראשון בחודש ולרשת התאריכים, ואז מרוקנת כל תאריך שמחוץ לחודש:
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Sun | Mon | Tue | Wed | Thu | Fri | Sat |
| 2 | 1 | 2 | 3 | 4 | |||
| 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 4 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 5 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 6 | 26 | 27 | 28 | 29 | 30 |
שנו את DATE(2026,4,1) ל-DATE(2026,5,1) והרשת מצוירת מחדש למאי. מכיוון שלראשון בחודש יש שם אחד, יש רק תאריך אחד לשנות, לא שלושה.
תרגול: משלוח עם LET
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Order | Amount | To pay | |
| 2 | A-101 | 120 | ||
| 3 | A-102 | 95 | ||
| 4 | A-103 | 210 | ||
| 5 | A-104 | 80 | ||
| 6 | A-105 | 140 |
תורכם: ב-D2, סכמו את הסכומים שב-B2:B6. אם הסכום מתחת ל-800, הוסיפו 25 למשלוח; אחרת החזירו את הסכום.
כללי שמות ושגיאות ב-LET
רוב השגיאות ב-LET באות מהשמות:
- שם חייב להתחיל באות ולא להכיל רווחים.
unit priceנכשל; השתמשו ב-unit_priceאו ב-unitPrice. - שם לא יכול להיראות כמו כתובת תא.
a1ו-tax2026הם כתובות תאים באקסל (TAX היא עמודה), ולכן LET דוחה אותם עם #NAME?.rateאוtax_2026עובדים. - שם נכתב בדיוק באותו איות בכל פעם שמשתמשים בו. שגיאת הקלדה במקום השימוש נותנת #NAME?, כי אקסל מחפש פונקציה או טווח בעל שם עם האיות הזה.
- הארגומנט האחרון חייב להיות חישוב. ל-
=LET(x,5)יש שם וערך אבל שום דבר להחזיר, ולכן אקסל דוחה אותה. - שמות קיימים רק בתוך הנוסחה שלהם. כדי להשתמש שוב בחישוב בהרבה תאים, שמרו אותו כ-LAMBDA בעלת שם במקום.
=LET(a1,5,a1*2) #NAME? (a1 is a cell address)
=LET(rate,8%,100*rate) 8
שאלות נפוצות
מה פונקציית LET עושה באקסל?
היא נותנת שמות לערכים בתוך נוסחה אחת. =LET(total,SUM(B2:B6),total*2) מחשבת את SUM(B2:B6) פעם אחת, קוראת לזה total, ומחזירה את total כפול 2. השמות קיימים רק בתוך אותה נוסחה.
איך משתמשים ביותר ממשתנה אחד ב-LET?
הוסיפו עוד זוגות של שם וערך לפני החישוב האחרון: =LET(price,B2,qty,C2,price*qty). ערך מאוחר יותר יכול להשתמש בשם קודם, כמו ב-=LET(x,2,y,x*3,x+y), שמחזירה 8.
למה נוסחת LET שלי מחזירה #NAME?
או שבאקסל שלכם אין LET (היא דורשת Excel 2021 או Microsoft 365), או ששם מאוית לא נכון במקום שבו משתמשים בו, או ששם אינו מותר, למשל שם שנראה כמו כתובת תא כמו a1 או tax2026, או שם שמתחיל במספר.
האם LET הופכת נוסחאות באקסל למהירות יותר?
היא יכולה. בלי LET ביטוי שחוזר, כמו אותה XLOOKUP שכתובה פעמיים בתוך IF, מחושב בכל פעם שהוא מופיע. עם LET הוא מחושב פעם אחת והתוצאה משמשת שוב.