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

(مشابه استاندارد توابع اکسل SUMIF).

در نسخه اکسل 2016 و در بالا یک عملکرد داخلی وجود دارد MINESLIمی توانید از آن استفاده کنید. اگر اکسل شما یک نسخه قدیمی است، با نصب افزونه می توان از این تابع استفاده کرد VBA-Excel.

تابع دارای آرگومان های زیر است =مینسلی( RANGE;CRITERIA;[SEARCH_RANGE])

    دامنه- محدوده سلول های بررسی شده

  • معیار- شرطی در قالب یک عدد، عبارت یا متن که بررسی حداقل مقدار را مشخص می کند.
  • [ SEARCH_RANGE ]- محدوده واقعی برای تعیین حداقل مقدار. اگر این پارامتر مشخص نشده باشد، از سلول های مشخص شده توسط پارامتر استفاده می شود. دامنه.

مثال 1

به عنوان یک معیار، می توانید مقادیر و عبارات منطقی را مشخص کنید:

  1. مثال زیر را در نظر بگیرید که حداقل امتیاز را در ادبیات تعیین می کند. برای این، در پارامتر معیارمقدار "Literature" و پارامتر مشخص شده است دامنه- لیست اقلام.
  2. اگر یک عبارت منطقی را به عنوان معیار مشخص کنید «<>روسی"، سپس حداقل نمره در تمامی دروس به جز زبان روسی تعیین خواهد شد.

مثال 2

در مثال زیر، پارامتر SEARCH_RANGEتنظیم نشده است، بنابراین حداقل مقدار در بین سلول های مشخص شده در پارامتر تعیین می شود دامنه.

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

نحوه انتخاب در اکسل بر اساس شرایط

برای تعیین مقدار مربوطه برای اولین کوچکترین عدد، انتخابی از جدول بر اساس شرایط مورد نیاز است. فرض کنید ما می خواهیم اولین چیزی را بدانیم کالاهای ارزان قیمتدر بازار از این لیست قیمت:

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

INDEX(محدوده_داده_برای_انتخاب، MIN(IF(محدوده=MIN(محدوده)،ROW(محدوده)-ROW(هدر_ستون)،"")))

در محل "range_of_data_for_selection" باید محدوده مقادیر A6:A18 را برای انتخابی از یک جدول (به عنوان مثال، متن) مشخص کنید، که تابع INDEX یک مقدار حاصل را از آن انتخاب می کند. آرگومان "محدوده" به معنای ناحیه سلول هایی با مقادیر عددی است که اولین کوچکترین عدد باید از آن انتخاب شود. در آرگومان "column_header" برای تابع ROW دوم، باید یک مرجع سلولی با سربرگ ستون مشخص کنید که شامل محدوده ای از مقادیر عددی است.

طبیعتا این فرمول باید در یک آرایه اجرا شود. بنابراین، برای تأیید ورود آن، نه تنها باید کلید Enter، بلکه کل کلید ترکیبی CTRL + SHIFT + Enter را فشار دهید. اگر همه چیز به درستی انجام شود، بریس های فرفری در نوار فرمول ظاهر می شوند.

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

انتخاب مقدار مربوطه با اولین عدد کوچک:


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



نحوه عملکرد انتخاب بر اساس شرایط

تابع INDEX در اینجا نقش کلیدی ایفا می کند. وظیفه اسمی آن این است که از جدول منبع (مشخص شده در آرگومان اول - A6:A18) مقادیر مربوط به اعداد خاص را انتخاب کنید. INDEX بر اساس معیارهای تعریف شده در آرگومان های دوم (شماره ردیف داخل جدول) و سوم (شماره ستون در جدول) کار می کند. از آنجایی که جدول منبع ما A6:A18 فقط 1 ستون دارد، ما آرگومان سوم را در تابع INDEX مشخص نمی کنیم.

چندین تابع محاسبه برای محاسبه شماره ردیف جدول در مقابل کوچکترین عدد در محدوده مجاور B6:B18 و استفاده از آن به عنوان مقدار برای آرگومان دوم استفاده می شود.

تابع IF به شما این امکان را می دهد که یک مقدار را از یک لیست بر اساس شرایط انتخاب کنید. آرگومان اول آن مشخص می کند که هر سلول در محدوده B6:B18 برای کوچکترین مقدار عددی در کجا بررسی می شود: IFB6:B18=MINB6:B18. به این ترتیب آرایه ای در حافظه برنامه از بولین هادرست و نادرست. در مورد ما، 3 عنصر آرایه حاوی TRUE خواهند بود، زیرا حداقل مقدار 8 شامل 2 تکرار دیگر در ستون B6:B18 است.

گام بعدی این است که تعیین کنید کدام ردیف ها در محدوده حاوی حداقل مقدار هستند. ما به دلیل تعریف اولین کوچکترین مقدار به این نیاز داریم. این کار با استفاده از تابع LINE اجرا می شود، عناصر آرایه در حافظه برنامه را با شماره خطوط برگه پر می کند. اما ابتدا از تمام این اعداد، عدد از ردیف اول جدول کم می شود - B5، یعنی عدد 5. این کار به این دلیل انجام می شود که تابع INDEX با اعداد داخل جدول کار می کند، نه با اعداد کارگر. صفحه اکسل. در عین حال، تابع ROW فقط می تواند شماره خطوط برگه را برگرداند. برای اینکه افست به دست نیاید، باید ترتیب اعداد ورق و ردیف جدول را با تفریق تفاوت مقایسه کرد. به عنوان مثال، اگر جدول در ردیف 5 برگه باشد، هر سطر از جدول 5 کمتر از ردیف مربوط به برگه خواهد بود.

پس از انتخاب تمام مقادیر حداقل و تطبیق تمام شماره ردیف های جدول، تابع MIN کوچکترین شماره ردیف را انتخاب می کند. همان سطر حاوی اولین کوچکترین عددی است که در ستون B6:B18 وجود دارد. بر اساس این شماره خط، تابع INDEX مقدار مناسب را از جدول A6:A18 انتخاب می کند. در نتیجه، فرمول این مقدار را در سلول B3 به عنوان نتیجه محاسبه برمی گرداند.

نحوه انتخاب مقدار با بیشترین عدد در اکسل

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


اگر می خواهید شرایط فرمول را طوری تغییر دهید که در اکسل بتوانید حداکثر اول را اما کمتر از 70 انتخاب کنید:

!}

نحوه انتخاب اولین مقدار حداقل غیر از صفر در اکسل:


همانطور که به راحتی می بینید، این فرمول ها فقط در توابع MIN و MAX و آرگومان های آنها متفاوت هستند.

حالا هیچ چیز شما را محدود نمی کند. هنگامی که اصول عملکرد فرمول ها را در یک آرایه درک کردید، می توانید به راحتی آنها را برای بسیاری از شرایط تغییر دهید و به سرعت بسیاری از مسائل محاسباتی را حل کنید.

اکسل تابعی برای تعیین حداقل مقدار دارد. با این حال، یافتن حداقل مقدار بر اساس شرایط مشکل ساز است. یک تابع از افزونه می تواند با این کار کنار بیاید. =مینچسلی(شبیه به تابع استاندارد Excel SUMIF).

در نسخه اکسل 2016 و در بالا یک عملکرد داخلی وجود دارد MINESLIمی توانید از آن استفاده کنید. اگر اکسل شما یک نسخه قدیمی است، با نصب افزونه می توان از این تابع استفاده کرد VBA-Excel.

تابع دارای آرگومان های زیر است =مینسلی( RANGE;CRITERIA;[SEARCH_RANGE])

    دامنه- محدوده سلول های بررسی شده

  • معیار- شرطی در قالب یک عدد، عبارت یا متن که بررسی حداقل مقدار را مشخص می کند.
  • [ SEARCH_RANGE ]- محدوده واقعی برای تعیین حداقل مقدار. اگر این پارامتر مشخص نشده باشد، از سلول های مشخص شده توسط پارامتر استفاده می شود. دامنه.

مثال 1

به عنوان یک معیار، می توانید مقادیر و عبارات منطقی را مشخص کنید:

  1. مثال زیر را در نظر بگیرید که حداقل امتیاز را در ادبیات تعیین می کند. برای این، در پارامتر معیارمقدار "Literature" و پارامتر مشخص شده است دامنه- لیست اقلام.
  2. اگر یک عبارت منطقی را به عنوان معیار مشخص کنید "<>روسی"، سپس حداقل نمره در تمامی دروس به جز زبان روسی تعیین خواهد شد.

مثال 2

در مثال زیر، پارامتر SEARCH_RANGEتنظیم نشده است، بنابراین حداقل مقدار در بین سلول های مشخص شده در پارامتر تعیین می شود دامنه.

موارد خاص

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

برنامه (C#):

عمومی static int FactGen(int n) ( int fact = new int; fact = 1; for (int i = 1; i< n + 1; i++) fact[i] = i * fact; return fact; } public static int PermsGenerator(int arr, int num, int fact) { int i, j, f, newind, newnum, newval, size = arr.Length; int result = new int; Array.Copy(arr, result, size); for (i = 0, newnum = num; i < size - 1; i++) { newind = newnum / (f = fact); newnum = newnum - newind * f; newval = result; for (j = i + newind; j >من؛ j--) نتیجه[j] = نتیجه; نتیجه[i] = newval; ) نتیجه بازگشت؛ ) عمومی static int SumAbs(int arr) ( int sum = 0, prev = arr; foreach (int value in arr) ( sum += Math.Abs ​​(value - prev); prev = value; ) return sum; ) public static int MaxArr(int arr, bool detprn) ( int i, j, sum, smax = -1, size = arr.Length؛ int perm, result = new int, fact = FactGen(size), sorted = new int, empire = new int;Array.Copy(arr, sorted, size);Array.Sort(sorted);for (i = 0; i)< fact; i++) { if ((sum = SumAbs(perm = PermsGenerator(sorted, i, fact))) >smax) ( smax = مجموع؛ نتیجه = perm؛ ) if (detprn) (Console.Write("\nجایگشت: ")؛ foreach (مقدار int در perm) Console.Write(value + " ")؛ Console.Write(" Sum: (0) Max Sum: (1)", sum, smax؛ ) ) Console.Write("\nانتخاب اولیه:"); foreach (مقدار int در arr) Console.Write(value + " "); Console.Write("\nانتخاب مرتب شده: "); foreach (مقدار int در مرتب شده) Console.Write(value + " "); Console.Write("\nبهترین جایگشت:"); foreach (مقدار int در نتیجه) Console.Write(value + " "); Console.WriteLine("\nحداکثر مقدار: (0)", smax); امپراتوری = مرتب شده; امپراتوری = مرتب شده; امپراتوری = مرتب شده; برای (i = 2، j = 0؛ i< size - 1; i++, j = (size) - 1 + ((i + 1) & 1) - j) empire[i] = sorted[j]; Console.Write("Эвристический алгоритм: "); foreach (int value in empire) Console.Write(value + " "); Console.WriteLine("\nСумма: {0}", SumAbs(empire)); return result; } static void Main(string args) { bool binc; int i, j, n, nmax = 10; int arr; Random rand = new Random(); MaxArr(new int { 1, 2, 3, 4 }, false); MaxArr(new int { 1, 2, 3, 4, 5 }, false); for (n = 6; n < nmax + 1; n++) { arr = new int[n]; for (i = 0; i < n;) { arr[i] = rand.Next(1, 5 * n); binc = true; for (j = 0; j < i; j++) binc &= (arr[i] != arr[j]); if (binc) i++; } MaxArr(arr, false); } }

نتایج:

نمونه اولیه: 1 2 3 4 نمونه مرتب شده: 1 2 3 4 بهترین جایگشت: 2 4 1 3 حداکثر مجموع: 7 اکتشافی: 2 4 1 3 مجموع: 7 نمونه اولیه: 1 2 3 4 5 نمونه مرتب شده: 1 2 3 4 5 بهترین جایگشت: 2 4 1 5 3 حداکثر مجموع: 11 الگوریتم اکتشافی: 2 4 1 5 3 مجموع: 11 نمونه اصلی: 26 10 21 4 27 5 نمونه مرتب شده: 4 5 10 21 26 27 بهترین جایگشت: 10 27 26 حداکثر مجموع: 99 Heuristic: 10 26 4 27 5 21 Sum: 99 نمونه اصلی: 34 3 32 16 28 27 26 نمونه مرتب شده: 3 16 26 27 28 32 34 بهترین جایگشت: 26 28 3 7 342 : 26 28 3 34 16 32 27 مجموع: 97 نمونه اصلی: 27 3 34 38 18 29 31 39 نمونه مرتب شده: 3 18 27 29 31 34 38 39 بهترین جایگشت: 29 3 34 38 8 3 29 34 3 39 18 38 27 31 جمع: 128 نمونه اولیه: 40 27 4 9 32 35 41 39 2 نمونه مرتب شده: 2 4 9 27 32 35 39 40 41 بهترین جایگشت: 32 2 39 4 40 9 41 27 35 حداکثر مجموع: 223 الگوریتم اکتشافی: 27 35 2 41 4 40 9 39 32 مجموع: 221 نمونه اولیه: 41 35 18 34 4 2 24 25 27 33 34 35 41 45 بهترین جایگشت: 27 34 16 35 18 41 24 45 25 33 حداکثر مجموع: 150 اکتشافی: 27 34 16 45 18 41 24 335 Sum:

به این ترتیب:

  1. ترکیب بهتری برای آرایه اصلی پیدا شد.
  2. یک مثال متقابل برای الگوریتم اکتشافی بلافاصله یافت نشد.

تصمیم کلی (10.02.2018)

اجازه دهید
a = (a 0 = M 1، a 1 = M 2، ...، a n-2 = M n-1، a n-1 = M n) - دنباله اولیه،
b = (b 0 , b 1 , …, b n-2 , b n-1 ) - همان دنباله به ترتیب صعودی،
с = (c 0 , c 1 , …, c n-2 , c n-1 ) - دنباله مورد نیاز.

حالات زوج و فرد n را جداگانه در نظر بگیرید.

مورد n = 2k

S(a) = S c (a) - |a n-1 - a 0 |، که در آن
S c a) = |a 0 - a 1 | + |a 1 - a 2 | + … + |a n-3 - a n-2 | + |a n-2 - a n-1 | + |a n-1 - a 0 |.

S c (a) یک مجموع جبری است که هر عنصر اصلی a i را دو بار دارد و حداکثر مقدار آن برابر است با

S c_max = 2∑ i = 0، …، k-1 (h i - b i)، که در آن h i = b i+k، i = 0…k-1.

این مقدار در دو نوع جایگشت به دست می آید:
1) c 2i h (همه عناصر بزرگ دارای شاخص های زوج هستند).
2) c 2i + 1 h (همه عناصر بزرگ دارای شاخص های فرد هستند).

در همان زمان، حداقل |a n-1 - a 0 | = b k - b k-1 با قرار دادن یک جفت عنصر میانه در لبه های دنباله c به دست می آید.

حداکثر مجموع S برابر است با S max = 2∑ i = 0, …, k-2 (b i+k - b i) + b k-1 - b k یا

S max = 2∑ i = 0، …، k-2 (b n-1-i - b i) + b n-k - b k-1،

و در مواردی به دست می آید که دنباله c حاوی بزرگترین عناصر در یک الگوی شطرنجی باشد و عناصر وسط b k-1 و b k در لبه های دنباله باشند.
تعداد چنین جایگشت هایی برای a i به صورت جفتی 2(k-1) است! 2.

مورد n = 2k+1

یک ملاحظه مشابه نشان می دهد که حداکثر S برابر است با

S max = 2∑ i=0…k-2 (b k+2+i - b k) + b k+1 - b k-1 + max (b k+1 - b k , b k - b k-1) یا

S max = 2∑ i=0…k-2 (b n-1-i - b i) + b n-k - b k-1 + max (b k+1 - b k , b k - b k-1)،

و در مواردی حاصل می شود که عناصر با شاخص های بزرگتر از k به صورت پلکانی قرار می گیرند و عنصر میانه و نزدیک ترین عنصر به آن در لبه های دنباله قرار می گیرند.
تعداد این جایگشت ها برای i متمایز جفتی کمتر از (k-1)!k نیست! (اگر میانه با نزدیکترین همسایگان با همان مقدار متفاوت باشد، دو برابر جایگشت وجود دارد).

برنامه (C#):

خالی ثابت عمومی T (متن رشته، تایمر کرونومتر) ( TimeSpan ts = timer.Elapsed; string elapsedTime = String.Format("(0:00):(1:00):(2:00).(3:00) "، ts.Hours، ts.Minutes، ts.Seconds، ts.Milliseconds / 10)؛ Console.Write(text + elapsedTime)؛ ) public static int FactGen(int n) ( int fact = new int; fact = 1; برای (int i = 1; i< n + 1; i++) fact[i] = i * fact; return fact; } public static int PermsGenerator(int arr, int num, int fact) { int i, j, f, newind, newnum, newval, size = arr.Length; int result = new int; Array.Copy(arr, result, size); for (i = 0, newnum = num; i < size - 1; i++) { f = fact; newind = i; while (newnum >= f) ( newind++; newnum -= f; ) newval = نتیجه; برای (j = newind؛ j > i؛ j--) نتیجه[j] = نتیجه; نتیجه[i] = newval; ) نتیجه بازگشت؛ ) عمومی static int SumAbs(int arr) ( int sum = 0, prev = arr; foreach (int value in arr) ( sum += Math.Abs ​​(value - prev); prev = value; ) return sum; ) public static int CalcOptQuant (int n) ( int k = (n - 1) / 2, k2 = Math.Max(k-2, 0)؛ int fact = FactGen(k + 2)؛ بازگشت 2*fact[k] * ( (n-k-k< 2) ? fact : fact[k]); } public static int CalcMaxSum(int brr) { int i, size = brr.Length, k = size / 2, sum = 0; for (i = 0; i < k - 1; i++) sum += brr - brr[i]; sum = 2 * sum + brr - brr; if (size - 2 * k >0) sum += Math.Max(brr - brr[k], brr[k] - brr); بازگشتی ) عمومی static int MaxArr(int arr, bool detprn) ( int i, j, sum, smax = -1, size = arr.Length؛ int perm, result = new int, fact = FactGen(size), sorted = int جدید , empire = new int؛ Stopwatch sw = new Stopwatch(); Console.WriteLine("\nانتخاب اولیه: ")؛ foreach (مقدار int در arr) Console.Write(value + " ")؛ sw.Restart(); for (i = 0؛ i< fact; i++) { perm = PermsGenerator(arr, i, fact); sum = SumAbs(perm); if (sum >smax) ( smax = sum; result = perm; ) ) if (detprn) Console.Write("\nبهترین جایگشت ها"); برای (i = 0، j = 0؛ i< fact; i++) { perm = PermsGenerator(arr, i, fact); sum = SumAbs(perm); if (sum == smax) { j++; if (detprn) { Console.Write("\n#{0}: ", j); foreach (int value in perm) Console.Write(value + " "); } } } Array.Copy(arr, sorted, size); Array.Sort(sorted); Console.WriteLine("\nОтсортированная выборка: "); foreach (int value in sorted) Console.Write(value + " "); Console.Write("\nФакт Наибольшая сумма: {0} Лучших перестановок: {1}" + "\nРасчёт Наибольшая сумма: {2} Лучших перестановок, не менее: {3}", smax, j, CalcMaxSum(sorted), CalcOptQuant(size)); T("\nRuntime = ", sw); sw.Reset(); return result; } static void Main(string args) { bool binc; int i, j, n, nmax = 12; int arr = new int; Random rand = new Random(); MaxArr(new int { 0, 1, 2, 3, 4, 5 }, true); MaxArr(new int { 5, 1, 3, 5, 7, 9 }, true); MaxArr(new int { 0, 1, 2, 3, 4 }, true); MaxArr(new int { 0, 1, 2, 3 }, true); MaxArr(new int { 0, 1, 2 }, true); for (n = 3; n <= nmax; n++) { Array.Resize(ref arr, n); for (i = 0; i < n;) { arr[i] = rand.Next(10, 99); binc = true; for (j = 0; j < i; j++) binc &= (arr[i] != arr[j]); if (binc) i++; } MaxArr(arr, false); } }

نتایج:

نمونه اولیه: 0 1 2 3 4 5 بهترین جایگشت ها # 1: 2 4 0 5 1 3 #2: 2 4 1 5 0 3 #3: 2 5 0 4 1 3 #4: 2 5 1 4 0 3 #5: 3 0 4 1 5 2 #6: 3 0 5 1 4 2 #7: 3 1 4 0 5 2 #8: 3 1 5 0 4 2 نمونه مرتب شده: 0 1 2 3 4 5 واقعیت بالاترین مجموع: 17 بهترین جایگشت: 8 محاسبه بزرگترین مجموع: 17 بهترین جایگشت، دقیقه: 8 زمان اجرا = 00:00:00.01 نمونه اولیه: 5 1 3 5 7 9 بهترین جایگشت ها # 1: 5 1 7 3 9 5 #2: 5 1 9 3 7 5 # 3 : 5 3 7 1 9 5 #4: 5 3 9 1 7 5 #5: 5 7 1 9 3 5 #6: 5 7 3 9 1 5 #7: 5 9 1 7 3 5 #8: 5 9 3 7 1 5 #9: 5 1 7 3 9 5 #10: 5 1 9 3 7 5 #11: 5 3 7 1 9 5 #12: 5 3 9 1 7 5 #13: 5 7 1 9 3 5 #14 : 5 7 3 9 1 5 #15: 5 9 1 7 3 5 #16: 5 9 3 7 1 5 نمونه مرتب شده: 1 3 5 5 7 9 واقعیت بالاترین مجموع: 24 بهترین جایگشت: 16 محاسبه بیشترین مجموع: 24 بهترین جایگشت، حداقل: 8 زمان اجرا = 00:00:00.01 نمونه اولیه: 0 1 2 3 4 بهترین جایگشت ها # 1: 1 3 0 4 2 #2: 1 4 0 3 2 #3: 2 0 4 1 3 #4: 2 1 4 0 3 #5: 2 3 0 4 1 #6: 2 4 0 3 1 #7: 3 0 4 1 2 #8: 3 1 4 0 2 مرتب شده نمونه فعلی: 0 1 2 3 4 واقعیت بزرگترین جمع: 11 بهترین جایگشت: 8 محاسبه بزرگترین مجموع: 11 بهترین جایگشت، حداقل: 4 زمان اجرا = 00:00:00.01 نمونه اولیه: 0 1 2 3 بهترین جایگشت ها #1: 1 3 0 2 #2: 2 0 3 1 نمونه مرتب شده: 0 1 2 3 واقعیت بالاترین مجموع: 7 بهترین جایگشت: 2 محاسبه بیشترین مجموع: 7 بهترین جایگشت، حداقل: 2 زمان اجرا = 00:00:00.00 نمونه اولیه: 0 1 2 بهترین جایگشت ها #1: 0 2 1 #2: 1 0 2 #3: 1 2 0 #4: 2 0 1 نمونه مرتب شده: 0 1 2 کمتر از: 2 زمان اجرا = 00:00:00.01 نمونه اولیه: 25 51 87 مرتب شده نمونه: 25 51 87 Fact بالاترین مجموع: 98 بهترین جایگشت: 2 محاسبه بالاترین مجموع: 98 بهترین جایگشت، حداقل: 2 زمان اجرا = 00:00:00.00 نمونه اصلی: 78 10 34 64 نمونه مرتب شده: 10 34 64 78 Fact بالا : 166 بهترین جایگشت: 2 محاسبه بیشترین مجموع: 166 بهترین جایگشت، نه کمتر ee: 2 Runtime = 00:00:00.00 نمونه اصلی: 23 26 93 16 45 نمونه مرتب شده: 16 23 26 45 93 :00:00.00 نمونه اصلی: 85 12 11 13 90 88 1 نمونه مرتب شده 1208 12011 مجموع: 382 بهترین جایگشت: 8 محاسبه بالاترین مجموع: 382 بهترین جایگشت، حداقل: 8 زمان اجرا = 00:00:00.00 نمونه اولیه: 82 43 28 55 29 39 18 نمونه مرتب شده: 18 28 29 55 39 43 206 بهترین جایگشت: 24 محاسبه بالاترین مجموع: 206 بهترین جایگشت، حداقل: 24 زمان اجرا = 00:00:00. 00 نمونه اصلی: 64 20 43 89 47 94 52 71 نمونه مرتب شده: 20 43 47 52 64 71 89 94 00.02 نمونه اصلی: 45 53 81 17 76 97 26 50 517 17 26 50 517 17 00.23 نمونه اصلی: 55 51 36 12 82 63 89 58 14 22 نمونه مرتب شده: 12 14 22 36 51 55 58 63 82 89 زمان اجرا = 00:00:02.46 49 6 5 6 5 6 5 6 5 6 : 35 49 53 55 65 67 69 78 94 95 96 جایگشت، حداقل: 5760 زمان اجرا = 00:00:29.21 نمونه اولیه: 50 43 39 64 59 18 81 16 44 12 15 77 نمونه مرتب شده: 12 15 16 18 39 43 44 50 59 64 77 81

تجزیه و تحلیل نتایج

در تمام موارد در نظر گرفته شده، آزمایش به طور کامل راه حل کلی پیشنهادی را تایید کرد.

این صفحه گسترده تقریباً تمام محاسبات را انجام می دهد. برای حسابداری ایده آل است. برای محاسبات، ابزارهای ویژه - فرمول ها وجود دارد. آنها را می توان برای یک محدوده یا سلول های جداگانه اعمال کرد. برای یافتن حداقل یا حداکثر تعداد در یک گروه از سلول ها، لازم نیست خودتان به دنبال آنها باشید. برای این کار بهتر است از گزینه های ارائه شده استفاده کنید. همچنین فهمیدن نحوه محاسبه مقدار متوسط ​​در اکسل مفید خواهد بود.

این امر به ویژه در جداول با مقادیر زیاد داده صادق است. اگر ستون مثلاً نشان دهنده قیمت محصولات مرکز خرید باشد. و باید دریابید که کدام محصول ارزان ترین است. اگر آن را "دستی" جستجو کنید، زمان زیادی می برد. اما در اکسل، این کار را می توان تنها با چند کلیک انجام داد. ابزار همچنین میانگین حسابی را محاسبه می کند. از این گذشته، این دو عملیات ساده هستند: جمع و تقسیم.

حداکثر و حداقل

در اینجا نحوه یافتن حداکثر مقدار در اکسل آمده است:

  1. مکان نما سلول را در هر جایی قرار دهید.
  2. به منوی "Formulas" بروید.
  3. روی Insert Function کلیک کنید.
  4. "MAX" را از لیست انتخاب کنید. یا این کلمه را در قسمت «جستجو» بنویسید و روی «یافتن» کلیک کنید.
  5. در پنجره Arguments آدرس های محدوده ای را که می خواهید حداکثر مقدار آن را بدانید وارد کنید. در اکسل، نام سلول ها از یک حرف و یک عدد ("B1"، "F15"، "W34") تشکیل شده است. و نام محدوده اولین و آخرین سلولی است که در آن گنجانده شده است.
  6. به جای آدرس، می توانید چندین عدد بنویسید. سپس سیستم بزرگترین آنها را نشان خواهد داد.
  7. روی OK کلیک کنید. نتیجه در سلولی که مکان نما قرار داشت ظاهر می شود.

مرحله بعدی تعیین محدوده ای از مقادیر است

اکنون فهمیدن چگونگی یافتن حداقل مقدار در اکسل آسان تر خواهد بود. الگوریتم اقدامات کاملاً یکسان است. به سادگی به جای "MAX" "MIN" را انتخاب کنید.

میانگین

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

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

  1. مکان نما سلول را در هر فضای خالی در جدول قرار دهید.
  2. به تب "فرمول ها" بروید.
  3. روی "درج تابع" کلیک کنید.
  4. AVERAGE را انتخاب کنید.
  5. اگر این مورد در لیست نیست، با استفاده از گزینه "یافتن" آن را باز کنید.
  6. در قسمت Number1 آدرس محدوده را وارد کنید. یا در فیلدهای مختلف چندین عدد بنویسید «Number2»، «Number3».
  7. روی OK کلیک کنید. مقدار مورد نظر در سلول ظاهر می شود.

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

روش های دیگر

حداکثر، حداقل و میانگین را می توان به روش های دیگری یافت.

  1. نوار تابع با برچسب "Fx" را پیدا کنید. بالای منطقه کار اصلی میز است.
  2. مکان نما را در هر سلولی قرار دهید.
  3. یک آرگومان در قسمت "Fx" وارد کنید. با علامت مساوی شروع می شود. سپس فرمول و آدرس محدوده/سلول می آید.
  4. شما باید چیزی شبیه "=MAX(B8:B11)" (حداکثر)، "=MIN(F7:V11)" (حداقل)، "=AVERAGE(D14:W15)" (میانگین) دریافت کنید.
  5. روی "تیک" کنار فیلد تابع کلیک کنید. یا فقط Enter را فشار دهید. مقدار مورد نظر در سلول انتخاب شده ظاهر می شود.
  6. فرمول را می توان مستقیماً در خود سلول کپی کرد. اثر همان خواهد بود.

ابزار Excel "Autofunctions" به یافتن و محاسبه کمک می کند.

  1. مکان نما را در سلول قرار دهید.
  2. دکمه ای را پیدا کنید که نام آن با "Auto" شروع می شود. این بستگی به گزینه پیش فرض انتخاب شده در اکسل (AutoSum، AutoNumber، AutoOffset، AutoIndex) دارد.
  3. روی فلش سیاه زیر آن کلیک کنید.
  4. MIN (حداقل)، MAX (حداکثر)، یا AVERAGE (متوسط) را انتخاب کنید.
  5. فرمول در سلول مشخص شده ظاهر می شود. روی هر سلول دیگری کلیک کنید - به عملکرد اضافه می شود. جعبه را در اطراف آن بکشید تا محدوده را پوشش دهد. یا روی شبکه Ctrl کلیک کنید تا هر بار یک عنصر را انتخاب کنید.
  6. وقتی کارتان تمام شد، Enter را فشار دهید. نتیجه در یک سلول نمایش داده می شود.

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