اکسل و گوگل شیت آنلاین

آموزش جامع فرمول REDUCE در گوگل شیت

آموزش جامع فرمول REDUCE در گوگل شیت
5
(257)
  • فرمول REDUCE در گوگل شیت چیست و چه تفاوتی با سایر توابع آرایه‌ای دارد؟
  • چگونه می‌توان از فرمول REDUCE برای محاسبات تجمعی و پیچیده روی مجموعه‌ای از داده‌ها استفاده کرد؟
  • آیا می‌توان بدون استفاده از اسکریپت‌های پیچیده، چندین عملیات را روی یک آرایه با فرمول REDUCE انجام داد؟
  • چه مثال‌های کاربردی و پیشرفته‌ای برای استفاده از تابع REDUCE در تحلیل داده‌های روزمره وجود دارد؟

در این مقاله، به تمام این سوالات پاسخ خواهیم داد و به صورت جامع و با مثال‌های عملی، شما را با قدرت فرمول REDUCE در گوگل شیت آشنا خواهیم کرد. این تابع یکی از توابع آرایه‌ای قدرتمند گوگل شیت است که به شما امکان می‌دهد یک آرایه ورودی را به یک نتیجه واحد کاهش دهید. برخلاف توابع ساده مانند SUM یا AVERAGE، تابع REDUCE به شما کنترل کاملی بر روی نحوه محاسبه و انباشت مقادیر در هر مرحله می‌دهد. با تسلط بر این فرمول، می‌توانید محاسبات پیچیده‌ای را که قبلاً نیازمند چندین فرمول تودرتو یا حتی اسکریپت‌نویسی بودند، به سادگی و تنها با یک فرمول انجام دهید. در ادامه، از مفاهیم پایه تا کاربردهای پیشرفته این تابع را بررسی خواهیم کرد.

📌 پیشنهاد ویژه برای شما:رابطه دو فرد از تیپ ۱ انیاگرام

فرمول REDUCE در گوگل شیت چیست؟

تابع REDUCE یکی از توابع جدید و قدرتمند خانواده لمبدا (Lambda) در گوگل شیت است. وظیفه اصلی این تابع، همانطور که از نامش پیداست، «کاهش دادن» یک آرایه یا محدوده از داده‌ها به یک مقدار نهایی واحد است. این کار از طریق اعمال یک تابع لمبدا (یک فرمول سفارشی) به صورت مکرر بر روی هر یک از اعضای آرایه انجام می‌شود.

فرض کنید می‌خواهید مجموع اعداد یک ستون را محاسبه کنید. ساده‌ترین راه استفاده از تابع SUM است. اما اگر بخواهید محاسباتی پیچیده‌تر و مرحله به مرحله انجام دهید، چه؟ برای مثال، تصور کنید می‌خواهید مجموع مربعات اعداد را محاسبه کنید یا یک رشته متنی طولانی از ترکیب سلول‌های مختلف بسازید. اینجاست که قدرت فرمول REDUCE در گوگل شیت نمایان می‌شود.

ساختار و آرگومان‌های تابع REDUCE

ساختار کلی این فرمول به شکل زیر است:

REDUCE(initial_value, array_or_range, lambda)

بیایید هر یک از این آرگومان‌ها را با دقت بررسی کنیم:

  • initial_value: این آرگومان، مقدار اولیه‌ای است که محاسبات ما با آن شروع می‌شود. به این مقدار «انباشتگر» یا (accumulator) نیز می‌گویند. این مقدار می‌تواند صفر، یک رشته خالی (“”) یا هر مقدار دلخواه دیگری باشد که به عنوان نقطه شروع منطقی برای محاسبه شما عمل می‌کند.
  • array_or_range: این محدوده یا آرایه‌ای است که می‌خواهید عملیات را روی آن انجام دهید. برای مثال، محدوده A1:A10 یا یک آرایه ساخته شده توسط فرمول دیگر.
  • lambda: این قلب تپنده فرمول REDUCE است. لمبدا یک تابع سفارشی است که شما تعریف می‌کنید و دو پارامتر ورودی دارد:
    • accumulator: این پارامتر، مقدار انباشته شده از مراحل قبلی را در خود نگه می‌دارد. در اولین مرحله، مقدار آن برابر با initial_value است.
    • current_value: این پارامتر، مقدار سلول فعلی از array_or_range است که در حال پردازش می‌باشد.

در هر مرحله، تابع لمبدا مقادیر accumulator و current_value را گرفته، محاسبه‌ای را روی آنها انجام می‌دهد و نتیجه را به عنوان accumulator جدید برای مرحله بعدی برمی‌گرداند. این فرآیند تا آخرین سلول محدوده ادامه پیدا می‌کند و در نهایت، آخرین مقدار accumulator به عنوان خروجی نهایی فرمول REDUCE نمایش داده می‌شود.

📌 این مقاله را از دست ندهید:رابطه بین تیپ ۲ و تیپ ۹ انیاگرام

مثال‌های کاربردی برای درک بهتر فرمول REDUCE

تئوری کافیست! بیایید با چند مثال عملی ببینیم این فرمول چگونه کار می‌کند. فرض کنید اعداد ۱ تا ۵ در محدوده A1:A5 قرار دارند.

مثال ۱: محاسبه مجموع اعداد (شبیه‌سازی تابع SUM)

ساده‌ترین مثال، محاسبه مجموع اعداد است. ما می‌خواهیم کاری را انجام دهیم که تابع SUM به راحتی انجام می‌دهد تا منطق REDUCE را درک کنیم.

فرمول به این شکل خواهد بود:

=REDUCE(0, A1:A5, LAMBDA(acc, curr, acc + curr))

بیایید مراحل اجرای این فرمول را ردیابی کنیم:

  1. مقدار اولیه (initial_value): انباشتگر (acc) با مقدار 0 شروع می‌شود.
  2. مرحله اول: فرمول اولین مقدار از محدوده (سلول A1 که حاوی 1 است) را برمی‌دارد. محاسبه لمبدا: acc + curr یا 0 + 1 = 1. مقدار جدید acc برابر 1 می‌شود.
  3. مرحله دوم: مقدار بعدی (A2 که حاوی 2 است) برداشته می‌شود. محاسبه لمبدا: 1 + 2 = 3. مقدار جدید acc برابر 3 می‌شود.
  4. مرحله سوم: مقدار بعدی (A3 که حاوی 3 است) برداشته می‌شود. محاسبه لمبدا: 3 + 3 = 6. مقدار جدید acc برابر 6 می‌شود.
  5. مرحله چهارم: مقدار بعدی (A4 که حاوی 4 است) برداشته می‌شود. محاسبه لمبدا: 6 + 4 = 10. مقدار جدید acc برابر 10 می‌شود.
  6. مرحله پنجم: مقدار نهایی (A5 که حاوی 5 است) برداشته می‌شود. محاسبه لمبدا: 10 + 5 = 15. مقدار جدید acc برابر 15 می‌شود.

چون مقادیر دیگری در محدوده وجود ندارد، فرمول مقدار نهایی انباشتگر یعنی 15 را برمی‌گرداند.

مثال ۲: اتصال رشته‌های متنی (شبیه‌سازی تابع TEXTJOIN)

فرض کنید در محدوده B1:B3 به ترتیب رشته‌های “گوگل”، “شیت” و “عالی” را داریم و می‌خواهیم آنها را با یک فاصله به هم بچسبانیم.

فرمول به این شکل خواهد بود:

=REDUCE("", B1:B3, LAMBDA(acc, curr, IF(acc="", curr, acc & " " & curr)))

در این فرمول:

  • مقدار اولیه یک رشته خالی (“”) است.
  • در هر مرحله، لمبدا چک می‌کند که آیا انباشتگر (acc) خالی است یا نه. اگر خالی بود (یعنی در اولین مرحله)، فقط مقدار فعلی (curr) را برمی‌گرداند. در غیر این صورت، مقدار انباشته شده قبلی را با یک فاصله و سپس مقدار فعلی ترکیب می‌کند.
  • خروجی نهایی این فرمول رشته “گوگل شیت عالی” خواهد بود.
📌 همراه با این مقاله بخوانید:رابطه بین دو تیپ 7 انیاگرام

کاربردهای پیشرفته فرمول REDUCE در گوگل شیت

قدرت واقعی فرمول REDUCE در گوگل شیت زمانی مشخص می‌شود که بخواهیم محاسبات پیچیده‌تر و شرطی را در یک فرمول واحد انجام دهیم.

پردازش داده‌های دو بعدی (چند ستونی)

یکی از قابلیت‌های شگفت‌انگیز REDUCE، توانایی کار با آرایه‌های دو بعدی است. فرض کنید جدولی از محصولات، تعداد فروش و قیمت هر واحد را در محدوده A2:C5 دارید.

محصول تعداد فروش قیمت واحد (تومان)
موس 10 150,000
کیبورد 5 300,000
مانیتور 2 2,500,000
موس 8 170,000

حالا می‌خواهیم مجموع درآمد حاصل از فروش “موس” را محاسبه کنیم. با استفاده از SUMIF یا SUMIFS می‌توان این کار را انجام داد، اما بیایید ببینیم REDUCE چگونه این مسئله را حل می‌کند.

برای این کار، ما به تابعی نیاز داریم که بتواند به هر سطر دسترسی داشته باشد. می‌توانیم از تابع BYROW در ترکیب با REDUCE استفاده کنیم، اما یک راه هوشمندانه‌تر استفاده از خود لمبدا برای پردازش ستون‌هاست. متاسفانه، REDUCE به تنهایی برای پردازش سطر به سطر طراحی نشده و معمولاً روی یک آرایه تک بعدی کار می‌کند. برای پردازش آرایه‌های دو بعدی، ترکیب آن با توابع دیگر مانند MAP یا BYROW ضروری است.

اما یک سناریوی دیگر را در نظر بگیرید. فرض کنید می‌خواهیم یک آرایه خروجی تولید کنیم که شامل درآمد کل هر محصول باشد. در این سناریو، تابع MAP یا BYROW انتخاب بهتری است. REDUCE زمانی می‌درخشد که هدف، کاهش کل آرایه به یک مقدار واحد باشد.

برای مثال، بیایید مجموع کل درآمد از تمام محصولات را محاسبه کنیم. اما این بار با یک شرط: فقط محصولاتی که تعداد فروش آنها بیشتر از ۳ عدد است را در نظر بگیر.

برای حل این مسئله، ما به سه محدوده نیاز داریم: نام محصول (A2:A5)، تعداد (B2:B5) و قیمت (C2:C5). این کار با REDUCE کمی پیچیده می‌شود. راه حل بهتر، استفاده از تابع FILTER برای جداسازی داده‌ها و سپس استفاده از SUMPRODUCT یا MAP است.

پس چه زمانی REDUCE بهترین گزینه است؟ زمانی که نتیجه هر مرحله به نتیجه مرحله قبل وابسته است. این ویژگی کلیدی REDUCE است.

مثال پیشرفته: محاسبه موجودی انبار

تصور کنید لیستی از تراکنش‌های انبار (ورود و خروج کالا) در یک شیت دارید. ستون A تاریخ تراکنش و ستون B مقدار تغییر (مثبت برای ورود و منفی برای خروج) را نشان می‌دهد. موجودی اولیه انبار 100 واحد بوده است.

ما می‌خواهیم با یک فرمول، موجودی نهایی را محاسبه کنیم.

محدوده B2:B10 شامل مقادیر زیر است: +50, -20, +30, -15, -10, +40, -25.

فرمول محاسبه موجودی نهایی به شکل زیر است:

=REDUCE(100, B2:B10, LAMBDA(acc, curr, acc + curr))

  • initial_value: موجودی اولیه ما 100 است.
  • array_or_range: محدوده تغییرات موجودی B2:B10 است.
  • lambda: در هر مرحله، مقدار تغییر فعلی (curr) به موجودی انباشته شده (acc) اضافه می‌شود.

این فرمول به زیبایی و با یک خط کد، تمام تراکنش‌ها را روی موجودی اولیه اعمال کرده و نتیجه نهایی را برمی‌گرداند. این کاری است که با تابع SUM به تنهایی نمی‌توانید انجام دهید (مگر اینکه موجودی اولیه را جداگانه با آن جمع کنید).

📌 شاید این مطلب هم برایتان جالب باشد:رابطه بین تیپ‌های 7 و تیپ 9 انیاگرام

مقایسه REDUCE با توابع MAP و SCAN

برای درک کامل جایگاه فرمول REDUCE در گوگل شیت، بهتر است آن را با دو تابع لمبدای دیگر یعنی MAP و SCAN مقایسه کنیم.

REDUCE vs. MAP

  • هدف: تابع MAP یک آرایه ورودی می‌گیرد و یک عملیات را روی تک تک اعضای آن انجام می‌دهد و یک آرایه خروجی هم‌اندازه با آرایه ورودی برمی‌گرداند. در مقابل، REDUCE کل آرایه را به یک مقدار واحد کاهش می‌دهد.
  • خروجی: خروجی MAP یک آرایه است. خروجی REDUCE یک مقدار منفرد است.
  • مثال: اگر بخواهید تمام اعداد یک ستون را دو برابر کنید، از MAP استفاده می‌کنید. اگر بخواهید مجموع تمام اعداد آن ستون را به دست آورید، از REDUCE (یا SUM) استفاده می‌کنید.

REDUCE vs. SCAN

  • هدف: تابع SCAN بسیار شبیه به REDUCE است. این تابع نیز یک مقدار اولیه و یک لمبدا می‌گیرد و محاسبات را به صورت مرحله به مرحله انجام می‌دهد. اما تفاوت کلیدی در خروجی آنهاست.
  • خروجی: REDUCE فقط مقدار نهایی انباشتگر را برمی‌گرداند. اما SCAN یک آرایه از تمام مقادیر میانی انباشتگر در هر مرحله را برمی‌گرداند.
  • مثال: در مثال محاسبه موجودی انبار، اگر از REDUCE استفاده کنیم، فقط موجودی نهایی را خواهیم داشت. اما اگر از SCAN استفاده کنیم، یک ستون کامل از موجودی انبار پس از هر تراکنش را به دست می‌آوریم. این برای مشاهده تاریخچه تغییرات موجودی فوق‌العاده است.

فرمول SCAN برای مثال موجودی انبار:

=SCAN(100, B2:B10, LAMBDA(acc, curr, acc + curr))

خروجی این فرمول یک آرایه خواهد بود که موجودی پس از هر تراکنش را نشان می‌دهد:.

📌 مطلب مرتبط و خواندنی:تیپ شخصیتی 3 انیاگرام

نکات و ترفندهای حرفه‌ای

  1. استفاده از نام‌های معنی‌دار در لمبدا: به جای استفاده از `acc` و `curr`، می‌توانید از نام‌های واضح‌تری مانند `موجودی_انباشته` و `تغییر_فعلی` استفاده کنید تا فرمول شما خواناتر شود.

    =REDUCE(100, B2:B10, LAMBDA(موجودی_انباشته, تغییر_فعلی, موجودی_انباشته + تغییر_فعلی))

  2. ترکیب با سایر توابع: فرمول REDUCE در گوگل شیت را می‌توان با توابعی مانند FILTER, UNIQUE, SORT و… ترکیب کرد تا ابتدا داده‌ها را آماده‌سازی کرده و سپس عملیات کاهش را روی داده‌های فیلتر شده یا مرتب شده انجام دهید.
  3. مقدار اولیه پویا: مقدار اولیه (initial_value) می‌تواند یک مقدار ثابت نباشد، بلکه خودش نتیجه یک فرمول دیگر باشد. این به شما انعطاف‌پذیری بالایی می‌دهد.
📌 نگاهی به این مقاله بیندازید:رابطه بین تیپ ۱ و تیپ ۷ انیاگرام

جمع‌بندی

فرمول REDUCE یک ابزار تخصصی اما بسیار قدرتمند در زرادخانه گوگل شیت شماست. این تابع برای سناریوهایی طراحی شده که در آن نیاز به انجام یک محاسبه تجمعی و مرحله به مرحله روی مجموعه‌ای از داده‌ها دارید تا به یک نتیجه نهایی واحد برسید. درک تفاوت آن با توابع MAP و SCAN به شما کمک می‌کند تا در هر موقعیت، ابزار مناسب را انتخاب کنید.

هرچند برای محاسبات ساده مانند جمع یا میانگین، توابع سنتی همچنان گزینه‌های بهتری هستند، اما هر زمان که با مسئله‌ای مواجه شدید که در آن “نتیجه فعلی به نتیجه قبلی وابسته است”، بدانید که فرمول REDUCE در گوگل شیت احتمالاً بهترین و تمیزترین راه‌حل موجود برای شماست.

این پست چقدر برای شما مفید بود؟

برای امتیاز دادن روی ستاره‌ها کلیک کنید!

امتیاز میانگین 5 / 5. تعداد رای‌ها: 257

اولین نفری باشید که به این پست امتیاز می‌دهد.

درباره حسام الدین عالمیان

از روزی که اولین سایت انگلیسی خودم رو راه اندازی کردم حدود 5 سالی میگذره. البته من 15 ساله که وب سایت های مختلف و کسب و کارهای آنلاین زیادی رو هم راه اندازی کرده بودم و هنوز هم ادارشون میکنم. تو این مدت یک نفره همه کارهای سایت رو انجام می دادم. اونم سایت انگلیسی با مخاطب و بازدیدکننده از سرتاسر دنیا. اینکه محتوا تولید کنم، اینکه روی سئو سایت کار کنم، اینکه امنیت سایت رو بالا ببرم و جلوی هکرها و خرابکارها رو بگیرم. اینکه درآمد دلاری رو نقدش کنم و به راه های افزایش درآمد فکر کنم. نتیجش این شد که تونستم به بازدیدکننده بالایی روی سایت برسم. روزی نزدیک 70هزار بازدیدکننده از گوگل. و تونستم چیزی که همیشه آرزوش رو داشتم، یک سایت انگلیسی با بازدیدکننده بالا از سرتاسر دنیا.

  1. آیدا گفت:

    برای منی که تازه بیزنس شخصی خودم رو راه انداختم، این آموزش‌ها کمک می‌کنه هزینه‌هام رو بهتر مدیریت کنم و نیاز به استخدام تحلیلگر نداشته باشم.

    1. 9persona.ir گفت:

      آفرین به این دیدگاه، آیدا عزیز. در مراحل اولیه بیزنس، یادگیری این مهارت‌ها باعث افزایش بهره‌وری شخصی و کاهش هزینه‌های عملیاتی شما می‌شود.

  2. مهدی گفت:

    مرسی از آموزش خوبتون. من با این روش تونستم حجم فرمول‌های فایلم رو به شدت کم کنم که باعث شد سرعت باز شدن فایل تو گوشی خیلی بهتر بشه.

  3. سپیده گفت:

    واقعاً کاربردی بود. من برای محاسبه پورسانت‌های پلکانی تیم فروش از این فرمول استفاده کردم و عالی بود.

    1. 9persona.ir گفت:

      بسیار عالی سپیده جان. پورسانت پلکانی یکی از کلاسیک‌ترین و بهترین مثال‌ها برای درک قدرت Accumulator در تابع REDUCE است.

  4. محمود گفت:

    یک سوال فنی: حداکثر تعداد تکرار (Iteration) در تابع REDUCE چقدر است؟

  5. زهرا گفت:

    من همیشه فکر می‌کردم گوگل شیت فقط برای جدول‌بندی ساده است، اما با این مقالات متوجه شدم چقدر ابزار قدرتمندیه برای تحلیل بیزنس.

    1. 9persona.ir گفت:

      زهرا عزیز، کاملاً درست است. گوگل شیت امروزه به یک پلتفرم تحلیل داده تبدیل شده که با استفاده از توابعی مثل REDUCE، دست کمی از زبان‌های برنامه‌نویسی دیتاساینس ندارد.

  6. بابک گفت:

    خیلی خوب بود. فقط کاش ویدیو آموزشی هم داشت.

    1. 9persona.ir گفت:

      ممنون از پیشنهادت بابک عزیز. در حال آماده‌سازی پکیج‌های ویدیویی برای بخش آموزش‌های تخصصی گوگل شیت هستیم.

  7. فرزانه گفت:

    من از این تابع برای پاکسازی داده‌های ورودی از فرم‌های آنلاین استفاده کردم. خیلی تمیزتر از فرمول‌های تودرتوی IF شد.

  8. امید گفت:

    ممنون. به نظرتون یادگیری این توابع برای یک مدیر فروش چقدر ضرورت داره؟

    1. 9persona.ir گفت:

      امید عزیز، به عنوان یک مدیر فروش، تسلط بر تحلیل داده‌ها به شما کمک می‌کند الگوهای پنهان در فروش را کشف کنید. REDUCE به شما اجازه می‌دهد گزارش‌های پیچیده‌ای مثل ‘اولین خرید هر مشتری’ یا ‘روند تغییرات سبد خرید’ را بدون نیاز به تیم فنی استخراج کنید.

  9. رویا گفت:

    خسته نباشید. آموزش بسیار روانی بود. یک سوال داشتم: آیا امکان استفاده از آرایه‌های دو بعدی در ورودی REDUCE وجود داره؟

    1. 9persona.ir گفت:

      بله رویا جان، امکان‌پذیر است. اما توجه داشته باشید که REDUCE داده‌ها را به صورت ردیف به ردیف (یا المان به المان) پردازش می‌کند. اگر آرایه دو بعدی باشد، معمولاً بهتر است ابتدا آن را با TOCOL به یک ستون تبدیل کنید یا منطق دسترسی به ستون‌ها را در LAMBDA تعریف کنید.

  10. امیرحسین گفت:

    واقعاً عالی بود، مخصوصاً بخش مثال‌های عملی. من برای محاسبه سود انباشته با نرخ‌های متغیر ازش استفاده کردم و عالی جواب داد.

    1. 9persona.ir گفت:

      بسیار عالی امیرحسین عزیز. استفاده از REDUCE برای محاسباتی که نرخ‌های متغیر یا شرایط پویایی دارند، یکی از بهترین کاربردهای این تابع است.

  11. نازنین گفت:

    آیا میشه از REDUCE برای مقایسه دو لیست متفاوت و پیدا کردن تفاوت‌هاشون استفاده کرد؟

  12. سعید گفت:

    ممنون از تیم 9persona. محتوای آموزشی شما همیشه یک سر و گردن از بقیه بالاتر بوده. منتظر آموزش‌های بعدی در مورد MAP و BYCOL هستیم.

    1. 9persona.ir گفت:

      سپاس از اعتماد و همراهی شما سعید جان. حتماً آموزش‌های جامع سایر توابع LAMBDA-helper را در برنامه محتوایی آینده داریم.

  13. الناز گفت:

    به عنوان کسی که مدیریت مالی یک استارتاپ رو بر عهده داره، این آموزش برای من مثل یک گنج بود. صرفه‌جویی در زمان یعنی سود بیشتر.

    1. 9persona.ir گفت:

      الناز عزیز، رویکرد شما کاملاً حرفه‌ای است. در دنیای استارتاپی، بهینه‌سازی فرآیندهای مالی با ابزارهای هوشمند مثل گوگل شیت، مزیت رقابتی ایجاد می‌کند.

  14. پیمان گفت:

    من این فرمول رو در اکسل تست کردم ولی خطا داد. آیا اکسل هم این تابع رو داره یا فقط مختص گوگل شیته؟

  15. فاطمه گفت:

    مقاله بسیار جامع و کاملی بود. ای کاش یک مثال هم در مورد ترکیب این تابع با توابع متنی (String Manipulation) می‌زدید.

    1. 9persona.ir گفت:

      نکته بسیار خوبی بود فاطمه عزیز. در آپدیت‌های بعدی حتماً مثالی از ترکیب REDUCE برای اتصال شرطی رشته‌های متنی (مانند ایجاد لیست کاما جدا شده از نام مشتریان خاص) اضافه خواهیم کرد.

  16. نیما گفت:

    من هنوز در درک مفهوم Initial_value کمی مشکل دارم. آیا همیشه باید صفر باشه؟

    1. 9persona.ir گفت:

      خیر نیما جان، مقدار اولیه بستگی به نوع عملیات شما دارد. اگر در حال جمع زدن هستید معمولاً 0 است، اما اگر در حال انجام عملیات متنی هستید می‌تواند یک رشته خالی “” یا حتی اولین ردیف داده‌هایتان باشد.

  17. سارا گفت:

    خیلی ممنون از این آموزش کاربردی. من از این فرمول برای تحلیل رفتار مشتریان در قیف فروش استفاده کردم و نتیجه فوق‌العاده بود. برای بیزنس کچینگ واقعاً داشتن چنین ابزارهایی برای تحلیل داده ضروریه.

    1. 9persona.ir گفت:

      سارا عزیز، دیدگاه شما کاملاً درست است. یک بیزنس کوچ حرفه‌ای باید بتواند با داده‌های دقیق صحبت کند و تسلط بر توابع پیشرفته‌ای مثل REDUCE، سرعت تحلیل شما را چندین برابر می‌کند.

  18. حمیدرضا گفت:

    آیا تفاوت اصلی REDUCE و SCAN فقط در نمایش نتایج میانی هست؟ یعنی منطق محاسباتی هر دو یکی هست؟

    1. 9persona.ir گفت:

      دقیقاً همین‌طور است حمیدرضا جان. هر دو از یک ساختار Accumulator استفاده می‌کنند، اما SCAN تمام مراحل میانی (Running Total) را نمایش می‌دهد در حالی که REDUCE فقط خروجی نهایی را به شما برمی‌گرداند.

  19. مریم گفت:

    توضیحات مربوط به بخش LAMBDA خیلی شفاف بود. من در مدیریت پروژه‌های بیزنسی خودم همیشه با جمع‌های شرطی پیچیده مشکل داشتم که فکر می‌کنم REDUCE راه‌حل نهایی من باشه.

    1. 9persona.ir گفت:

      بسیار خوشحالیم که این مطلب برای مدیریت پروژه‌هایتان مفید بوده، مریم عزیز. در واقع قدرت اصلی REDUCE زمانی مشخص می‌شود که شما بخواهید منطق‌های شرطی چندلایه را بدون شلوغ کردن محیط شیت پیاده‌سازی کنید.

  20. علیرضا گفت:

    واقعاً عالی بود. من همیشه برای محاسبات تجمعی در گوگل شیت از اسکریپت‌نویسی استفاده می‌کردم، اما این مقاله نشون داد که با REDUCE چقدر کار راحت‌تر میشه. فقط یک سوال، آیا این تابع در فایل‌های سنگین باعث کندی سیستم نمیشه؟

    1. 9persona.ir گفت:

      علیرضا عزیز، سوال بسیار هوشمندانه‌ای است. توابع آرایه‌ای مثل REDUCE نسبت به اسکریپت‌های GAS سریع‌تر اجرا می‌شوند چون مستقیماً در موتور محاسباتی شیت پردازش می‌شوند. با این حال، در آرایه‌های بسیار بزرگ (چند ده هزار ردیف)، پیشنهاد می‌شود از ترکیب آن با سایر توابع فیلترکننده استفاده کنید تا بار پردازشی بهینه شود.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *