„Excel“ turi funkciją, leidžiančią nustatyti mažiausią reikšmę. Tačiau rasti mažiausią reikšmę pagal sąlygą yra sudėtinga. Papildinio funkcija gali susidoroti su šia užduotimi. =MINCESLI

(panašus į standartą Excel funkcijos SUMIF).

„Excel“ versijoje 2016 o aukščiau yra įmontuota funkcija MINESLI galite juo naudotis. Jei jūsų „Excel“ versija yra senesnė, šią funkciją galima naudoti įdiegus priedą VBA-Excel.

Funkcija turi šiuos argumentus =MINESLI( RANGE;KRITERIJAI;[SEARCH_RANGE])

    DIAPAZONAS- Patikrintų langelių diapazonas.

  • KRITERIJUS– Sąlyga skaičiaus, išraiškos arba teksto formatu, nurodanti minimalią reikšmę.
  • [ SEARCH_RANGE ]- Faktinis diapazonas, skirtas nustatyti mažiausią vertę. Jei šis parametras nenurodytas, bus naudojami parametro nurodyti langeliai. DIAPAZONAS.

1 pavyzdys

Kaip kriterijų galite nurodyti reikšmes ir logines išraiškas:

  1. Apsvarstykite šį pavyzdį, kuris nustato minimalų balą literatūroje. Tam parametre KRITERIJUS nurodoma reikšmė "Literatūra" ir parametras DIAPAZONAS- prekių sąrašas.
  2. Jei kaip kriterijų nurodysite loginę išraišką «<>rusų", tuomet bus nustatytas visų dalykų, išskyrus rusų kalbą, minimalus pažymys.

2 pavyzdys

Toliau pateiktame pavyzdyje parametras SEARCH_RANGE nenustatyta, todėl mažiausia reikšmė nustatoma tarp parametre nurodytų langelių DIAPAZONAS.

Jei teks dirbti su didelėmis lentelėmis, tikrai rasite pasikartojančių sumų, išsibarsčiusių po visą stulpelį. Tuo pačiu metu gali tekti pasirinkti duomenis iš lentelės su pirmąja mažiausia skaitine verte, kuri turi savo dublikatus. Mums reikia automatinio duomenų atrankos pagal sąlygas. Programoje „Excel“ šiam tikslui galite sėkmingai naudoti masyvo formulę.

Kaip pasirinkti „Excel“ pagal sąlygą

Norint nustatyti atitinkamą pirmojo mažiausio skaičiaus reikšmę, reikia pasirinkti iš lentelės pagal sąlygą. Tarkime, kad labiausiai norime sužinoti pirmuosius pigios prekės rinkoje iš šio kainoraščio:

Automatinis mėginių ėmimas įgyvendinamas pagal formulę, kurios struktūra bus tokia:

INDEX(duomenų_diapazonas_pasirinkimui, MIN(IF(diapazonas=MIN(diapazonas),ROW(diapazonas)-ROW(stulpelio_antraštė),"")))

Vietoje "data_range_for_selection" turėtumėte nurodyti verčių diapazoną A6:A18 pasirinkimui iš lentelės (pavyzdžiui, tekstui), iš kurio funkcija INDEX pasirinks vieną gautą reikšmę. Argumentas „diapazonas“ reiškia langelių plotą su skaitinėmis reikšmėmis, iš kurių reikia pasirinkti pirmąjį mažiausią skaičių. Antrosios funkcijos ROW argumente „column_header“ turite nurodyti langelio nuorodą su stulpelio antrašte, kurioje yra skaitinių reikšmių diapazonas.

Žinoma, ši formulė turėtų būti atlikta masyve. Todėl norėdami patvirtinti jo įvedimą, turėtumėte paspausti ne tik klavišą Enter, bet visą klavišų kombinaciją CTRL + SHIFT + Enter. Jei viskas bus padaryta teisingai, formulės juostoje atsiras garbanoti petnešos.

Atkreipkite dėmesį į žemiau esantį paveikslą, kuriame ši masyvo formulė buvo įvesta į langelį B3:

Atitinkamos reikšmės pasirinkimas su pirmuoju mažiausiu skaičiumi:


Naudodami šią formulę galėjome pasirinkti mažiausią skaičių, palyginti su skaičiais. Toliau išanalizuosime formulės principą ir žingsnis po žingsnio analizuosime visą visų skaičiavimų tvarką.



Kaip veikia atranka pagal sąlygas

INDEX funkcija čia vaidina pagrindinį vaidmenį. Jo nominali užduotis yra pasirinkti iš šaltinio lentelės (nurodyta pirmame argumente - A6:A18) reikšmes, atitinkančias tam tikrus skaičius. INDEX veikia pagal kriterijus, apibrėžtus antrajame (lentelės eilutės numeris) ir trečiame (lentelės stulpelio numeris) argumentuose. Kadangi mūsų šaltinio lentelėje A6:A18 yra tik 1 stulpelis, mes nenurodome trečiojo argumento funkcijoje INDEX.

Kelios skaičiavimo funkcijos naudojamos lentelės eilutės numeriui, esančiam prieš mažiausią skaičių gretimo diapazono B6:B18, apskaičiuoti ir naudoti jį kaip antrojo argumento reikšmę.

Funkcija IF leidžia pasirinkti reikšmę iš sąrašo pagal sąlygą. Pirmasis jo argumentas nurodo, kur kiekviename langelyje diapazone B6:B18 tikrinama mažiausia skaitinė reikšmė: IFB6:B18=MINB6:B18. Tokiu būdu programos atmintyje sukuriamas masyvas iš booleans TIESA ir NETEISINGA. Mūsų atveju 3 masyvo elementuose bus TRUE, nes minimalioje 8 reikšmėje yra dar 2 dublikatai stulpelyje B6:B18.

Kitas veiksmas – nustatyti, kuriose diapazono eilutėse yra kiekviena mažiausia reikšmė. Mums to reikia dėl pirmosios mažiausios reikšmės apibrėžimo. Ši užduotis įgyvendinama naudojant funkciją LINE, ji užpildo programos atmintyje esančius masyvo elementus lapo eilučių numeriais. Tačiau pirmiausia iš visų šių skaičių atimamas skaičius iš pirmosios lentelės eilutės – B5, tai yra skaičius 5. Taip daroma, nes funkcija INDEX veikia su skaičiais lentelės viduje, o ne su darbuotojo skaičiais. Excel lapas. Tuo pačiu metu funkcija ROW gali grąžinti tik lapo eilučių numerius. Kad negautume poslinkio, reikia palyginti lapo ir lentelės eilučių numerių eiliškumą, atimant skirtumą. Pavyzdžiui, jei lentelė yra 5-oje lapo eilutėje, tada kiekviena lentelės eilutė bus 5 mažesnė už atitinkamą lapo eilutę.

Pasirinkus visas minimalias reikšmes ir suderinus visus lentelės eilučių numerius, funkcija MIN parinks mažiausią eilutės numerį. Toje pačioje eilutėje bus pirmas mažiausias skaičius, esantis stulpelyje B6:B18. Remdamasi šiuo eilutės numeriu, funkcija INDEX pasirinks tinkamą reikšmę iš lentelės A6:A18. Dėl to formulė grąžina šią reikšmę langelyje B3 kaip skaičiavimo rezultatą.

Kaip „Excel“ pasirinkti didžiausio skaičiaus reikšmę

Supratę formulės principą, dabar galite lengvai ją modifikuoti ir pritaikyti prie kitų sąlygų. Pavyzdžiui, formulę galima modifikuoti, kad pasirinktumėte pirmąją maksimalią reikšmę „Excel“:


Jei reikia pakeisti formulės sąlygas, kad „Excel“ galėtumėte pasirinkti pirmąjį maksimalų skaičių, bet mažesnį nei 70:

!}

Kaip „Excel“ pasirinkti pirmąją mažiausią reikšmę, išskyrus nulį:


Kaip nesunkiai matote, šios formulės skiriasi tik funkcijomis MIN ir MAX bei jų argumentais.

Dabar jūsų niekas neriboja. Kai suprasite formulių veikimo principus masyve, galėsite lengvai jas modifikuoti pagal daugelį sąlygų ir greitai išspręsti daugybę skaičiavimo problemų.

„Excel“ turi funkciją, leidžiančią nustatyti mažiausią reikšmę. Tačiau rasti mažiausią reikšmę pagal sąlygą yra sudėtinga. Papildinio funkcija gali susidoroti su šia užduotimi. =MINCESLI(panašus į standartinę Excel SUMIF funkciją).

„Excel“ versijoje 2016 o aukščiau yra įmontuota funkcija MINESLI galite juo naudotis. Jei jūsų „Excel“ versija yra senesnė, šią funkciją galima naudoti įdiegus priedą VBA-Excel.

Funkcija turi šiuos argumentus =MINESLI( RANGE;KRITERIJAI;[SEARCH_RANGE])

    DIAPAZONAS- Patikrintų langelių diapazonas.

  • KRITERIJUS– Sąlyga skaičiaus, išraiškos arba teksto formatu, nurodanti minimalią reikšmę.
  • [ SEARCH_RANGE ]- Faktinis diapazonas, skirtas nustatyti mažiausią vertę. Jei šis parametras nenurodytas, bus naudojami parametro nurodyti langeliai. DIAPAZONAS.

1 pavyzdys

Kaip kriterijų galite nurodyti reikšmes ir logines išraiškas:

  1. Apsvarstykite šį pavyzdį, kuris nustato minimalų balą literatūroje. Tam parametre KRITERIJUS nurodoma reikšmė "Literatūra" ir parametras DIAPAZONAS- prekių sąrašas.
  2. Jei kaip kriterijų nurodysite loginę išraišką "<>rusų", tuomet bus nustatytas visų dalykų, išskyrus rusų kalbą, minimalus pažymys.

2 pavyzdys

Toliau pateiktame pavyzdyje parametras SEARCH_RANGE nenustatyta, todėl mažiausia reikšmė nustatoma tarp parametre nurodytų langelių DIAPAZONAS.

SPECIALIEJI ATVEJAI

Tam tikrais atvejais sprendimą galima gauti išvardijant visas galimas kombinacijas.

Programa (C#):

Viešas statinis int FactGen(int n) ( int fact = naujas int; faktas = 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--) rezultatas[j] = rezultatas; rezultatas[i] = newval; ) grąžinimo rezultatas; ) 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, suma, smax = -1, dydis = arr.Length; int perm, rezultatas = naujas int, faktas = FactGen(dydis), surūšiuotas = naujas int, imperija = naujas int;Masyvas.Kopija(arr, surūšiuotas, dydis);Masyvas.Rūšiuoti(rūšiuotas);for (i = 0; i< fact; i++) { if ((sum = SumAbs(perm = PermsGenerator(sorted, i, fact))) >smax) ( smax = suma; rezultatas = perm; ) if (detprn) ( Console.Write("\nPermutacija: "); foreach (int vertė perm) Console.Write(value + " "); Console.Write(" Suma: (0) Maksimali suma: (1)", suma, smax); ) ) Console.Write("\nPradinis pasirinkimas: "); foreach (int vertė arr) Console.Write(value + " "); Console.Write("\nRūšiuotas pasirinkimas: "); foreach (int reikšmė surūšiuota) Console.Write(value + " "); Console.Write("\nGeriausia permutacija: "); foreach (int reikšmė rezultate) Console.Write(value + " "); Console.WriteLine("\nMaksimalus kiekis: (0)", smax); imperija=surūšiuota; imperija=surūšiuota; imperija=surūšiuota; už (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); } }

Rezultatai:

Pradinis pavyzdys: 1 2 3 4 Surūšiuotas pavyzdys: 1 2 3 4 Geriausia permutacija: 2 4 1 3 Maksimali suma: 7 Euristika: 2 4 1 3 Suma: 7 Pradinis pavyzdys: 1 2 3 4 5 Rūšiuotas pavyzdys: 1 2 3 4 5 Geriausia permutacija: 2 4 1 5 3 Maksimali suma: 11 Euristinis algoritmas: 2 4 1 5 3 Suma: 11 Originalus pavyzdys: 26 10 21 4 27 5 Surūšiuotas pavyzdys: 4 5 10 21 26 27 Geriausia permutacija: 10 26 421 Maksimali suma: 99 Euristinė: 10 26 4 27 5 21 Suma: 99 Originalus pavyzdys: 34 3 32 16 28 27 26 Surūšiuotas pavyzdys: 3 16 26 27 28 32 34 Geriausia permutacija: 26 28 3 34:27 maks. : 26 28 3 34 16 32 27 Suma: 97 Originalus pavyzdys: 27 3 34 38 18 29 31 39 Surūšiuotas pavyzdys: 3 18 27 29 31 34 38 39 Geriausia permutacija: 29 34 8 3:139 maks. 29 34 3 39 18 38 27 31 Suma: 128 Pradinis pavyzdys: 40 27 4 9 32 35 41 39 2 Surūšiuotas pavyzdys: 2 4 9 27 32 35 39 40 41 Geriausia permutacija: 32 2 39 4 40 9 41 27 35 Didžiausia suma: 223 Euristinis algoritmas: 27 35 2 41 4 40 9 39 32 Suma: 221 Pradinis pavyzdys: 41 35 45 241 8 rūšiuotas pavyzdys 3 45 24 8 24 25 27 33 34 35 41 45 Geriausia permutacija: 27 34 16 35 18 41 24 45 25 33 Maksimali suma: 150 Euristika: 27 34 16 45 18 41 24 335 m: 5

Šiuo būdu:

  1. Buvo rastas geresnis originalaus masyvo derinys.
  2. Euristinio algoritmo priešingas pavyzdys nebuvo iš karto rastas.

BENDRASIS SPRENDIMAS (2018 02 10)

Leisti
a = (a 0 = M 1 , a 1 = M 2 , …, a n-2 = M n-1, a n-1 = M n ) - pradinė seka,
b = (b 0 , b 1 , …, b n-2 , b n-1 ) – ta pati seka didėjančia tvarka,
с = (c 0 , c 1 , …, c n-2 , c n-1 ) – reikalinga seka.

Atskirai apsvarstykite lyginio ir nelyginio n atvejus.

Atvejis n = 2k

S(a) = S c (a) - |a n-1 - a 0 |, kur
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) yra algebrinė suma, kurioje kiekvienas pradinis elementas a i yra du kartus, o didžiausia jo reikšmė lygi

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

Ši vertė pasiekiama dviem permutacijų variantais:
1) c 2i h (visi didžiausi elementai turi lyginius indeksus);
2) c 2i + 1 h (visi didžiausi elementai turi nelyginius indeksus).

Tuo pačiu metu mažiausias |a n-1 - a 0 | = b k - b k-1 pasiekiamas padėjus porą medianinių elementų sekos c kraštuose.

Didžiausia suma S yra lygi S max = 2∑ i = 0, …, k-2 (b i+k - b i) + b k-1 - b k , arba

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

ir pasiekiama tais atvejais, kai sekoje c yra didžiausi šaškių lentos elementai, o medianiniai elementai b k-1 ir b k yra sekos kraštuose.
Tokių permutacijų skaičius skirtingoms poroms a i yra 2(k-1)! 2.

Atvejis n = 2k+1

Panašus svarstymas rodo, kad S maksimumas yra lygus

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

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

ir pasiekiama tais atvejais, kai elementai, kurių indeksai yra didesni nei k, yra išdėstyti laipsniškai, o medianinis elementas ir arčiausiai jo esantis elementas yra sekos kraštuose.
Tokių permutacijų skaičius, kai skiriasi poros a i, yra ne mažesnis kaip (k-1)!k! (jei mediana nuo artimiausių kaimynų skiriasi ta pačia reikšme, tai permutacijų yra dvigubai daugiau).

PROGRAMA (C#):

Vieša statinė tuštuma T (eilutės tekstas, chronometro laikmatis) ( TimeSpan ts = laikmatis.Praėjo; eilutė praėjoLaikas = String.Format("(0:00):(1:00):(2:00).(3:00) ", ts.Hours, ts.Minutes, ts.Seconds, ts.Milliconds / 10); Console.Write(tekstas + praėjęs laikas); ) viešas statinis int FactGen(int n) ( int faktas = naujas int; faktas = 1; už (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 = rezultatas; už (j = newind; j > i; j--) rezultatas[j] = rezultatas; rezultatas[i] = newval; ) grąžinimo rezultatas; ) 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); grįžti 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) suma += Math.Max(brr - brr[k], brr[k] - brr); grąžinimo suma; ) public static int MaxArr(int arr, bool detprn) ( int i, j, suma, smax = -1, dydis = arr.Length; int perm, rezultatas = naujas int, faktas = FactGen(dydis), surūšiuotas = naujas int , empire = new int; Chronometras sw = naujas Chronometras(); Console.WriteLine("\nPradinis pasirinkimas: "); foreach (int vertė arr) Console.Write(value + " "); sw.Restart(); for (i = 0; i< fact; i++) { perm = PermsGenerator(arr, i, fact); sum = SumAbs(perm); if (sum >smax) ( smax = suma; rezultatas = perm; ) ) if (detprn) Console.Write("\nGeriausios permutacijos"); už (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); } }

REZULTATAI:

Pradinis pavyzdys: 0 1 2 3 4 5 Geriausios permutacijos #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 Surūšiuotas pavyzdys: 0 1 2 3 4 5 Faktas Didžiausia suma: 17 Geriausios permutacijos: 8 Skaičiavimas Didžiausia suma: 17 geriausios permutacijos, min.: 8 Vykdymo laikas = 00:00:00.01 Pradinis pavyzdys: 5 1 3 5 7 9 Geriausios permutacijos #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 Surūšiuotas pavyzdys: 1 3 5 5 7 9 Faktas Didžiausia suma: 24 Geriausios permutacijos: 16 Skaičiavimas Didžiausia suma: 24 Geriausios permutacijos , bent: 8 Vykdymo laikas = 00:00:00.01 Pradinis pavyzdys: 0 1 2 3 4 Geriausios permutacijos #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 surūšiuota Dabartinis pavyzdys: 0 1 2 3 4 Faktas Didžiausia suma: 11 geriausios permutacijos: 8 Skaičiavimas Didžiausia suma: 11 Geriausios permutacijos, mažiausiai: 4 Vykdymo laikas = 00:00:00.01 Pradinis pavyzdys: 0 1 2 3 Geriausios permutacijos #1: 1 3 0 2 #2: 2 0 3 1 Surūšiuotas pavyzdys: 0 1 2 3 Faktas Didžiausia suma: 7 Geriausios permutacijos: 2 Skaičiavimas Didžiausia suma: 7 Geriausios permutacijos, mažiausiai: 2 Vykdymo laikas = 00:00:00.00 Pradinis pavyzdys: 0 1 2 Geriausios permutacijos #1: 0 2 1 #2: 1 0 2 #3: 1 2 0 #4: 2 0 1 Surūšiuotas pavyzdys: 0 1 2 mažiau nei: 2 Vykdymo laikas = 00:00:00.01 Pradinis pavyzdys: 25 51 87 Rūšiuota pavyzdys: 25 51 87 Faktas Didžiausia suma: 98 Geriausios permutacijos: 2 Skaičiavimas Didžiausia suma: 98 Geriausios permutacijos, mažiausiai: 2 Vykdymo laikas = 00:00:00.00 Originalus pavyzdys: 78 10 34 64 Surūšiuotas pavyzdys: 10 34 64 didžiausias 78 Faktas : 166 Geriausios permutacijos: 2 Skaičiavimas Didžiausia suma: 166 Geriausios permutacijos, ne mažiau ee: 2 Vykdymo laikas = 00:00:00.00 Originalus pavyzdys: 23 26 93 16 45 Surūšiuotas pavyzdys: 16 23 26 45 93 :00:00.00 Originalus pavyzdys: 85 12 11 13 90 88 Rūšiuotas pavyzdys: Aukštas 8 13 8 1 Suma: 382 Geriausios permutacijos: 8 Skaičiavimas Didžiausia suma: 382 Geriausios permutacijos, mažiausiai: 8 Vykdymo laikas = 00:00:00.00 Pradinis pavyzdys: 82 43 28 55 29 39 18 Surūšiuotas pavyzdys: 18 28 29 39 823 didžiausias F5 206 Geriausios permutacijos: 24 Skaičiavimas Didžiausia suma: 206 Geriausios permutacijos, mažiausiai: 24 Vykdymo laikas = 00:00:00. 00 Originalus pavyzdys: 64 20 43 89 47 94 52 71 Surūšiuotas pavyzdys: 20 43 47 52 64 71 89 94 00.02 Originalus pavyzdys: 45 53 81 17 76 97 26 50 511 Rūšiuotas 5 7 26 50 511 5 7 6: 8 00.23 Originalus pavyzdys: 55 51 36 12 82 63 89 58 14 22 Surūšiuotas pavyzdys: 12 14 22 36 51 55 58 63 82 89 Vykdymo laikas = 00:00:02.46 Originalus pavyzdys: 67 5 6 9 5 3 5 5 8 5 : 35 49 53 55 65 67 69 78 94 95 96 permutacijos, mažiausiai: 5760 Vykdymo laikas = 00:00:29.21 Pradinis pavyzdys: 50 43 39 64 59 18 81 16 44 12 15 77 Išrūšiuotas pavyzdys: 12 15 16 18 39 43 44 50 59 64 77 81

REZULTATŲ ANALIZĖ

Visais svarstytais atvejais bandymai visiškai patvirtino siūlomą bendrą sprendimą.

Šioje skaičiuoklėje bus atlikti beveik visi skaičiavimai. Idealiai tinka buhalterinei apskaitai. Skaičiavimams atlikti yra specialūs įrankiai – formulės. Jie gali būti taikomi diapazonui arba atskiroms ląstelėms. Norint sužinoti minimalų ar maksimalų skaičių langelių grupėje, nebūtina patiems jų ieškoti. Geriau naudoti tam skirtas parinktis. Taip pat bus naudinga išsiaiškinti, kaip apskaičiuoti vidutinę reikšmę „Excel“.

Tai ypač pasakytina apie lenteles, kuriose yra daug duomenų. Jei stulpelyje, pavyzdžiui, nurodytos prekybos centro produktų kainos. Ir jūs turite išsiaiškinti, kuris produktas yra pigiausias. Jei ieškosite „rankiniu būdu“, tai užtruks daug laiko. Tačiau „Excel“ tai galima padaryti vos keliais paspaudimais. Naudingumas taip pat apskaičiuoja aritmetinį vidurkį. Juk tai dvi paprastos operacijos: sudėjimas ir padalijimas.

Maksimalus ir minimumas

Štai kaip „Excel“ rasti didžiausią reikšmę:

  1. Padėkite langelio žymeklį bet kur.
  2. Eikite į meniu „Formulės“.
  3. Spustelėkite Įterpti funkciją.
  4. Sąraše pasirinkite „MAX“. Arba įrašykite šį žodį laukelyje „Ieškoti“ ir spustelėkite „Rasti“.
  5. Argumentų lange įveskite diapazono, kurio didžiausią vertę norite žinoti, adresus. „Excel“ langelių pavadinimus sudaro raidė ir skaičius („B1“, „F15“, „W34“). Diapazono pavadinimas yra pirmosios ir paskutinės į jį įtrauktos ląstelės.
  6. Vietoj adreso galite parašyti kelis skaičius. Tada sistema parodys didžiausią iš jų.
  7. Spustelėkite Gerai. Rezultatas bus rodomas langelyje, kuriame buvo žymeklis.

Kitas žingsnis – nurodyti reikšmių diapazoną

Dabar bus lengviau išsiaiškinti, kaip „Excel“ rasti mažiausią reikšmę. Veiksmų algoritmas yra visiškai identiškas. Tiesiog pasirinkite „MIN“, o ne „MAX“.

Vidutinis

Aritmetinis vidurkis apskaičiuojamas taip: sudėkite visus skaičius iš aibės ir padalykite iš jų skaičiaus. Programoje Excel galite apskaičiuoti sumas, sužinoti, kiek langelių yra iš eilės ir pan. Bet tai per sudėtinga ir ilga. Turėsite naudoti daugybę skirtingų funkcijų. Turėkite omenyje informaciją. Ar net ką nors užsirašykite ant popieriaus lapo. Tačiau algoritmą galima supaprastinti.

Štai kaip „Excel“ rasti vidurkį:

  1. Padėkite langelio žymeklį į bet kurią laisvą lentelės vietą.
  2. Eikite į skirtuką „Formulės“.
  3. Spustelėkite „Įterpti funkciją“.
  4. Pasirinkite AVERAGE.
  5. Jei šio elemento sąraše nėra, atidarykite jį naudodami parinktį „Rasti“.
  6. Srityje Number1 įveskite diapazono adresą. Arba įrašykite kelis skaičius skirtinguose laukuose „Skaičius2“, „Skaičius3“.
  7. Spustelėkite Gerai. Norima reikšmė bus rodoma langelyje.

Taigi galite atlikti skaičiavimus ne tik su pozicijomis lentelėje, bet ir su savavališkais rinkiniais. Iš tikrųjų „Excel“ atlieka pažangaus skaičiuotuvo vaidmenį.

kiti metodai

Maksimumą, minimumą ir vidurkį galima rasti kitais būdais.

  1. Raskite funkcijų juostą, pažymėtą „Fx“. Jis yra virš pagrindinės stalo darbo zonos.
  2. Perkelkite žymeklį į bet kurį langelį.
  3. Įveskite argumentą lauke „Fx“. Jis prasideda lygybės ženklu. Tada ateina formulė ir diapazono / langelio adresas.
  4. Turėtumėte gauti kažką panašaus į "=MAX(B8:B11)" (maksimalus), "=MIN(F7:V11)" (minimalus), "= AVERAGE(D14:W15)" (vidurkis).
  5. Spustelėkite „varnelę“ šalia funkcijos lauko. Arba tiesiog paspauskite Enter. Norima reikšmė bus rodoma pasirinktame langelyje.
  6. Formulę galima nukopijuoti tiesiai į pačią langelį. Poveikis bus toks pat.

Rasti ir apskaičiuoti padės Excel įrankis „Autofunctions“.

  1. Įveskite žymeklį į langelį.
  2. Raskite mygtuką, kurio pavadinimas prasideda „Auto“. Tai priklauso nuo numatytosios „Excel“ parinkties („AutoSum“, „AutoNumber“, „AutoOffset“, „AutoIndex“).
  3. Spustelėkite po juo esančią juodą rodyklę.
  4. Pasirinkite MIN (minimalus), MAX (maksimalus) arba AVERAGE (vidurkis).
  5. Formulė atsiras pažymėtame langelyje. Spustelėkite bet kurį kitą langelį - jis bus įtrauktas į funkciją. „Vilkite“ aplink jį esantį langelį, kad apimtumėte diapazoną. Arba paspauskite Ctrl spustelėdami tinklelį, kad pasirinktumėte vieną elementą vienu metu.
  6. Baigę paspauskite Enter. Rezultatas bus rodomas langelyje.

Programoje „Excel“ apskaičiuoti vidurkį yra gana paprasta. Nereikia pridėti ir tada dalinti sumos. Tam yra atskira funkcija. Taip pat rinkinyje galite rasti minimumą ir maksimumą. Tai daug lengviau nei skaičiuoti ranka arba ieškoti skaičių didžiulėje skaičiuoklėje. Todėl Excel yra populiari daugelyje veiklos sričių, kur reikalingas tikslumas: versle, audite, personalo dokumentų tvarkyme, finansuose, prekyboje, matematikoje, fizikoje, astronomijoje, ekonomikoje, moksle.