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

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

آموزش جامع فرمول ARRAY_CONSTRAIN در گوگل شیت
4.8
(189)
  • آیا تا به حال نیاز داشته‌اید که فقط بخش مشخصی از یک آرایه یا نتیجه یک فرمول بزرگ را در گوگل شیت نمایش دهید؟
  • چگونه می‌توان بدون کپی و پیست دستی، ابعاد یک محدوده داده را به صورت پویا محدود کرد؟
  • فرمول ARRAY_CONSTRAIN در گوگل شیت دقیقاً چه کاری انجام می‌دهد و چگونه می‌تواند گزارش‌های شما را تمیزتر و بهینه‌تر کند؟
  • آیا می‌دانید ترکیب این فرمول با توابع دیگری مانند QUERY یا FILTER چه قابلیت‌های قدرتمندی را در اختیار شما قرار می‌دهد؟

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

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

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

تصور کنید یک مجموعه داده بسیار بزرگ دارید، مثلاً نتیجه یک فرمول `QUERY` یا `FILTER` که صدها ردیف و ده‌ها ستون را برمی‌گرداند. اما شما برای گزارش خود فقط به ۵ ردیف اول و ۳ ستون اول آن نیاز دارید. در حالت عادی، شاید وسوسه شوید که داده‌ها را کپی کرده و در جای دیگری پیست کنید یا با فرمول‌های پیچیده دیگری تلاش کنید تا خروجی را محدود سازید. اینجاست که فرمول ARRAY_CONSTRAIN در گوگل شیت مانند یک قهرمان وارد می‌شود.

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

📌 همراه با این مقاله بخوانید:رابطه بین تیپ ۳ و تیپ ۵ انیاگرام

سینتکس (Syntax) فرمول ARRAY_CONSTRAIN

ساختار این فرمول بسیار ساده و قابل فهم است. این فرمول سه آرگومان اصلی دارد:

=ARRAY_CONSTRAIN(input_range, num_rows, num_cols)

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

  • input_range (محدوده ورودی): این اولین و مهم‌ترین آرگومان است. این بخش می‌تواند یک محدوده ثابت از سلول‌ها (مانند `A1:Z1000`) یا خروجی یک فرمول دیگر باشد که یک آرایه تولید می‌کند (مانند `FILTER(A:C, A:A > 100)`). در واقع، هر آرایه‌ای که گوگل شیت تولید می‌کند، می‌تواند به عنوان ورودی این فرمول قرار گیرد.
  • num_rows (تعداد ردیف‌ها): این آرگومان یک عدد صحیح است که مشخص می‌کند شما چند ردیف از بالای آرایه ورودی را می‌خواهید نمایش دهید.
  • num_cols (تعداد ستون‌ها): این آرگومان نیز یک عدد صحیح است که تعیین می‌کند شما چند ستون از سمت چپ آرایه ورودی را نیاز دارید.

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

📌 بیشتر بخوانید:رابطه بین دو تیپ 6 انیاگرام

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

تئوری کافی است! بیایید با چند مثال عملی ببینیم این فرمول چطور کار می‌کند. فرض کنید یک مجموعه داده از فروش محصولات در محدوده `A1:D20` داریم که شامل ستون‌های «نام محصول»، «تعداد فروش»، «قیمت واحد» و «درآمد کل» است.

مثال ۱: نمایش ۵ محصول برتر

فرض کنید می‌خواهید فقط ۵ ردیف اول از داده‌های فروش خود را (بدون در نظر گرفتن سرستون) در یک گزارش خلاصه نمایش دهید. داده‌های اصلی شما در محدوده `A2:D20` قرار دارند.

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

=ARRAY_CONSTRAIN(A2:D20, 5, 4)

تحلیل فرمول:

  • A2:D20: محدوده داده‌های ما است.
  • 5: ما به ۵ ردیف اول نیاز داریم.
  • 4: ما هر ۴ ستون موجود را می‌خواهیم.

خروجی این فرمول، یک آرایه جدید با ابعاد ۵ در ۴ خواهد بود که فقط شامل ۵ ردیف اول از داده‌های اصلی شماست.

مثال ۲: نمایش فقط نام و درآمد دو محصول اول

حالا تصور کنید فقط به نام محصول (ستون اول) و درآمد کل (ستون چهارم) برای ۲ محصول اول نیاز دارید. در این حالت، ابتدا باید داده‌ها را مرتب کنیم و سپس `ARRAY_CONSTRAIN` را اعمال کنیم. فرض کنیم ستون نام محصول `A` و ستون درآمد `D` است.

ابتدا با یک فرمول دیگر ستون‌های مورد نظر را انتخاب می‌کنیم (مثلاً با استفاده از `{}`):

={'Sheet1'!A2:A20, 'Sheet1'!D2:D20}

حالا این آرایه مجازی را به فرمول ARRAY_CONSTRAIN در گوگل شیت می‌دهیم:

=ARRAY_CONSTRAIN({'Sheet1'!A2:A20, 'Sheet1'!D2:D20}, 2, 2)

تحلیل فرمول:

  • {'Sheet1'!A2:A20, 'Sheet1'!D2:D20}: یک آرایه مجازی ایجاد می‌کند که فقط شامل ستون‌های نام محصول و درآمد است.
  • 2: ما فقط ۲ ردیف اول را می‌خواهیم.
  • 2: آرایه مجازی ما ۲ ستون دارد و ما هر دو را نیاز داریم.

این فرمول فقط نام و درآمد دو محصول اول را به شما نمایش می‌دهد.

📌 موضوع مشابه و کاربردی:رابطه بین دو تیپ ۳ انیاگرام

ترکیب ARRAY_CONSTRAIN با توابع قدرتمند دیگر

قدرت واقعی فرمول ARRAY_CONSTRAIN در گوگل شیت زمانی آشکار می‌شود که آن را با توابع آرایه‌ای دیگر مانند `SORT`, `FILTER` و `QUERY` ترکیب کنید. این ترکیب‌ها به شما امکان می‌دهند تا گزارش‌های پویا و بسیار دقیقی بسازید.

ترکیب با تابع SORT

فرض کنید می‌خواهید ۱۰ محصول پرفروش را از لیست فروش خود استخراج کنید. ابتدا باید داده‌ها را بر اساس ستون «تعداد فروش» (فرض کنیم ستون B) به صورت نزولی مرتب کنید و سپس ۱۰ ردیف اول را جدا کنید.

=ARRAY_CONSTRAIN(SORT(A2:D20, 2, FALSE), 10, 4)

تحلیل فرمول:

  1. SORT(A2:D20, 2, FALSE): ابتدا کل محدوده `A2:D20` را بر اساس ستون دوم (تعداد فروش) به صورت نزولی (`FALSE`) مرتب می‌کند.
  2. ARRAY_CONSTRAIN(...): سپس نتیجه این مرتب‌سازی را به عنوان ورودی می‌گیرد و آن را به ۱۰ ردیف و ۴ ستون محدود می‌کند.

با این فرمول ساده، شما همیشه لیست ۱۰ محصول پرفروش خود را به صورت زنده و به‌روز در اختیار دارید.

ترکیب با تابع FILTER

حالا فرض کنید می‌خواهید فقط ۳ فروش اول مربوط به یک محصول خاص (مثلاً «لپ‌تاپ») را نمایش دهید. ابتدا با `FILTER` داده‌های مربوط به «لپ‌تاپ» را جدا کرده و سپس با `ARRAY_CONSTRAIN` خروجی را محدود می‌کنیم.

=ARRAY_CONSTRAIN(FILTER(A2:D20, A2:A20="لپ‌تاپ"), 3, 4)

تحلیل فرمول:

  1. FILTER(A2:D20, A2:A20="لپ‌تاپ"): این بخش تمام ردیف‌هایی را که در ستون `A` مقدار «لپ‌تاپ» را دارند، برمی‌گرداند. خروجی این تابع یک آرایه با تعداد ردیف‌های نامشخص است.
  2. ARRAY_CONSTRAIN(...): نتیجه فیلتر را دریافت کرده و آن را به ۳ ردیف اول محدود می‌کند. اگر کمتر از ۳ فروش برای لپ‌تاپ وجود داشته باشد، فرمول فقط همان تعداد موجود را نمایش می‌دهد و خطا نمی‌دهد.

ترکیب با تابع QUERY (پیشرفته)

تابع `QUERY` یکی از قدرتمندترین ابزارهای گوگل شیت است. ترکیب آن با `ARRAY_CONSTRAIN` به شما کنترل بی‌نظیری می‌دهد. فرض کنید می‌خواهید نام محصول و درآمد را برای ۵ محصولی که بیشترین درآمد را داشته‌اند، نمایش دهید.

=ARRAY_CONSTRAIN(QUERY(A1:D20, "SELECT A, D ORDER BY D DESC"), 6, 2)

تحلیل فرمول:

  1. QUERY(A1:D20, "SELECT A, D ORDER BY D DESC"): این کوئری ستون‌های `A` (نام محصول) و `D` (درآمد) را انتخاب کرده و نتایج را بر اساس درآمد به صورت نزولی مرتب می‌کند. ما از `A1` شروع کردیم تا سرستون‌ها هم شامل شوند.
  2. ARRAY_CONSTRAIN(...): نتیجه کوئری را گرفته و آن را به ۶ ردیف (۱ ردیف برای سرستون + ۵ ردیف برای داده) و ۲ ستون محدود می‌کند.

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

📌 نگاهی به این مقاله بیندازید:رابطه بین تیپ 4 و تیپ 7 انیاگرام

نکات و ترفندهای مهم در استفاده از ARRAY_CONSTRAIN

  • مدیریت خطا: اگر تعداد ردیف‌ها یا ستون‌هایی که درخواست می‌کنید بیشتر از ابعاد آرایه ورودی باشد، فرمول خطا نمی‌دهد. بلکه کل آرایه ورودی را نمایش می‌دهد. این ویژگی برای ساخت داشبوردهای پویا بسیار مفید است.
  • استفاده در داشبوردها: این فرمول برای ساخت بخش‌هایی مانند «آخرین ۵ فعالیت» یا «۳ مشتری برتر ماه» در داشبوردها ایده‌آل است. شما می‌توانید محاسبات پیچیده را در یک شیت دیگر انجام دهید و فقط نتیجه نهایی و محدود شده را در داشبورد نمایش دهید.
  • بهینه‌سازی عملکرد: وقتی با توابعی کار می‌کنید که آرایه‌های بسیار بزرگی تولید می‌کنند (مانند `IMPORTRANGE` از یک شیت دیگر)، استفاده از فرمول ARRAY_CONSTRAIN در گوگل شیت می‌تواند عملکرد صفحه شما را به شدت بهبود بخشد، زیرا گوگل شیت فقط نیاز به رندر کردن بخش کوچکی از داده‌ها دارد.
📌 انتخاب هوشمند برای شما:رابطه بین تیپ 6 و تیپ 8 انیاگرام

جدول مقایسه: ARRAY_CONSTRAIN در مقابل توابع مشابه

شاید بپرسید تفاوت این فرمول با توابع دیگر مانند `INDEX` یا `OFFSET` چیست. جدول زیر به شما کمک می‌کند:

تابع کاربرد اصلی مزیت کلیدی محدودیت
ARRAY_CONSTRAIN محدود کردن ابعاد یک آرایه از بالا-چپ سادگی و کارایی بالا برای نمایش بخشی از نتیجه نمی‌تواند از وسط آرایه شروع کند.
INDEX استخراج یک یا چند سلول از یک محدوده قابلیت استخراج ردیف‌ها یا ستون‌های کامل از هر جای آرایه برای استخراج یک محدوده مستطیلی پیچیده‌تر است.
OFFSET ایجاد یک محدوده جدید با فاصله از یک سلول مرجع بسیار انعطاف‌پذیر برای انتخاب محدوده‌های پویا یک تابع Volatile است و می‌تواند باعث کندی شیت شود.
QUERY فیلتر، مرتب‌سازی و انتخاب ستون‌ها با دستورات SQL قدرت بسیار بالا در پردازش داده‌ها دارای دستور `LIMIT` است که کاری مشابه `ARRAY_CONSTRAIN` انجام می‌دهد.
📌 شاید این مطلب هم برایتان جالب باشد:رابطه بین تیپ 9 و تیپ 4 انیاگرام

نتیجه‌گیری

فرمول ARRAY_CONSTRAIN در گوگل شیت ابزاری ساده اما فوق‌العاده کاربردی برای هر کسی است که با حجم زیادی از داده‌ها سر و کار دارد. این تابع به شما کمک می‌کند تا خروجی فرمول‌های خود را کنترل کرده، گزارش‌های تمیز و خوانا بسازید و از شلوغی بی‌مورد در صفحات گسترده خود جلوگیری کنید. با ترکیب این فرمول با توابع دیگر، می‌توانید داشبوردهای پویا و هوشمندی طراحی کنید که فقط اطلاعات ضروری را به نمایش می‌گذارند. اکنون که با زیر و بم این تابع آشنا شدید، آن را در پروژه‌های بعدی خود به کار بگیرید و تاثیر آن را در افزایش بهره‌وری و نظم صفحات خود مشاهده کنید.

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

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

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

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

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

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

  1. حمید گفت:

    آیا می‌شه از ARRAY_CONSTRAIN برای محدود کردن خروجی توابع ایمپورت شده مثل IMPORTXML استفاده کرد؟

    1. 9persona.ir گفت:

      بله حمید گرامی. اتفاقاً این یکی از بهترین کاربردهاست؛ چرا که IMPORTXML معمولاً داده‌های زیادی برمی‌گرداند و با این فرمول می‌توانید فقط بخش مورد نیاز (مثلاً تیترهای اول) را استخراج کنید.

  2. پریسا گفت:

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

    1. 9persona.ir گفت:

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

  3. کیوان گفت:

    دمتون گرم، خیلی روان توضیح دادید.

  4. یاسمن گفت:

    برای گزارش‌های ماهانه فروش عالیه، خروجی رو تمیز می‌کنه.

    1. 9persona.ir گفت:

      دقیقاً یاسمن عزیز، تمیزی و مینیمال بودن گزارش‌ها (Clean Reporting) تاثیر مستقیم در کیفیت تصمیم‌گیری مدیران فروش دارد.

  5. بابک گفت:

    یک سوال: اگر تعداد ردیف‌های منبع کمتر از عدد محدودکننده باشه، خطایی میده؟

    1. 9persona.ir گفت:

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

  6. مونا گفت:

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

    1. 9persona.ir گفت:

      ممنون از نگاه مثبت شما مونا عزیز. هدف ما در 9persona دقیقاً توانمندسازی مدیران با ابزارهای مدرن برای بهبود بهره‌وری است.

  7. فرهاد گفت:

    ممنون، استفاده کردم و جواب گرفتم.

  8. سارا گفت:

    بسیار عالی و تخصصی. کاش در مورد ترکیبش با توابع Enneagram برای تحلیل تیپ‌های شخصیتی تیم هم مطلب بذارید.

    1. 9persona.ir گفت:

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

  9. حسین گفت:

    در ترکیب با FILTER چطور عمل می‌کنه؟ مثلاً می‌خوام فقط ۵ مورد اولی که فیلتر شدن رو نمایش بده.

    1. 9persona.ir گفت:

      حسین گرامی، کافیست فرمول FILTER خود را داخل ARRAY_CONSTRAIN قرار دهید. مثلا: ARRAY_CONSTRAIN(FILTER(…), 5, 10). با این کار خروجی فیلتر شما دقیقاً به ۵ ردیف محدود می‌شود.

  10. الناز گفت:

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

    1. 9persona.ir گفت:

      الناز عزیز، این تابع در حال حاضر منحصر به Google Sheets است. در اکسل معمولاً از ترکیب توابع INDEX یا TAKE (در نسخه‌های جدید ۳۶۵) برای رسیدن به نتیجه مشابه استفاده می‌شود.

  11. رضا گفت:

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

    1. 9persona.ir گفت:

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

  12. نیلوفر گفت:

    ممنون از آموزش خوبتون. تفاوت اصلی این تابع با محدود کردن دستی (مثلاً انتخاب محدوده) چیه؟

    1. 9persona.ir گفت:

      نیلوفر عزیز، تفاوت اصلی در «پویا بودن» است. وقتی داده‌های منبع شما تغییر کنند یا بزرگتر شوند، ARRAY_CONSTRAIN به طور خودکار خروجی را بر اساس ابعادی که تعریف کردید کنترل می‌کند، بدون اینکه نیاز به تنظیم مجدد دستی باشد.

  13. سهراب گفت:

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

    1. 9persona.ir گفت:

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

  14. مریم گفت:

    آیا می‌شه تعداد ردیف‌ها رو بر اساس یه سلول دیگه به صورت داینامیک تعیین کرد؟ مثلاً کاربر خودش انتخاب کنه چند ردیف اول رو ببینه؟

    1. 9persona.ir گفت:

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

  15. آرش گفت:

    واقعاً کاربردی بود. من همیشه با خروجی‌های طولانی QUERY مشکل داشتم و مجبور بودم دستی ردیف‌های اضافی رو پاک کنم. این تابع برای داشبوردهای مدیریتی عالیه.

    1. 9persona.ir گفت:

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

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

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