Намерете минималната стойност на функция в excel. Изчисляване на минимални, максимални и средни стойности в Microsoft Excel

Създайте нов файл, като щракнете върху бутона Нов в лентата с инструменти за бърз достъп. Нека преименуваме Лист 1 на Анализ на разходите. Нека разработим таблица за анализ на инвестиционните разходи.

Фигура 23. Анализ на инвестиционните разходи

Упражнение: Изчислете колоната за разходите, като използвате формулата. За колоните Единична цена и Цена използвайте валутен формат.

В клетка F12 изчислете общите инвестиционни разходи. Това може да стане по 2 начина:

1 метод:

Активиране на клетка F12;

Въведете формулата в него: =F5+F6+F7+F8+F9+F10+F11 и натиснете Enter.

2 Метод с помощта на функцията:

Функция в MS Excel е формула, в която определени математически операции са заменени с имена на функции. Например, за да добавите множество стойности, използвайте функцията SUM.

Нека заменим обичайната формула в клетка F12 с формула, използваща SUM:

Упражнение: Определете максималната стойност на инвестиционните разходи. За това:

Активирайте клетката, в която искате да получите резултата (F13);

Отдясно на бутона Сума в групата Редактиране на раздела У домащракнете върху стрелката на падащото меню на функцията и изберете функцията Максимум(избира най-голямата стойност от избрания диапазон);

Формулата = MAX(F5:F11) ще се появи в клетка F13, но F12 трябва да бъде изключена от този диапазон. Поставете показалеца на мишката под формата на бял удебелен кръст върху средата на първата клетка в диапазона (F5), плъзнете селекцията до клетка F11;

Натиснете Enter.

Упражнение: Определете минималната и средната стойност на инвестиционните разходи.

функция Минимум (=MIN)– идентифицира най-малката стойност от диапазона;

функция Средна стойност (=AVERAGE)– изчисляване на средната стойност на диапазона, т.е. добавя всички елементи и дели на броя на елементите в диапазона на добавяне.

функция "Ако"

Ръководството на предприятието, след като разгледа анализа на инвестиционните разходи, реши този месец да плаща само за онези артикули, чиято цена е по-малка от 45 000 рубли.

Нека добавим колона „Плащане“ към таблицата, в която трябва да посочите:

Ако цената е повече от 45 000 рубли. – „Отлагане“;

Ако цената е по-малка от 45 000 рубли. - „В плащане“.

Активирайте клетка G5, отворете раздела Формули, Натисни бутона Вмъкване на функция.

В диалоговия прозорец изберете категория главоблъсканица, в списъка с функции – АКО.

Фигура 24. Функция IF

Разширете стойността, получена в клетка G5, до края на таблицата (до G11).

Използване на множество условия при използване на функцията IF

Отидете на втория лист от вашата работна книга и го преименувайте на Заплата. Въведете следната информация:

Фигура 25. Пример за изчисляване на бонус за обем на продажбите

Функцията IF се състои от следните елементи: име на функция, условие, стойности, ако условието е вярно, стойности, ако условието е невярно. Записът на функцията в клетката изглежда така:

Ако (условие; стойност, ако условията са верни; стойност, ако условията са неверни)

Нека разгледаме пример, когато има две условия: ако обемът на продажбите на служителя е повече от 50 000 рубли, тогава бонусът ще бъде 10% от обема на продажбите, в противен случай 5%.

Този запис ще изглежда така за нашия пример:

Фигура 26. Пример за изчисляване на бонус за обем продажби с едно условие

Нека разгледаме втория пример, когато бонусът към служителите за обемите на продажбите ще бъде изчислен, както следва:

Ако служител е продал стоки на стойност по-голяма или равна на 90 000 рубли, неговият бонус ще бъде 10% от обема на продажбите, ако количеството на продадените стоки е по-голямо или равно на 30 000 рубли, бонусът ще бъде 5% от обема на продажбите , ако сумата е по-малка от 30 000 рубли, бонусът ще бъде 3%.

Фигура 27. Пример за изчисляване на бонус за обем продажби с няколко условия

В този случай има няколко условия и записът на функцията ще изглежда така:

Условно форматиране

Условното форматиране ви позволява да дадете на клетка различни формати при различни условия. Например пълнене на клетки, чийто обем на продажбите надхвърля 30 000 рубли. трябва да е червено, по-малко от 30 000 рубли. – жълто.

Изберете диапазон C2:C5;

В раздела Дом вгрупа стилове щракнете върху бутона Условно форматиранеи изберете отбор Правила за избиране на клетки...Други правила.

Задайте формата, ако стойността на клетката е повече от 30 000, щракнете върху OK.

Фигура 28. Условно форматиране

Извършете същото действие и задайте формата за клетки със стойност под 30 000 рубли.

Опитайте командите: Хистограми, цветови скали и набори от икониот точка "Условно форматиране"

За да премахнете формата, който е бил приложен по време на условното форматиране, трябва да щракнете върху бутона Условно форматиране...Премахване на правила.

Изчисляване на плащането по кредита

Нека изчислим сумата на плащането по кредита с помощта на функцията PMT.

Отидете на лист 2 и го преименувайте на „Кредит“. Въведете първоначалните данни за изчислението. Моля, обърнете внимание, че клетка B2 показва годишната лихва по кредита. В клетка B5 има формула.

Фигура 29. Изчисляване на плащането по кредита

За да изчислите месечната вноска по кредита, трябва:

    Активирайте клетка B6;

    В раздела ФормулиНатисни бутона Вмъкване на функция. Изберете в категория Пълен азбучен списък, а по-долу намерете функцията PLT.

Фигура 30. Вмъкване на PMT функция

В полето Предложениепосочете месечната ставка, т.е. B2/B4;

В полето Nper– необходимо е да посочите общия брой периоди, т.е. AT 5;

В полето Ps (настояща стойност)– трябва да посочите исканата сума на кредита;

BC – паричен баланс, което трябва да бъде постигнато след последното плащане, в нашия случай е 0;

Тип– 0 – плащанията се извършват в края на периода, 1 – плащанията се извършват в началото на периода.

Резултатът, който получавате, трябва да има знак минус, т.к Това са плащания, а не касови бележки.

Абсолютно и относително адресиране

Отидете на лист 3 в работната книга и го наименувайте Консумация на вода. Въведете данните за отчитане на измервателния уред, като съставите таблица:

Фигура 31. Примерна таблица

внимание!Стойностите на разходите за m3 студена и топла вода трябва да бъдат поставени в клетки, отделно от текста, т.к те ще бъдат използвани във формули за изчисляване на дължимата сума.

Консумация на водасе изчислява като разликата между показанията на електромера за текущия и предходния месец:

Активирайте D9, въведете формулата: =B9-B8 и натиснете Enter.

Използвайте точката за автоматично попълване, за да изчислите консумацията на студена вода за оставащите месеци.

Изчислете по същия начин Консумация на топла вода.

Сума за плащанеза HB през януари се изчислява като произведение от количеството консумирана вода и цената на m 3. Формула за нашия пример:

    Активиране на клетка F9;

    Въведете формулата: =D9*E4 и натиснете Enter%

    Нека се опитаме да попълним формулата с помощта на точка за автоматично довършване:

Върнете се в клетка F9, преместете мишката в долния десен ъгъл на клетката, хванете показалеца на мишката под формата на черен кръст, задръжте левия бутон на мишката и плъзнете формулата до края на таблицата.

Фигура 32. Необходимостта от използване на абсолютно адресиране

Уверете се, че автоматичното довършване не работи, нека разберем защо:

Активирайте клетка F9, формулата трябва да се покаже в лентата за формули: =D9*E4;

Активирайте клетка F10. Excel, използвайки автоматично попълване, промени формулата и сега изчислява стойността на клетка F10 като =D10*E5. Тоест всички клетки, които се използват във формулата, когато формулата се копира с автоматично попълване надолу, също се изместват надолу. В нашия случай преместването надолу по колона D е необходимо, т.к за всеки месец има различна стойност на потреблението на вода, но не е необходимо движение по колона Е, т.к трябва да умножите по E4.

Решение:

    Върнете се в клетка F9, погледнете лентата с формули: =D9*E4.

    Във формулата трябва да намерите клетка, която не трябва да се променя при копиране. Това е E4.

    В лентата с формули поставете курсора във формулата между E и 4. След това натиснете клавиша F4 на клавиатурата, формулата ще изглежда като =D*$E$4. За Excel знаците $ означават замразяване на тази клетка или абсолютно адресиране; когато копирате тази формула с точка за автоматично попълване, тази клетка няма да се промени.

    Натиснете Enter, върнете се към клетка F9 и плъзнете надолу точката за автоматично попълване. Изберете клетка F10 - обърнете внимание на формулата.

Упражнение: Попълнете колоната Сума за плащане за GWизползвайки абсолютно адресиране и колона Общо дължимо– като сбор от колони F и G.

Запазете файла във вашата папка под името „Функции“.

СПЕЦИАЛНИ СЛУЧАИ

В специални случаи решението може да бъде получено чрез търсене във всички възможни комбинации.

Програма (C#):

Public 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 >i; j--) резултат [j] = резултат; резултат[i] = newval; ) върне резултат; ) public 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 = ново 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("\nPermutation: "); foreach (int стойност в perm) Console.Write(value + " "); Console.Write(" Сума: (0) Максимална сума: (1)", сума, smax); ) ) Console.Write("\nПървоначална селекция: "); foreach (int стойност в arr) Console.Write(стойност + " "); Console.Write("\nСортирана селекция: "); foreach (int стойност в сортирани) Console.Write(стойност + " "); Console.Write("\nНай-добра пермутация: "); foreach (int стойност в резултата) Console.Write(стойност + " "); 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 26 4 27 5 21 Максимална сума: 99 Евристичен алгоритъм: 10 26 4 27 5 21 Сума: 99 Оригинална извадка: 34 3 32 16 28 27 26 Сортирана извадка: 3 16 26 27 28 32 34 Най-добра пермутация: 26 28 3 32 16 34 27 Максимална сума: 97 Евристичен алгоритъм: 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 34 3 38 18 39 27 31 Максимум сума: 128 Евристичен алгоритъм: 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 45 27 34 33 18 24 16 25 Сортирана извадка: 16 18 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 35 25 33 Количество: 150

По този начин:

  1. Намерена е по-успешна комбинация за оригиналния масив.
  2. Контрапример за евристичния алгоритъм не беше открит веднага.

ОБЩО РЕШЕНИЕ (02/10/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, са в шахматен ред, а медианата и най-близкият до нея елемент са в краищата на редицата.
Броят на такива пермутации за различни по двойки a i е не по-малък от (k-1)!k! (ако медианата се различава от най-близките си съседи със същата стойност, тогава има два пъти повече пермутации).

ПРОГРАМА (C#):

Публичен статичен void T(текст на низ, таймер на хронометър) ( TimeSpan ts = timer.Elapsed; низ 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; ) върне резултат; ) public 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); return 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) сума += Math.Max(brr - brr[k], brr[k] - brr); върната сума; ) 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 за (i = 0; i< fact; i++) { perm = PermsGenerator(arr, i, fact); sum = SumAbs(perm); if (sum >smax) ( smax = сума; резултат = 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 Факт Най-голяма сума: 3 Най-добри пермутации: 4 Изчисление Най-голяма сума: 3 Най-добри пермутации, не по-малко: 2 Време на изпълнение = 00:00:00.01 Първоначална проба: 25 51 87 Сортирана извадка: 25 51 87 Факт Най-голяма сума: 98 Най-добри пермутации: 2 Изчисление Най-голяма сума: 98 Най-добри пермутации, не по-малко: 2 Време на изпълнение = 00:00:00.00 Първоначална извадка: 78 10 34 64 Сортирана извадка: 10 34 64 78 Факт Най-голяма сума: 166 Най-добри пермутации: 2 Изчисление Най-голяма сума: 166 Най-добри пермутации, не по-малко: 2 Време на изпълнение = 00:00:00.00 Оригинална извадка: 23 26 93 16 45 Сортирана извадка: 16 23 26 45 93 Факт Най-голяма сума: 195 Най-добри пермутации: 4 Изчисление Най-голяма сума: 195 Най-добри пермутации, не по-малко: 4 Време на изпълнение = 00:00:00.00 Първоначална извадка: 85 12 11 13 90 88 Сортирана извадка: 11 12 13 85 88 90 Факт Най-голяма сума: 382 Най-добри пермутации: 8 Изчисление Най-голяма сума: 382 Най-добри пермутации, не по-малко: 8 Време на изпълнение = 00:00:00.00 Оригинална извадка: 82 43 28 55 29 39 18 Сортирана извадка: 18 28 29 39 43 55 82 Факт Най-голяма сума: 206 Най-добри пермутации: 24 Изчисление Най-голяма сума : 206 Най-добри пермутации, не по-малко: 24 Време на изпълнение = 00:00:00. 00 Оригинална извадка: 64 20 43 89 47 94 52 71 Сортирана извадка: 20 43 47 52 64 71 89 94 Факт Най-голяма сума: 300 Най-добри пермутации: 72 Изчисление Най-голяма сума: 300 Най-добри пермутации, не по-малко: 72 Време на изпълнение = 00:00: 00.02 Оригинална извадка: 45 53 81 17 76 97 26 50 51 Сортирана извадка: 17 26 45 50 51 53 76 81 97 Факт Най-голяма сума: 337 Най-добри пермутации: 288 Изчисление Най-голяма сума: 337 Най-добри пермутации, не по-малко: 288 Време на изпълнение = 0 0: 00:00.23 Оригинална извадка: 55 51 36 12 82 63 89 58 14 22 Сортирана извадка: 12 14 22 36 51 55 58 63 82 89 Факт Най-голям общ брой: 420 Най-добри пермутации: 1152 Изчисление Най-висок общ брой: 420 Най-добри пермутации, не по-малко: 1 152 Време на изпълнение = 00:00:02.46 Оригинална извадка: 96 95 67 49 65 69 53 78 35 55 94 Сортирана извадка: 35 49 53 55 65 67 69 78 94 95 96 Факт Най-голяма сума: 348 Най-добри пермутации: 11520 Изчисление Най-голям сбор: 348 Най-доброто Пермутации, не по -малко от: 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 Факт най -голямо количество: 463 Най -добър пермутации : 28800 Изчисление Най-голямо количество: 463 Най-добри пермутации, не по-малко: 28800 Време на изпълнение = 00:06:26.81

АНАЛИЗ НА РЕЗУЛТАТИТЕ

Във всички разгледани случаи тестването напълно потвърди предложеното общо решение.

В процеса на изготвяне на различни видове класации или анализиране на показатели за успех е много удобно, ако маркирате най-добрия или най-лошия резултат в цвят. Как да подчертая максималната стойност в Excel с цвят? Това е мястото, където условното форматиране е полезно. Предимството на този подход е, че автоматичното маркиране на най-добрите/най-лошите индикатори остава работещо дори при добавяне или премахване на данни от таблицата.

Как да маркирате максималната стойност в Excel

Например вземете таблицата с разходите:

За да идентифицирате бързо най-високите и най-ниските разходи, направете следното:


В резултат на това маркирахме клетката с максимална цифрова стойност.

Как да изберете минимална стойност в Excel

За да маркирате минималната стойност в Excel, повторете цялата процедура, описана по-горе. Само че вместо функцията MAX трябва да има функция MIN. Тази функция ви позволява да изберете най-малката стойност в таблица на Excel. И вместо зелен цвят на запълване, изберете червено.


Трябва да има 2 правила за условно форматиране, приложени към един и същи диапазон. За да проверите, изберете инструмента: „НАЧАЛО“ - „Стилове“ - „Условно форматиране“ - „Управление на правила“


Крайният ефект от прилагането на две правила за условно форматиране за подчертаване на най-голямата и най-малката стойност в колона B (Разходи):

Принципът на действие и на двете правила е един и същ. Те се различават само по функциите =MAX() и =MIN(). Освен това аргументите на функцията са идентични. Първата функция =MAX() търси максималната стойност в неизменния диапазон с абсолютни препратки $B$2:$B$10. След функцията има оператор за сравнение с текущата клетка, която се променя, която има относителна препратка, започваща от B2. Правилото за условно форматиране гласи тази формула по следния начин: ако числото е най-голямото, маркирайте го в цвят. Веднага щом максималното число (върнато от функцията MAX) съвпадне със стойността на текущата клетка, формулата връща булевата стойност TRUE и форматът със съответния цвят на запълване се прилага незабавно. Правилото за интелигентно форматиране на колонни клетки работи и с функцията MIN.



Маркирайте трите най-малки стойности в един ред

В различни ситуации автоматичното маркиране на трите клетки с най-ниски стойности е полезно. Условното форматиране с подходящи формули върши чудесна работа за това. Примерна таблица с данни:

Нека усложним малко задачата. Клетката с най-ниска стойност трябва автоматично да има червен цвят на запълване. Следващата клетка с втората най-ниска стойност ще има оранжев цвят на запълване. И третата най-ниска стойност е жълта.

За да постигнете този ефект, изпълнете следните стъпки:


Трите най-малки стойности се маркират автоматично в различни цветове.

внимание! Ако разглежданият диапазон съдържа няколко еднакви минимални стойности, всички те ще бъдат маркирани в цвят.

По подобен начин можете да маркирате най-големите стойности в цвят. Просто сменете функцията SMALL на MAXIMUM във формулата. Например: =НАЙ-ГОЛЯМ($B$2:$B$9,3)=B2


Най-малка и най-голяма функция в Excel

Функцията =SMALL() търси следващата най-малка стойност в посочения диапазон (в първия аргумент). Опашката е посочена във втория аргумент на функцията. Тоест, ако посочим числото 3 във втория аргумент, тогава функцията връща третата най-малка стойност в дадения диапазон $B$2:$B$9. Ако резултатът от изчислението на функция е равен на текущата клетка, тогава към нея се присвоява съответният формат (цвят на запълване). Важно е да се отбележи, че във формулата за преглед на диапазон използваме абсолютни референтни адреси, а след оператора за сравнение =B2 използваме относителни, тъй като стойността на функцията се сравнява с всяка клетка от избрания диапазон. А функцията LARGE работи в обратна пропорция.

Полезен съвет! Ако не е необходимо да разделяте 3-те най-малки стойности в различни цветове, тогава не е необходимо да създавате 3 правила за условно форматиране за един и същи диапазон. Достатъчно е просто да промените малко формулата, като добавите само един операторен символ: =SMALL($B$2:$B$9;3)>=B2. Тоест по-голямо или равно на.


Всички описани методи са добри, защото когато промените стойностите в клетките, те пак ще работят автоматично.

Excel има функция за определяне на минималната стойност. Намирането на минималната стойност по условие обаче е проблематично. Функцията от добавката може да се справи с тази задача =MINSIF(подобно на стандартната функция SUMIF на Excel).

Във версия на Excel 2016 и отгоре има вградена функция МИНСЛИ, можете да го използвате. Ако вашият Excel е по-стара версия, тогава тази функция може да се използва чрез инсталиране на добавката VBA-Excel.

Функцията има следните аргументи =MINESLI(ДИАПАЗОН;КРИТЕРИИ;[ДИАПАЗОН_ТЪРСЕНЕ ])

    ОБХВАТ- Диапазон от клетки за проверка.

  • КРИТЕРИЙ- Условие в числов, изразен или текстов формат, което определя проверка на минимална стойност.
  • [SEARCH_RANGE]- Действителен диапазон за определяне на минималната стойност. Ако този параметър не е зададен, ще се използват клетките, зададени от параметъра ОБХВАТ.

Пример 1

Можете да посочите стойности и логически изрази като критерии:

  1. Разгледайте следния пример, който определя минималната оценка по литература. За да направите това, в параметъра КРИТЕРИЙпосочва се стойността "Литература" и параметърът ОБХВАТ- списък с елементи.
  2. Ако зададете логически израз като критерий "<>Руски", то минималната оценка ще се определя по всички предмети с изключение на руския език.

Пример 2

В следващия пример параметърът SEARCH_RANGEне е посочено, така че минималната стойност се определя сред клетките, посочени в параметъра ОБХВАТ.

Изходни данни
Изходните данни могат да бъдат всеки числов набор от данни, като хоризонтален или вертикален диапазон, двуизмерен масив или дори несъседни диапазони или индивидуално попълнени клетки. За удобство взех едномерен вертикален масив A1:A5

За да разрешите този проблем, можете да използвате или допълнителна колона с междинна формула, или една формула за масив

1. Решение с допълнителна колона

В B1 напишете формулата

АКО(A1<>0;A1;"")


и го копирайте в диапазона B2: B5. Тази междинна формула в допълнителната колона ще „премахне“ нули от оригиналните данни, като ги замени с празен низ ""

В C1 напишете формулата

Ще върне желания резултат - число 3

АКО(A1<>0;A1;"")


трябва да използвате формулата

АКО(A1>0;A1;"")


2. Решаване с формула за масив
За да разрешите този проблем, използвайте тази формула за масив:

МИН(АКО(A1:A5<>0;A1:A5))



Как работи:Това е частта от формулата A1: A5<>0 образува масив (ВЯРНО:ВЯРНО:НЕВЯРНО:ВЯРНО:ВЯРНО), след което с помощта на функцията IF() трансформираме масива в следното: (5:7:ЛЪЖА:ЛЪЖА:3). Тъй като функцията MIN()игнорира текст и логически стойности, тогава в крайна сметка получаваме желаното число - число 3

Ако има отрицателни числа в диапазона, тогава вместо формулата

МИН(АКО(A1:A5<>0;A1:A5))


трябва да използвате формулата

МИН(АКО(A1:A5>0;A1:A5))


3. Решение с проста формула
Използвайте тази формула:

МАЛКО(A1:A5;БРОЯЩО(A1:A5;0)+1)



Как работи: Използване на функцията COUNTIFпреброяваме броя на нулите в диапазона и като добавяме единица към това число, връщаме първото най-малко число, по-голямо от нула, използвайки функцията НАЙ-МАЛКО

Ако има отрицателни числа в диапазона, тогава вместо формулата