Excel-ը գտնում է նվազագույն արժեքը պայմանով: Առավելագույնը և նվազագույնը ըստ պայմանի MS EXCEL-ում: Ինչպես է աշխատում ըստ պայմանի ընտրությունը

ՀԱՏՈՒԿ ԴԵՊՔԵՐ

Առանձին դեպքերում լուծումը կարելի է ստանալ բոլոր հնարավոր համակցությունների թվարկումով։

Ծրագիր (C#):

Հանրային ստատիկ int FactGen(int n) ( int fact = նոր int; փաստ = 1; for (int i = 1; i< n + 1; i++) fact[i] = i * fact; return fact; } public static int PermsGenerator(int arr, int num, int fact) { int i, j, f, newind, newnum, newval, size = arr.Length; int result = new int; Array.Copy(arr, result, size); for (i = 0, newnum = num; i < size - 1; i++) { newind = newnum / (f = fact); newnum = newnum - newind * f; newval = result; for (j = i + newind; j >ես; ժ--) արդյունք[j] = արդյունք; արդյունք[i] = newval; ) վերադարձի արդյունքը. ) հանրային ստատիկ int SumAbs(int arr) ( int sum = 0, prev = arr; foreach (int արժեքը arr-ում) (sum += Math.Abs(արժեք - նախորդ); prev = արժեք; ) վերադարձի գումար; ) հանրային ստատիկ int MaxArr(int arr, bool detprn) ( int i, j, sum, smax = -1, չափ = arr. Length; int perm, result = new int, fact = FactGen(size), տեսակավորված = new int, empire = նոր int;Array.Copy(arr, տեսակավորված, չափ);Array.Sort(տեսակավորված);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(արժեք + ""); 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 274 Առավելագույն գումարը՝ 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 7ur 342: 26 28 3 34 16 32 27 Գումար՝ 97 Բնօրինակ նմուշ՝ 27 3 34 38 18 29 31 39 Տեսակավորված նմուշ՝ 3 18 27 29 31 34 38 39 Լավագույն փոխակերպում՝ 29 3 34 38 3 29 34 3 39 18 38 27 31 Գումար՝ 128 Բնօրինակ նմուշ՝ 40 27 4 9 32 35 41 39 2 Տեսակավորված նմուշ՝ 2 4 9 27 32 35 39 40 41 Լավագույն փոխարկում՝ 32 41 243: 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 314 243 41 24 45 25 33 Առավելագույն գումարը՝ 150 Էվրիստիկ՝ 27 34 16 45 18 41 24 35 25 33 Գումարը՝ 150

Այսպիսով.

  1. Ավելի լավ համակցություն է հայտնաբերվել սկզբնական զանգվածի համար:
  2. Էվրիստիկական ալգորիթմի հակաօրինակը անմիջապես չի գտնվել:

ԸՆԴՀԱՆՈՒՐ ՈՐՈՇՈՒՄ (10.02.2018թ.)

Թող
a = (a 0 = M 1, a 1 = M 2, ..., a n-2 = M n-1, a n-1 = M n) - սկզբնական հաջորդականություն,
b = (b 0, b 1, …, b n-2, b n-1) - նույն հաջորդականությունը աճման կարգով,
с = (c 0 , c 1 , ..., c n-2 , c n-1 ) - պահանջվող հաջորդականություն:

Առանձին դիտարկենք զույգ և կենտ n-ի դեպքերը:

Գործ n = 2k

S(a) = S c (a) - |a n-1 - a 0 |, որտեղ
Ս գ ա) = |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 ժ (բոլոր ամենամեծ տարրերն ունեն կենտ ինդեքսներ):

Միաժամանակ նվազագույն |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#):

Հանրային ստատիկ դատարկ T (լարային տեքստ, վայրկյանաչափի ժամանակաչափ) ( TimeSpan ts = timer.Elapsed; string elapsedTime = String.Format("(0:00):(1:00):(2:00).(3:00) ", ts.Hours, ts. Minutes, ts.Seconds, ts.Milliseconds / 10); Console.Write(text + elapsedTime); ) public static int FactGen(int n) (int fact = new int; fact = 1; համար (int i = 1; i< n + 1; i++) fact[i] = i * fact; return fact; } public static int PermsGenerator(int arr, int num, int fact) { int i, j, f, newind, newnum, newval, size = arr.Length; int result = new int; Array.Copy(arr, result, size); for (i = 0, newnum = num; i < size - 1; i++) { f = fact; newind = i; while (newnum >= f) ( newind++; newnum -= f; ) newval = արդյունք; համար (j = newind; j > i; j--) արդյունք[j] = արդյունք; արդյունք[i] = newval; ) վերադարձի արդյունքը. ) հանրային ստատիկ int SumAbs(int arr) ( int sum = 0, prev = arr; foreach (int արժեքը arr-ում) (sum += Math.Abs(արժեք - նախորդ); prev = արժեք; ) վերադարձի գումար; ) հանրային ստատիկ int CalcOptQuant (int n) ( int k = (n - 1) / 2, k2 = Math.Max(k-2, 0); int fact = FactGen(k + 2); վերադարձ 2*փաստ[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); վերադարձի գումար; ) հանրային ստատիկ int MaxArr (int arr, bool detprn) ( int i, j, sum, smax = -1, չափ = arr. Length; int perm, result = new int, fact = FactGen(size), sorted = new int , կայսրություն = նոր int; վայրկյանաչափ sw = նոր վայրկյանաչափ(); Console.WriteLine("\nՍկզբնական ընտրություն՝ "); foreach (int արժեքը arr-ում) Console.Write(արժեք + ""); sw.Restart(); համար (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 Հաշվարկ Ամենաբարձր գումարը. առնվազն՝ 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 3 4 ակտ Ամենաբարձր գումարը՝ 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 Ամենաբարձր հաշվարկներ: գումար՝ 382 Լավագույն փոխարկումներ, առնվազն՝ 8 Գործողության ժամանակ = 00:00:00.00 Սկզբնական նմուշ՝ 82 43 28 55 29 39 18 Տեսակավորված նմուշ՝ 18 28 29 39 43 55 82 Փաստ Ամենաբարձր մուտացիա՝ 206 Լավագույն 4 հաշվարկ: գումար՝ 206 Լավագույն փոխարկումներ, առնվազն՝ 24 Runtime = 00:00:00: 00 Օրիգինալ նմուշ՝ 64 20 43 89 47 94 52 71 Տեսակավորված նմուշ՝ 20 43 47 52 64 71 89 94 00.02 օրիգինալ նմուշ՝ 45 53 81 17 76 97 26 50 517 26 50 515 20 50 515 00.23 Օրիգինալ նմուշ՝ 55 51 36 12 82 63 89 58 14 22 Տեսակավորված նմուշ՝ 12 14 22 36 51 55 58 63 82 89 Աշխատաժամանակ = 00:00:02.46 4935595946 495 569 49 56 59 59 59 5 6 5 5 6 35 49 53 55 65 67 69 78 94 95 96 փոխարկումներ, առնվազն՝ 5760 Գործողության ժամանակ = 00:00:29.21 Նախնական նմուշ՝ 50 43 39 64 59 18 81 16 211541 18 81 16 215 471: 50 59 64 77 81 Փաստ Ամենամեծ գումարը՝ 463 Լավագույն փոխարկումներ՝ 28800 Հաշվարկ Ամենամեծ գումարը՝ 463 Լավագույն փոխարկումներ, րոպե՝ 28800 Գործողության ժամանակ = 00:06:26.81

ԱՐԴՅՈՒՆՔՆԵՐԻ ՎԵՐԼՈՒԾՈՒԹՅՈՒՆ

Բոլոր դիտարկված դեպքերում թեստավորումը լիովին հաստատեց առաջարկվող ընդհանուր լուծումը:

Excel-ն ունի նվազագույն արժեքը որոշելու գործառույթ: Այնուամենայնիվ, ըստ պայմանի նվազագույն արժեքը գտնելը խնդրահարույց է: Հավելվածի գործառույթը կարող է հաղթահարել այս խնդիրը: =ՄԻՆՉԵՍԼԻ

(նման է ստանդարտ Excel SUMIF ֆունկցիային):

Excel տարբերակով 2016 իսկ վերեւում կա ներկառուցված ֆունկցիա ՄԻՆԵՍԼԻդուք կարող եք օգտագործել այն: Եթե ​​ձեր Excel-ը ավելի հին տարբերակ է, ապա այս գործառույթը կարող է օգտագործվել՝ տեղադրելով հավելումը VBA-Excel.

Ֆունկցիան ունի հետևյալ արգումենտները =ՄԻՆԵՍԼԻ( RANGE;Չափանիշներ;[SEARCH_RANGE])

    ՇՐՋԱՆԱԿ- Ստուգված բջիջների շրջանակ:

  • ՉԱՓԱՆԻՇ- Թվի, արտահայտության կամ տեքստի ձևաչափով պայման, որը սահմանում է նվազագույն արժեքի ստուգումը:
  • [SEARCH_RANGE]- Փաստացի միջակայք՝ նվազագույն արժեքը որոշելու համար: Եթե ​​այս պարամետրը նշված չէ, ապա կօգտագործվեն պարամետրով նշված բջիջները: ՇՐՋԱՆԱԿ.

Օրինակ 1

Որպես չափանիշ կարող եք նշել արժեքներ և տրամաբանական արտահայտություններ.

  1. Դիտարկենք հետևյալ օրինակը, որը որոշում է գրականության նվազագույն միավորը։ Դրա համար պարամետրում ՉԱՓԱՆԻՇնշված է «Գրականություն» արժեքը, իսկ պարամետրը ՇՐՋԱՆԱԿ- իրերի ցանկը.
  2. Եթե ​​որպես չափանիշ նշեք տրամաբանական արտահայտություն «<>ռուսերեն», ապա կորոշվի նվազագույն գնահատականը բոլոր առարկաներից բացի ռուսաց լեզվից։

Օրինակ 2

Հետևյալ օրինակում պարամետրը SEARCH_RANGEսահմանված չէ, ուստի նվազագույն արժեքը որոշվում է պարամետրում նշված բջիջների միջև ՇՐՋԱՆԱԿ.

Excel-ն ունի նվազագույն արժեքը որոշելու գործառույթ: Այնուամենայնիվ, ըստ պայմանի նվազագույն արժեքը գտնելը խնդրահարույց է: Հավելվածի գործառույթը կարող է հաղթահարել այս խնդիրը: =ՄԻՆՉԵՍԼԻ(նման է ստանդարտ Excel SUMIF ֆունկցիային):

Excel տարբերակով 2016 իսկ վերեւում կա ներկառուցված ֆունկցիա ՄԻՆԵՍԼԻդուք կարող եք օգտագործել այն: Եթե ​​ձեր Excel-ը ավելի հին տարբերակ է, ապա այս գործառույթը կարող է օգտագործվել՝ տեղադրելով հավելումը VBA-Excel.

Ֆունկցիան ունի հետևյալ արգումենտները =ՄԻՆԵՍԼԻ( RANGE;Չափանիշներ;[SEARCH_RANGE])

    ՇՐՋԱՆԱԿ- Ստուգված բջիջների շրջանակ:

  • ՉԱՓԱՆԻՇ- Թվի, արտահայտության կամ տեքստի ձևաչափով պայման, որը սահմանում է նվազագույն արժեքի ստուգումը:
  • [SEARCH_RANGE]- Փաստացի միջակայք՝ նվազագույն արժեքը որոշելու համար: Եթե ​​այս պարամետրը նշված չէ, ապա կօգտագործվեն պարամետրով նշված բջիջները: ՇՐՋԱՆԱԿ.

Օրինակ 1

Որպես չափանիշ կարող եք նշել արժեքներ և տրամաբանական արտահայտություններ.

  1. Դիտարկենք հետևյալ օրինակը, որը որոշում է գրականության նվազագույն միավորը։ Դրա համար պարամետրում ՉԱՓԱՆԻՇնշված է «Գրականություն» արժեքը, իսկ պարամետրը ՇՐՋԱՆԱԿ- իրերի ցանկը.
  2. Եթե ​​որպես չափանիշ նշեք տրամաբանական արտահայտություն "<>ռուսերեն», ապա կորոշվի նվազագույն գնահատականը բոլոր առարկաներից բացի ռուսաց լեզվից։

Օրինակ 2

Հետևյալ օրինակում պարամետրը SEARCH_RANGEսահմանված չէ, ուստի նվազագույն արժեքը որոշվում է պարամետրում նշված բջիջների միջև ՇՐՋԱՆԱԿ.

Ստեղծեք նոր ֆայլ՝ սեղմելով Նոր կոճակը Արագ մուտքի Գործիքադարակի վրա: Թերթ 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 ռուբլիից պակաս է:

Աղյուսակում ավելացնենք «Վճարում» սյունակը, որում պետք է նշել.

Եթե ​​արժեքը ավելի քան 45000 ռուբլի է: - Հետաձգել;

Եթե ​​արժեքը 45000 ռուբլիից պակաս է: - «Վճարման մեջ»:

Ակտիվացրեք G5 բջիջը, բացեք ներդիրը Բանաձևեր, սեղմել կոճակը Տեղադրեք գործառույթը.

Երկխոսության վանդակում ընտրեք կատեգորիա ինտելեկտուալ խաղ, գործառույթների ցանկում - ԵԹԵ.

Նկար 24. ԵԹԵ ֆունկցիա

Ձգեք G5 բջիջում ստացված արժեքը մինչև աղյուսակի վերջը (մինչև G11):

«Եթե» ֆունկցիան կիրառելիս բազմաթիվ պայմանների օգտագործումը

Գնացեք ձեր աշխատանքային գրքույկի երկրորդ թերթիկ և վերանվանեք այն Աշխատավարձ: Մուտքագրեք հետևյալ մանրամասները.

Նկար 25. Վաճառքի ծավալի բոնուսների հաշվարկման օրինակ

IF ֆունկցիան բաղկացած է հետևյալ տարրերից՝ ֆունկցիայի անվանումը, պայմանը, արժեքները, եթե պայմանը true է, արժեքներ, եթե պայմանը false է: Ֆունկցիայի մուտքագրումը բջիջում ունի հետևյալ տեսքը.

Եթե ​​(պայման; արժեքը, երբ պայմանները ճշմարիտ են, արժեքը, երբ պայմանները կեղծ են)

Դիտարկենք մի օրինակ, որտեղ կա երկու պայման. եթե աշխատողի վաճառքի ծավալը ավելի քան 50,000 ռուբլի է, ապա բոնուսը կկազմի վաճառքի ծավալի 10%, հակառակ դեպքում՝ 5%:

Այս գրառումը մեր օրինակի համար այսպիսի տեսք կունենա.

Նկար 26. Ծավալային հավելավճարը մեկ պայմանով հաշվարկելու օրինակ

Դիտարկենք երկրորդ օրինակը, երբ վաճառքի ծավալների համար աշխատողներին տրվող բոնուսը կհաշվարկվի հետևյալ կերպ.

Եթե ​​աշխատողը ապրանք է վաճառել 90,000 ռուբլուց ավելի կամ հավասար գումարով, նրա բոնուսը կկազմի վաճառքի ծավալի 10%-ը, եթե վաճառված ապրանքի գումարը մեծ է կամ հավասար է 30,000 ռուբլուն, բոնուսը կկազմի 5%-ը: վաճառքի ծավալը, եթե գումարը 30,000 ռուբլուց պակաս է, բոնուսը կկազմի 3%:

Նկար 27. Վաճառքի պրեմիումի հաշվարկման օրինակ մի քանի պայմաններով

Այս դեպքում կան մի քանի պայմաններ, և ֆունկցիայի մուտքագրումը կունենա հետևյալ տեսքը.

Պայմանական ձևաչափում

Պայմանական ձևաչափումը թույլ է տալիս տարբեր պայմաններում տարբեր ձևաչափեր սահմանել բջիջի համար: Օրինակ, բջիջների լրացում, որոնցում վաճառքի ծավալը ավելի քան 30,000 ռուբլի է: պետք է լինի կարմիր, 30,000 ռուբլիից պակաս: - դեղին.

Ընտրեք միջակայքը С2:С5;

Ներդիրի վրա Տան մեջխմբի ոճերը սեղմեք կոճակի վրա Պայմանական ձևաչափումև ընտրիր թիմ Բջիջների ընտրության կանոններ... Այլ կանոններ.

Սահմանեք ձևաչափը, եթե բջիջի արժեքը 30000-ից ավելի է, սեղմեք OK:

Նկար 28. Պայմանական ձևավորում

Կատարեք նույն գործողությունը և սահմանեք ձևաչափը 30,000 ռուբլիից պակաս արժեք ունեցող բջիջների համար:

Փորձեք հրամանները. Գոտի գրաֆիկներ, գունավոր գծեր և պատկերակների հավաքածուներկետից «Պայմանական ֆորմատավորում».

Պայմանական ձևաչափման ժամանակ կիրառված ձևաչափը հեռացնելու համար պետք է սեղմել կոճակը Պայմանական ձևաչափում… Հեռացնել կանոնները:

Վարկի վճարման հաշվարկ

Վարկի վճարման չափը հաշվարկեք PMT ֆունկցիայի միջոցով:

Գնացեք Թերթ 2 և վերանվանեք այն «Վարկ»: Մուտքագրեք նախնական տվյալները հաշվարկի համար: Խնդրում ենք նկատի ունենալ, որ B2 բջիջում ցուցադրվում է վարկի տարեկան տոկոսադրույքի չափը: B5 բջիջը պարունակում է բանաձեւ.

Գծապատկեր 29. Վարկի վճարման հաշվարկ

Ձեր վարկի ամսական վճարումը հաշվարկելու համար.

    Ակտիվացնել B6 բջիջը;

    Ներդիրի վրա Բանաձևերսեղմել կոճակը Տեղադրեք գործառույթը. Ընտրեք կատեգորիա Ամբողջական այբբենական ցանկըև գտեք ստորև նշված գործառույթը PMT.

Նկար 30. PMT ֆունկցիայի տեղադրում

Դաշտում Հայտմուտքագրեք ամսական դրույքաչափը, այսինքն. B2/B4;

Դաշտում Կպեր- դուք պետք է նշեք ժամանակաշրջանների ընդհանուր թիվը, այսինքն. AT 5;

Դաշտում Ps (ներկայիս արժեք)– անհրաժեշտ է նշել վարկի պահանջվող գումարը.

Сс - կանխիկի մնացորդ, հասնելու համար վերջին վճարումից հետո, մեր դեպքում դա 0 է;

Տիպ- 0 - վճարումները կատարվում են ժամանակաշրջանի վերջում, 1 - վճարումները կատարվում են ժամանակաշրջանի սկզբում:

Արդյունքը, որը դուք ստանում եք, պետք է լինի մինուս նշանով, քանի որ. Սրանք վճարումներ են, ոչ թե կանխիկ մուտքեր։

Բացարձակ և հարաբերական հասցեագրում

Գնացեք գրքի Թերթ 3 և անվանեք այն Ջրի սպառում. Մուտքագրեք այս հաշվիչի ընթերցումները՝ կառուցելով աղյուսակ.

Նկար 31. Աղյուսակի օրինակ

Ուշադրություն.Մ3 սառը և տաք ջրի արժեքի արժեքները պետք է տեղադրվեն տեքստից առանձին բջիջներում, քանի որ դրանք կօգտագործվեն վճարման ենթակա գումարի հաշվարկման բանաձևերում:

Ջրի սպառումհաշվարկվում է որպես ընթացիկ և նախորդ ամսվա հաշվիչների ցուցումների տարբերություն.

Ակտիվացրեք D9-ը, մուտքագրեք բանաձևը՝ =B9-B8 և սեղմեք Enter:

Օգտագործեք ավտոմատ լիցքավորման կետը՝ մնացած ամիսների համար սառը ջրի սպառումը հաշվարկելու համար:

Նույն կերպ հաշվարկեք Տաք ջրի սպառում.

Վճարման ենթակա գումարըմեկ ՀՎ հունվար ամսվա համար հաշվարկվում է որպես մ 3 արժեքով սպառված ջրի քանակի արտադրյալ: Մեր օրինակի բանաձևը հետևյալն է.

    Ակտիվացնել F9 բջիջը;

    Մուտքագրեք բանաձևը՝ =D9*E4 և սեղմեք Enter%

    Փորձենք ընդլայնել բանաձևը՝ օգտագործելով ավտոմատ լրացման կետը.

Վերադարձեք F9 բջիջ, մկնիկը տեղափոխեք բջիջի ստորին աջ անկյուն, բռնեք մկնիկի ցուցիչը սև խաչի տեսքով՝ պահելով մկնիկի ձախ կոճակը, բանաձևը քաշեք աղյուսակի վերջ։

Գծապատկեր 32. Բացարձակ հասցեավորման անհրաժեշտություն

Համոզվեք, որ ավտոմատ լրացումը չի աշխատել, տեսնենք, թե ինչու.

Ակտիվացրեք F9 բջիջը, բանաձևը պետք է հայտնվի բանաձևի տողում. \u003d D9 * E4;

Ակտիվացրեք F10 բջիջը: Excel-ը, օգտագործելով ավտոմատ լրացումը, փոխեց բանաձևը և այժմ հաշվարկեք F10 բջիջի արժեքը որպես =D10*E5: Այսինքն, բոլոր բջիջները, որոնք օգտագործվում են բանաձևում, երբ բանաձևը պատճենվում է ավտոմատ լրացման միջոցով, նույնպես տեղափոխվում են ներքև: Մեր դեպքում D սյունակի ներքև շարժվելն անհրաժեշտ է, քանի որ յուրաքանչյուր ամսվա համար ջրի սպառման տարբեր արժեք, սակայն E սյունակով շարժվելը անհրաժեշտ չէ, քանի որ. բազմապատկել E4-ով:

Լուծում:

    Վերադարձեք F9 բջիջ, նայեք բանաձևի տողում՝ =D9*E4:

    Բանաձևում դուք պետք է գտնեք մի բջիջ, որը չպետք է փոխվի պատճենելիս: Սա E4 է:

    Բանաձևի տողում դրեք կուրսորը բանաձևի մեջ E-ի և 4-ի միջև: Այնուհետև սեղմեք F4 ստեղնը ստեղնաշարի վրա, բանաձևը նման կլինի =D*$E$4: Excel-ի համար $ նշանները նշանակում են այս բջիջի կամ բացարձակ հասցեագրման ամրագրում, երբ այս բանաձևը ինքնալրացման կետով պատճենում է, այս բջիջը չի փոխվի:

    Սեղմեք Enter, վերադարձեք F9 բջիջ և քաշեք ներքև ավտոմատ լրացման կետը: Ընտրեք F10 բջիջը - ուշադրություն դարձրեք բանաձևին:

Զորավարժություններ: Լրացրեք սյունակը ԳՎ-ի համար վճարման ենթակա գումարըօգտագործելով բացարձակ հասցեավորում և սյունակ Ընդհանուր վճարման ենթակա- որպես F և G սյունակների գումար:

Պահպանեք ֆայլը ձեր թղթապանակում անունով «Գործառույթներ».

Այս աղյուսակը կկատարի գրեթե բոլոր հաշվարկները: Իդեալական է հաշվապահական հաշվառման համար։ Հաշվարկների համար կան հատուկ գործիքներ՝ բանաձևեր։ Դրանք կարող են կիրառվել տիրույթի կամ առանձին բջիջների վրա: Բջիջների խմբում նվազագույն կամ առավելագույն թիվը պարզելու համար անհրաժեշտ չէ ինքներդ փնտրել դրանք։ Ավելի լավ է օգտագործել դրա համար նախատեսված տարբերակները։ Օգտակար կլինի նաև պարզել, թե ինչպես կարելի է հաշվարկել միջին արժեքը Excel-ում:

Սա հատկապես ճիշտ է մեծ քանակությամբ տվյալների աղյուսակներում: Եթե ​​սյունակում, օրինակ, նշվում են առևտրի կենտրոնի ապրանքների գները։ Եվ դուք պետք է պարզեք, թե որ ապրանքն է ամենաէժանը: Եթե ​​այն որոնեք «ձեռքով», շատ ժամանակ կպահանջվի: Սակայն Excel-ում դա կարելի է անել ընդամենը մի քանի կտտոցով: Կոմունալը նաև հաշվարկում է միջին թվաբանականը: Ի վերջո, դրանք երկու պարզ գործողություններ են՝ գումարում և բաժանում:

Առավելագույն և նվազագույն

Ահա թե ինչպես գտնել առավելագույն արժեքը Excel-ում.

  1. Տեղադրեք բջջային կուրսորը ցանկացած վայրում:
  2. Գնացեք «Բանաձևեր» մենյու:
  3. Սեղմեք Տեղադրել գործառույթը:
  4. Ցանկից ընտրեք «MAX»: Կամ գրեք այս բառը «Որոնում» դաշտում և սեղմեք «Գտնել»:
  5. Փաստարկների պատուհանում մուտքագրեք այն տիրույթի հասցեները, որոնց առավելագույն արժեքը ցանկանում եք իմանալ: Excel-ում բջիջների անունները բաղկացած են տառից և թվից («B1», «F15», «W34»): Իսկ տիրույթի անվանումը դրա մեջ ներառված առաջին և վերջին բջիջներն են։
  6. Հասցեի փոխարեն կարող եք գրել մի քանի թվեր։ Այնուհետև համակարգը ցույց կտա դրանցից ամենամեծը:
  7. Սեղմեք OK: Արդյունքը կհայտնվի այն բջիջում, որտեղ գտնվում էր կուրսորը:

Հաջորդ քայլը մի շարք արժեքների սահմանումն է

Այժմ ավելի հեշտ կլինի պարզել, թե ինչպես գտնել նվազագույն արժեքը Excel-ում: Գործողությունների ալգորիթմը լիովին նույնական է. Պարզապես ընտրեք «MIN» «MAX»-ի փոխարեն:

Միջին

Միջին թվաբանականը հաշվարկվում է հետևյալ կերպ՝ գումարել բազմության բոլոր թվերը և բաժանել դրանց թվին։ Excel-ում դուք կարող եք հաշվարկել գումարները, պարզել, թե քանի բջիջ կա անընդմեջ և այլն: Բայց դա չափազանց բարդ է և երկար: Դուք ստիպված կլինեք օգտագործել բազմաթիվ տարբեր գործառույթներ: Հիշեք տեղեկատվությունը: Կամ նույնիսկ ինչ-որ բան գրեք թղթի վրա: Բայց ալգորիթմը կարելի է պարզեցնել։

Ահա թե ինչպես կարելի է գտնել միջինը Excel-ում.

  1. Տեղադրեք բջջային կուրսորը աղյուսակի ցանկացած ազատ տարածքում:
  2. Գնացեք «Բանաձևեր» ներդիր:
  3. Կտտացրեք «Տեղադրեք գործառույթը»:
  4. Ընտրեք AVERAGE:
  5. Եթե ​​այս տարրը ցանկում չէ, բացեք այն՝ օգտագործելով «Գտնել» տարբերակը:
  6. Number1 տարածքում մուտքագրեք տիրույթի հասցեն: Կամ գրեք մի քանի թվեր տարբեր դաշտերում «Թիվ 2», «Թիվ 3»:
  7. Սեղմեք OK: Ցանկալի արժեքը կհայտնվի բջիջում:

Այսպիսով, դուք կարող եք հաշվարկներ կատարել ոչ միայն աղյուսակի դիրքերով, այլև կամայական հավաքածուներով: Excel-ը, ըստ էության, խաղում է առաջադեմ հաշվիչի դեր։

այլ մեթոդներ

Առավելագույնը, նվազագույնը և միջինը կարելի է գտնել այլ ձևերով:

  1. Գտեք «Fx» պիտակավորված գործառույթի տողը: Այն գտնվում է սեղանի հիմնական աշխատանքային տարածքից վեր։
  2. Տեղադրեք կուրսորը ցանկացած բջիջում:
  3. «Fx» դաշտում մուտքագրեք փաստարկ: Այն սկսվում է հավասար նշանով: Այնուհետև գալիս է տիրույթի/բջջի բանաձևը և հասցեն:
  4. Դուք պետք է ստանաք «=MAX(B8:B11)» (առավելագույնը), «=MIN(F7:V11)» (նվազագույն), «=AVERAGE(D14:W15)» (միջին) նման մի բան:
  5. Կտտացրեք գործառույթի դաշտի կողքին գտնվող «տիզը»: Կամ պարզապես սեղմեք Enter: Ցանկալի արժեքը կհայտնվի ընտրված բջիջում:
  6. Բանաձևը կարող է պատճենվել անմիջապես բջջի մեջ: Էֆեկտը նույնն է լինելու.

Excel-tool «Autofunctions» կօգնի գտնել և հաշվարկել:

  1. Տեղադրեք կուրսորը խցում:
  2. Գտեք կոճակը, որի անունը սկսվում է «Auto»-ով: Սա կախված է Excel-ում ընտրված լռելյայն տարբերակից (AutoSum, AutoNumber, AutoOffset, AutoIndex):
  3. Սեղմեք դրա տակ գտնվող սև սլաքի վրա:
  4. Ընտրեք MIN (նվազագույն), MAX (առավելագույն) կամ AVERAGE (միջին):
  5. Բանաձևը կհայտնվի նշված բջիջում: Կտտացրեք ցանկացած այլ բջիջի վրա, այն կավելացվի գործառույթին: «Քաշեք» տուփը դրա շուրջը, որպեսզի ծածկի շրջանակը: Կամ Ctrl-սեղմեք ցանցի վրա՝ միաժամանակ մեկ տարր ընտրելու համար:
  6. Ավարտելուց հետո սեղմեք Enter: Արդյունքը կցուցադրվի բջիջում:

Excel-ում միջինը հաշվարկելը բավականին հեշտ է: Կարիք չկա ավելացնել, ապա բաժանել գումարը։ Դրա համար կա առանձին գործառույթ: Կոմպլեկտում կարող եք գտնել նաև նվազագույնը և առավելագույնը: Դա շատ ավելի հեշտ է, քան ձեռքով հաշվելը կամ հսկայական աղյուսակում թվեր փնտրելը: Հետևաբար, Excel-ը հայտնի է գործունեության բազմաթիվ ոլորտներում, որտեղ պահանջվում է ճշգրտություն՝ բիզնես, աուդիտ, անձնակազմի գրառումների կառավարում, ֆինանսներ, առևտուր, մաթեմատիկա, ֆիզիկա, աստղագիտություն, տնտեսագիտություն, գիտություն: