Excel má funkciu na určenie minimálnej hodnoty. Nájsť minimálnu hodnotu podľa podmienok je však problematické. S touto úlohou sa dokáže vyrovnať funkcia z doplnku. =MINCESLI

(podobne ako štandard Excel funkcie SUMIF).

Vo verzii Excel 2016 a vyššie je vstavaná funkcia MINESLI môžete ho použiť. Ak máte staršiu verziu Excelu, môžete túto funkciu použiť inštaláciou doplnku VBA-Excel.

Funkcia má nasledujúce argumenty =MINESLI( RANGE;CRITERIA;[SEARCH_RANGE])

    ROZSAH- Rozsah kontrolovaných buniek.

  • KRITÉRIUM- Podmienka vo formáte čísla, výrazu alebo textu, ktorá určuje kontrolu minimálnej hodnoty.
  • [ SEARCH_RANGE ]- Skutočný rozsah na určenie minimálnej hodnoty. Ak tento parameter nie je zadaný, použijú sa bunky špecifikované parametrom. ROZSAH.

Príklad 1

Ako kritérium môžete zadať hodnoty a logické výrazy:

  1. Zvážte nasledujúci príklad, ktorý určuje minimálne skóre v literatúre. Za týmto účelom v parametri KRITÉRIUM je špecifikovaná hodnota "Literatúra" a parameter ROZSAH- zoznam položiek.
  2. Ak zadáte ako kritérium logický výraz «<>ruský", potom sa určí minimálna známka zo všetkých predmetov okrem ruského jazyka.

Príklad 2

V nasledujúcom príklade parameter SEARCH_RANGE nie je nastavená, takže minimálna hodnota je určená medzi bunkami špecifikovanými v parametri ROZSAH.

Ak musíte pracovať s veľkými tabuľkami, určite nájdete duplicitné sumy roztrúsené po celom stĺpci. Zároveň možno budete musieť vybrať údaje z tabuľky s prvou najmenšou číselnou hodnotou, ktorá má svoje vlastné duplikáty. Potrebujeme automatický výber údajov podľa podmienky. V Exceli môžete na tento účel úspešne použiť vzorec poľa.

Ako urobiť výber v Exceli podľa podmienky

Na určenie zodpovedajúcej hodnoty pre prvé najmenšie číslo je potrebný výber z tabuľky podľa podmienky. Predpokladajme, že to chceme vedieť najviac lacný tovar na trhu z tohto cenníka:

Automatické vzorkovanie je implementované vzorcom, ktorý bude mať nasledujúcu štruktúru:

INDEX(rozsah_údajov pre_výber, MIN(AK(rozsah=MIN(rozsah),RIADOK(rozsah)-RIADOK(hlavička_stĺpca),"")))

Na mieste "rozsah_údajov_pre_výber" by ste mali zadať rozsah hodnôt A6:A18 pre výber z tabuľky (napríklad text), z ktorého funkcia INDEX vyberie jednu výslednú hodnotu. Argument "rozsah" znamená oblasť buniek s číselnými hodnotami, z ktorých by sa malo vybrať prvé najmenšie číslo. V argumente "column_header" pre druhú funkciu ROW musíte zadať odkaz na bunku s hlavičkou stĺpca, ktorá obsahuje rozsah číselných hodnôt.

Prirodzene, tento vzorec by sa mal vykonávať v poli. Preto na potvrdenie jeho zadania by ste mali stlačiť nielen kláves Enter, ale celú kombináciu kláves CTRL + SHIFT + Enter. Ak je všetko vykonané správne, v riadku vzorcov sa zobrazia zložené zátvorky.

Venujte pozornosť obrázku nižšie, kde bol tento vzorec v poli zadaný do bunky B3:

Výber zodpovedajúcej hodnoty s prvým najmenším číslom:


Pomocou tohto vzorca sme mohli zvoliť minimálnu hodnotu vzhľadom na čísla. Ďalej budeme analyzovať princíp vzorca a krok za krokom analyzovať celé poradie všetkých výpočtov.



Ako funguje výber podľa podmienok

Kľúčovú úlohu tu zohráva funkcia INDEX. Jeho nominálnou úlohou je vybrať zo zdrojovej tabuľky (špecifikovanej v prvom argumente - A6:A18) hodnoty zodpovedajúce určitým číslam. INDEX funguje podľa kritérií definovaných v druhom (číslo riadku v tabuľke) a treťom (číslo stĺpca v tabuľke) argumente. Keďže naša zdrojová tabuľka A6:A18 má iba 1 stĺpec, neuvádzame tretí argument vo funkcii INDEX.

Na výpočet čísla riadka tabuľky oproti najmenšiemu číslu v susednom rozsahu B6:B18 sa používa niekoľko výpočtových funkcií a používa sa ako hodnota pre druhý argument.

Funkcia IF vám umožňuje vybrať hodnotu zo zoznamu podľa podmienok. Jeho prvý argument určuje, kde sa v každej bunke v rozsahu B6:B18 kontroluje najmenšia číselná hodnota: IFB6:B18=MINB6:B18. Týmto spôsobom sa vytvorí pole v pamäti programu z boolovské hodnoty PRAVDA a NEPRAVDA. V našom prípade budú 3 prvky poľa obsahovať TRUE, keďže minimálna hodnota 8 obsahuje 2 ďalšie duplikáty v stĺpci B6:B18.

Ďalším krokom je určiť, ktoré riadky v rozsahu obsahujú jednotlivé minimálne hodnoty. Potrebujeme to kvôli definícii prvej najmenšej hodnoty. Táto úloha je realizovaná pomocou funkcie LINE, vypĺňa prvky poľa v pamäti programu číslami riadkov listu. Najprv sa však od všetkých týchto čísel odpočíta číslo oproti prvému riadku tabuľky - B5, teda číslo 5. Deje sa tak preto, lebo funkcia INDEX pracuje s číslami vo vnútri tabuľky, a nie s číslami pracovníkov. strana v Exceli. Funkcia ROW zároveň dokáže vrátiť iba čísla riadkov hárku. Aby nedošlo k posunu, je potrebné porovnať poradie čísel hárkov a riadkov tabuľky odčítaním rozdielu. Napríklad, ak je tabuľka na 5. riadku hárka, potom bude každý riadok tabuľky o 5 menší ako zodpovedajúci riadok hárka.

Po výbere všetkých minimálnych hodnôt a priradení čísiel všetkých riadkov tabuľky funkcia MIN vyberie najmenšie číslo riadku. Rovnaký riadok bude obsahovať prvé najmenšie číslo, ktoré sa vyskytuje v stĺpci B6:B18. Na základe tohto čísla riadku funkcia INDEX vyberie príslušnú hodnotu z tabuľky A6:A18. Výsledkom je, že vzorec vráti túto hodnotu v bunke B3 ako výsledok výpočtu.

Ako vybrať hodnotu s najväčším číslom v Exceli

Po pochopení princípu vzorca ho teraz môžete ľahko upraviť a prispôsobiť iným podmienkam. Vzorec je napríklad možné upraviť tak, aby sa v Exceli vybrala prvá maximálna hodnota:


Ak potrebujete zmeniť podmienky vzorca tak, aby ste v Exceli mohli vybrať prvé maximum, ale menej ako 70:

!}

Ako vybrať prvú minimálnu hodnotu inú ako nulu v Exceli:


Ako môžete ľahko vidieť, tieto vzorce sa líšia iba funkciami MIN a MAX a ich argumentmi.

Teraz vás už nič neobmedzuje. Keď pochopíte princípy fungovania vzorcov v poli, môžete ich ľahko upraviť pre mnohé podmienky a rýchlo vyriešiť mnoho výpočtových problémov.

Excel má funkciu na určenie minimálnej hodnoty. Nájsť minimálnu hodnotu podľa podmienok je však problematické. S touto úlohou sa dokáže vyrovnať funkcia z doplnku. =MINCESLI(podobne ako štandardná funkcia Excel SUMIF).

Vo verzii Excel 2016 a vyššie je vstavaná funkcia MINESLI môžete ho použiť. Ak máte staršiu verziu Excelu, môžete túto funkciu použiť inštaláciou doplnku VBA-Excel.

Funkcia má nasledujúce argumenty =MINESLI( RANGE;CRITERIA;[SEARCH_RANGE])

    ROZSAH- Rozsah kontrolovaných buniek.

  • KRITÉRIUM- Podmienka vo formáte čísla, výrazu alebo textu, ktorá určuje kontrolu minimálnej hodnoty.
  • [ SEARCH_RANGE ]- Skutočný rozsah na určenie minimálnej hodnoty. Ak tento parameter nie je zadaný, použijú sa bunky špecifikované parametrom. ROZSAH.

Príklad 1

Ako kritérium môžete zadať hodnoty a logické výrazy:

  1. Zvážte nasledujúci príklad, ktorý určuje minimálne skóre v literatúre. Za týmto účelom v parametri KRITÉRIUM je špecifikovaná hodnota "Literatúra" a parameter ROZSAH- zoznam položiek.
  2. Ak zadáte ako kritérium logický výraz "<>ruský", potom sa určí minimálna známka zo všetkých predmetov okrem ruského jazyka.

Príklad 2

V nasledujúcom príklade parameter SEARCH_RANGE nie je nastavená, takže minimálna hodnota je určená medzi bunkami špecifikovanými v parametri ROZSAH.

ŠPECIÁLNE PRÍPADY

V konkrétnych prípadoch je možné riešenie získať vymenovaním všetkých možných kombinácií.

Program (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--) vysledok[j] = vysledok; vysledok[i] = newval; ) vrátiť výsledok; ) public static int SumAbs(int arr) ( int sum = 0, prev = arr; foreach (int value v arr) ( sum += Math.Abs(value - prev); prev = value; ) return sum; ) public static int MaxArr(int arr, bool detprn) ( int i, j, suma, smax = -1, veľkosť = 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 = súčet; výsledok = perm; ) if (detprn) ( Console.Write("\nPermutácia: "); foreach (hodnota int v perm) Console.Write(hodnota + " "); Console.Write(" Súčet: (0) Max. súčet: (1)", súčet, smax); ) ) Console.Write("\nPočiatočný výber: "); foreach (hodnota int v arr) Console.Write(value + " "); Console.Write("\nZoradený výber: "); foreach (hodnota int v zoradenom) Console.Write(value + " "); Console.Write("\nNajlepšia permutácia: "); foreach (hodnota int vo výsledku) Console.Write(value + " "); Console.WriteLine("\nMaximálne množstvo: (0)", smax); impérium=triedené; impérium=triedené; impérium=triedené; pre (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); } }

Výsledky:

Počiatočná vzorka: 1 2 3 4 Triedená vzorka: 1 2 3 4 Najlepšia permutácia: 2 4 1 3 Maximálny súčet: 7 Heuristika: 2 4 1 3 Súčet: 7 Počiatočná vzorka: 1 2 3 4 5 Triedená vzorka: 1 2 3 4 5 Najlepšia permutácia: 2 4 1 5 3 Maximálny súčet: 11 Heuristický algoritmus: 2 4 1 5 3 Súčet: 11 Pôvodná vzorka: 26 10 21 4 27 5 Zoradená vzorka: 4 5 10 21 26 27 Najlepšia permutácia: 4 21 26 Max. súčet: 99 Heuristika: 10 26 4 27 5 21 Suma: 99 Pôvodná vzorka: 34 3 32 16 28 27 26 Zoradená vzorka: 3 16 26 27 28 32 34 Najlepšia permutácia: 26 28 7 3 342 Max. : 26 28 3 34 16 32 27 Suma: 97 Pôvodná vzorka: 27 3 34 38 18 29 31 39 Zoradená vzorka: 3 18 27 29 31 34 38 39 Najlepšia permutácia: 29 3 81 Maximálne: 29 381 Sumistická 3 29 34 3 39 18 38 27 31 Súčet: 128 Počiatočná vzorka: 40 27 4 9 32 35 41 39 2 Triedená vzorka: 2 4 9 27 32 35 39 40 41 Najlepšia permutácia: 32 2 39 4 40 9 41 27 35 Maximálny súčet: 223 Heuristický algoritmus: 27 35 2 41 4 40 9 39 32 Súčet: 221 Počiatočná vzorka: 41 35 42 33 18 38 24 25 27 33 34 35 41 45 Najlepšia permutácia: 27 34 16 35 18 41 24 45 25 33 Max. súčet: 150 Heuristika: 27 34 16 45 18 41 24 335 Su 25

Touto cestou:

  1. Pre pôvodné pole sa našla lepšia kombinácia.
  2. Protipríklad pre heuristický algoritmus nebol okamžite nájdený.

VŠEOBECNÉ ROZHODNUTIE (10.02.2018)

Nechaj
a = (a0 = M1, a1 = M2, …, an-2 = Mn-1, an-1 = Mn) - počiatočná sekvencia,
b = (b 0 , b 1 , …, b n-2, b n-1 ) - rovnaká postupnosť vo vzostupnom poradí,
с = (c 0, c 1, …, c n-2, c n-1 ) - požadovaná sekvencia.

Zvážte oddelene prípady párneho a nepárneho n.

Prípad n = 2k

S(a) = S c (a) - |a n-1 - a 0 |, kde
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) je algebraický súčet, ktorý obsahuje každý pôvodný prvok a i dvakrát a jeho maximálna hodnota sa rovná

S c_max = 2∑ i = 0, …, k-1 (hi - b i), kde h i = b i+k, i = 0…k-1.

Táto hodnota sa dosahuje v dvoch variantoch permutácií:
1) c 2i h (všetky najväčšie prvky majú párne indexy);
2) c 2i + 1 h (všetky najväčšie prvky majú nepárne indexy).

Zároveň je minimálne |a n-1 - a 0 | = b k - b k-1 sa dosiahne umiestnením dvojice mediánových prvkov na okraje postupnosti c.

Maximálny súčet S sa rovná S max = 2∑ i = 0, …, k-2 (b i+k - b i) + b k-1 - b k, príp.

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

a dosiahne sa v tých prípadoch, keď sekvencia c obsahuje najväčšie prvky v šachovnicovom vzore a stredové prvky bk-1 a bk sú na okrajoch sekvencie.
Počet takýchto permutácií pre párovo odlišné a i je 2(k-1)! 2.

Prípad n = 2k+1

Podobná úvaha ukazuje, že maximum S sa rovná

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), alebo

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),

a dosiahne sa v tých prípadoch, keď sú prvky s indexmi väčšími ako k posunuté a stredný prvok a prvok, ktorý je k nemu najbližšie, sú na okrajoch postupnosti.
Počet takýchto permutácií pre párovo odlišné a i nie je menší ako (k-1)!k! (ak sa medián líši od najbližších susedov o rovnakú hodnotu, potom existuje dvakrát toľko permutácií).

PROGRAM (C#):

Verejné statické void T(text reťazca, časovač stopiek) ( 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; pre (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 = výsledok; for (j = newind; j > i; j--) vysledok[j] = vysledok; vysledok[i] = newval; ) vrátiť výsledok; ) public static int SumAbs(int arr) ( int sum = 0, prev = arr; foreach (int value v 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) súčet += Math.Max(brr - brr[k], brr[k] - brr); návratnosť; ) public static int MaxArr(int arr, bool detprn) ( int i, j, suma, smax = -1, veľkosť = arr.Length; int perm, result = new int, fact = FactGen(size), sorted = new int , impérium = new int; Stopky sw = nové stopky(); Console.WriteLine("\nPočiatočný výber: "); foreach (hodnota int v arr) Console.Write(hodnota + " "); sw.Restart(); pre (i = 0; i< fact; i++) { perm = PermsGenerator(arr, i, fact); sum = SumAbs(perm); if (sum >smax) ( smax = súčet; výsledok = perm; ) ) if (detprn) Console.Write("\nNajlepšie permutácie"); pre (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); } }

VÝSLEDKY:

Počiatočná vzorka: 0 1 2 3 4 5 Najlepšie permutácie #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 Zoradená vzorka: 0 1 2 3 4 5 Fakt Najvyšší súčet: 17 Najlepšie permutácie: 8 Výpočet Najväčší súčet: 17 Najlepšie permutácie, min: 8 Doba chodu = 00:00:00,01 Počiatočná vzorka: 5 1 3 5 7 9 Najlepšie permutácie #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 Zoradená vzorka: 1 3 5 5 7 9 Fakt Najvyšší súčet: 24 Najlepšie permutácie: 16 Výpočet Najvyšší súčet: 24 Najlepšie permutácie , aspoň: 8 Runtime = 00:00:00.01 Počiatočná vzorka: 0 1 2 3 4 Najlepšie permutácie #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 zoradené Aktuálna vzorka: 0 1 2 3 4 Fakt Najväčší súčet: 11 Najlepšie permutácie: 8 Výpočet Najväčší súčet: 11 Najlepšie permutácie, najmenej: 4 Runtime = 00:00:00.01 Počiatočná vzorka: 0 1 2 3 Najlepšie permutácie #1: 1 3 0 2 #2: 2 0 3 1 Triedená vzorka: 0 1 2 3 Fakt Najvyšší súčet: 7 Najlepšie permutácie: 2 Výpočet Najvyšší súčet: 7 Najlepšie permutácie, najmenej: 2 Doba chodu = 00:00:00.00 Počiatočná vzorka: 0 1 2 Najlepšie permutácie #1: 0 2 1 #2: 1 0 2 #3: 1 2 0 #4: 2 0 1 Zoradená vzorka: 0 1 2 menej ako: 2 Doba chodu = 00:00:00,01 Počiatočná vzorka: 25 51 87 Zoradené vzorka: 25 51 87 Skutočnosť Najvyšší súčet: 98 Najlepšie permutácie: 2 Výpočet Najvyšší súčet: 98 Najlepšie permutácie, najmenej: 2 Doba chodu = 00:00:00,00 Pôvodná vzorka: 78 10 34 64 Zoradená vzorka: 10 34 64 Najvyšší súčet 78 Fakt : 166 Najlepšie permutácie: 2 Výpočet Najvyšší súčet: 166 Najlepšie permutácie, nie menej ee: 2 Doba spustenia = 00:00:00,00 Pôvodná vzorka: 23 26 93 16 45 Zoradená vzorka: 16 23 26 45 93 :00:00,00 Pôvodná vzorka: 85 12 11 13 90 88 Triedené 3 2 Ukážka: Aktuálne Súčet: 382 Najlepšie permutácie: 8 Výpočet Najvyšší súčet: 382 Najlepšie permutácie, aspoň: 8 Runtime = 00:00:00,00 Počiatočná vzorka: 82 43 28 55 29 39 18 Zoradená vzorka: 18 28 39 55 82 Najvyšší súčet: 39 Najvyšší súčet 206 Najlepšie permutácie: 24 Výpočet Najvyšší súčet: 206 Najlepšie permutácie, najmenej: 24 Runtime = 00:00:00. 00 Pôvodná vzorka: 64 20 43 89 47 94 52 71 Vytriedená vzorka: 20 43 47 52 64 71 89 94 00,02 Pôvodná vzorka: 45 53 81 17 76 97 26 50 07 51 Vytriedená 5 51 Vytriedená vzorka: 7 00,23 Pôvodná vzorka: 55 51 36 12 82 63 89 58 14 22 Triedená vzorka: 12 14 22 36 51 55 58 63 82 89 Doba chodu = 00:00:02,46 7 Pôvodná vzorka 95 56 93 : 35 49 53 55 65 67 69 78 94 95 96 permutácií, najmenej: 5760 Runtime = 00:00:29.21 Počiatočná vzorka: 50 43 39 64 59 18 81 16 44 12 15 77 Triedená vzorka: 12 15 16 18 39 43 44 50 59 64 77 81

ANALÝZA VÝSLEDKOV

Vo všetkých uvažovaných prípadoch testovanie plne potvrdilo navrhované všeobecné riešenie.

Táto tabuľka zvládne takmer všetky výpočty. Je ideálny pre účtovníctvo. Na výpočty existujú špeciálne nástroje - vzorce. Môžu byť aplikované na rozsah alebo na jednotlivé bunky. Ak chcete zistiť minimálny alebo maximálny počet v skupine buniek, nie je potrebné ich hľadať sami. Je lepšie použiť na to poskytnuté možnosti. Bude tiež užitočné zistiť, ako vypočítať priemernú hodnotu v programe Excel.

To platí najmä v tabuľkách s veľkým množstvom údajov. Ak stĺpec napríklad uvádza ceny produktov nákupného centra. A musíte zistiť, ktorý produkt je najlacnejší. Ak to budete hľadať „ručne“, zaberie vám to veľa času. Ale v Exceli to možno urobiť len niekoľkými kliknutiami. Nástroj tiež vypočíta aritmetický priemer. Koniec koncov, ide o dve jednoduché operácie: sčítanie a delenie.

Maximum a minimum

Tu je návod, ako nájsť maximálnu hodnotu v Exceli:

  1. Umiestnite kurzor bunky kdekoľvek.
  2. Prejdite do ponuky "Vzorce".
  3. Kliknite na položku Vložiť funkciu.
  4. Zo zoznamu vyberte "MAX". Alebo napíšte toto slovo do poľa „Hľadať“ a kliknite na „Nájsť“.
  5. V okne Argumenty zadajte adresy rozsahu, ktorého maximálnu hodnotu chcete poznať. V Exceli sa názvy buniek skladajú z písmena a čísla ("B1", "F15", "W34"). A názov rozsahu je prvá a posledná bunka, ktoré sú v ňom zahrnuté.
  6. Namiesto adresy môžete napísať niekoľko čísel. Potom systém zobrazí najväčšie z nich.
  7. Kliknite na tlačidlo OK. Výsledok sa zobrazí v bunke, kde bol kurzor.

Ďalším krokom je špecifikácia rozsahu hodnôt

Teraz bude jednoduchšie zistiť, ako nájsť minimálnu hodnotu v Exceli. Algoritmus akcií je úplne identický. Jednoducho zvoľte "MIN" namiesto "MAX".

Priemerná

Aritmetický priemer sa vypočíta takto: spočítajte všetky čísla z množiny a vydeľte ich počtom. V Exceli môžete počítať súčty, zistiť, koľko buniek je v rade atď. Ale je to príliš zložité a dlhé. Budete musieť použiť veľa rôznych funkcií. Majte na pamäti informácie. Alebo si dokonca niečo napíšte na papier. Algoritmus sa však dá zjednodušiť.

Tu je návod, ako nájsť priemer v Exceli:

  1. Umiestnite kurzor bunky na ľubovoľné voľné miesto v tabuľke.
  2. Prejdite na kartu "Vzorce".
  3. Kliknite na "Vložiť funkciu".
  4. Vyberte PRIEMER.
  5. Ak táto položka nie je v zozname, otvorte ju pomocou možnosti "Nájsť".
  6. Do oblasti Číslo1 zadajte adresu rozsahu. Alebo napíšte niekoľko čísel do rôznych polí "Číslo2", "Číslo3".
  7. Kliknite na tlačidlo OK. Požadovaná hodnota sa zobrazí v bunke.

Môžete tak vykonávať výpočty nielen s pozíciami v tabuľke, ale aj s ľubovoľnými sadami. Excel v skutočnosti zohráva úlohu pokročilej kalkulačky.

iné metódy

Maximum, minimum a priemer sa dá nájsť aj inak.

  1. Nájdite panel funkcií označený ako "Fx". Nachádza sa nad hlavnou pracovnou oblasťou stola.
  2. Umiestnite kurzor do ľubovoľnej bunky.
  3. Zadajte argument do poľa "Fx". Začína sa znakom rovnosti. Potom nasleduje vzorec a adresa rozsahu/bunky.
  4. Mali by ste dostať niečo ako "=MAX(B8:B11)" (maximum), "=MIN(F7:V11)" (minimum), "=AVERAGE(D14:W15)" (priemer).
  5. Kliknite na "zaškrtnutie" vedľa poľa funkcie. Alebo jednoducho stlačte Enter. Požadovaná hodnota sa zobrazí vo vybranej bunke.
  6. Vzorec je možné skopírovať priamo do samotnej bunky. Účinok bude rovnaký.

Nástroj Excel "Autofunctions" pomôže nájsť a vypočítať.

  1. Umiestnite kurzor do bunky.
  2. Nájdite tlačidlo, ktorého názov začína na „Auto“. Závisí to od predvolenej možnosti vybratej v programe Excel (Automatický súčet, Automatické číslo, AutoOffset, AutoIndex).
  3. Kliknite na čiernu šípku pod ňou.
  4. Vyberte MIN (minimum), MAX (maximum) alebo AVERAGE (priemer).
  5. Vzorec sa zobrazí v označenej bunke. Kliknite na ľubovoľnú inú bunku – pridá sa do funkcie. "Pretiahnite" rámček okolo neho, aby ste pokryli rozsah. Alebo kliknite na mriežku so stlačeným klávesom Ctrl a vyberte jeden prvok naraz.
  6. Keď skončíte, stlačte kláves Enter. Výsledok sa zobrazí v bunke.

V Exceli je výpočet priemeru pomerne jednoduchý. Nie je potrebné pridávať a potom rozdeliť množstvo. Na to existuje samostatná funkcia. Minimum a maximum nájdete aj v súprave. Je to oveľa jednoduchšie ako počítať ručne alebo hľadať čísla v obrovskej tabuľke. Excel je preto obľúbený v mnohých oblastiach činnosti, kde sa vyžaduje presnosť: obchod, audit, správa osobných záznamov, financie, obchod, matematika, fyzika, astronómia, ekonómia, veda.