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])
- 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.
ROZSAH- Rozsah kontrolovaných buniek.
Príklad 1
Ako kritérium môžete zadať hodnoty a logické výrazy:
- 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.
- 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])
- 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.
ROZSAH- Rozsah kontrolovaných buniek.
Príklad 1
Ako kritérium môžete zadať hodnoty a logické výrazy:
- 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.
- 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:
- Pre pôvodné pole sa našla lepšia kombinácia.
- 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:
- Umiestnite kurzor bunky kdekoľvek.
- Prejdite do ponuky "Vzorce".
- Kliknite na položku Vložiť funkciu.
- Zo zoznamu vyberte "MAX". Alebo napíšte toto slovo do poľa „Hľadať“ a kliknite na „Nájsť“.
- 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é.
- Namiesto adresy môžete napísať niekoľko čísel. Potom systém zobrazí najväčšie z nich.
- 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:
- Umiestnite kurzor bunky na ľubovoľné voľné miesto v tabuľke.
- Prejdite na kartu "Vzorce".
- Kliknite na "Vložiť funkciu".
- Vyberte PRIEMER.
- Ak táto položka nie je v zozname, otvorte ju pomocou možnosti "Nájsť".
- Do oblasti Číslo1 zadajte adresu rozsahu. Alebo napíšte niekoľko čísel do rôznych polí "Číslo2", "Číslo3".
- 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.
- Nájdite panel funkcií označený ako "Fx". Nachádza sa nad hlavnou pracovnou oblasťou stola.
- Umiestnite kurzor do ľubovoľnej bunky.
- Zadajte argument do poľa "Fx". Začína sa znakom rovnosti. Potom nasleduje vzorec a adresa rozsahu/bunky.
- Mali by ste dostať niečo ako "=MAX(B8:B11)" (maximum), "=MIN(F7:V11)" (minimum), "=AVERAGE(D14:W15)" (priemer).
- Kliknite na "zaškrtnutie" vedľa poľa funkcie. Alebo jednoducho stlačte Enter. Požadovaná hodnota sa zobrazí vo vybranej bunke.
- Vzorec je možné skopírovať priamo do samotnej bunky. Účinok bude rovnaký.
Nástroj Excel "Autofunctions" pomôže nájsť a vypočítať.
- Umiestnite kurzor do bunky.
- 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).
- Kliknite na čiernu šípku pod ňou.
- Vyberte MIN (minimum), MAX (maximum) alebo AVERAGE (priemer).
- 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.
- 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.