Excel에는 최소값을 결정하는 기능이 있습니다. 그러나 조건으로 최소값을 찾는 것은 문제가 있습니다. 추가 기능의 기능이 이 작업을 처리할 수 있습니다. =민세슬리

(표준과 유사 엑셀 기능수미).

엑셀 버전에서 2016 그리고 그 위에 내장 함수가 있습니다 미네슬리당신은 그것을 사용할 수 있습니다. Excel이 이전 버전인 경우 추가 기능을 설치하여 이 기능을 사용할 수 있습니다. VBA-엑셀.

함수에는 다음 인수가 있습니다. =미네슬리( RANGE;기준;[SEARCH_RANGE])

    범위- 체크된 셀의 범위.

  • 표준- 최소값 검사를 지정하는 숫자, 표현식 또는 텍스트 형식의 조건입니다.
  • [ SEARCH_RANGE ]- 최소값을 결정하기 위한 실제 범위. 이 매개변수를 지정하지 않으면 매개변수로 지정된 셀이 사용됩니다. 범위.

실시예 1

기준으로 값과 논리 표현식을 지정할 수 있습니다.

  1. 문헌에서 최소 점수를 결정하는 다음 예를 고려하십시오. 이를 위해 매개변수에서 표준"Literature" 값이 지정되고 매개변수가 범위- 항목 목록.
  2. 논리식을 기준으로 지정하면 «<>러시아인", 그러면 러시아어를 제외한 모든 과목에서 최소 학점이 결정됩니다.

실시예 2

다음 예에서 매개변수는 SEARCH_RANGE가 설정되어 있지 않으므로 매개변수에 지정된 셀 중에서 최소값이 결정됩니다. 범위.

큰 테이블로 작업해야 하는 경우 전체 열에 흩어져 있는 중복 금액을 확실히 찾을 수 있습니다. 동시에 자체 중복이 있는 가장 작은 숫자 값이 있는 테이블에서 데이터를 선택해야 할 수도 있습니다. 조건별 데이터 자동 선택이 필요합니다. Excel에서는 이러한 목적으로 배열 수식을 성공적으로 사용할 수 있습니다.

조건별로 Excel에서 선택하는 방법

첫 번째 가장 작은 숫자에 해당하는 값을 결정하려면 조건에 따라 표에서 선택해야 합니다. 우리가 가장 먼저 알고 싶어한다고 가정해 봅시다. 싼 물건이 가격 목록에서 시장에:

자동 샘플링은 다음 구조를 갖는 공식으로 구현됩니다.

INDEX(data_range_for_selection, MIN(IF(범위=MIN(범위),ROW(범위)-ROW(열 헤더),"")))

"data_range_for_selection" 위치에서 INDEX 함수가 하나의 결과 값을 선택하는 테이블(예: 텍스트)의 선택에 대해 값 범위 A6:A18을 지정해야 합니다. "범위" 인수는 첫 번째로 작은 숫자를 선택해야 하는 숫자 값이 있는 셀의 영역을 의미합니다. 두 번째 ROW 함수에 대한 "column_header" 인수에서 숫자 값 범위를 포함하는 열 머리글로 셀 참조를 지정해야 합니다.

당연히 이 수식은 배열에서 수행되어야 합니다. 따라서 입력을 확인하려면 Enter 키뿐만 아니라 전체 키 조합 CTRL + SHIFT + Enter를 눌러야 합니다. 모든 것이 올바르게 완료되면 수식 입력줄에 중괄호가 나타납니다.

배열의 이 수식이 셀 B3에 입력된 아래 그림에 주의하십시오.

첫 번째 가장 작은 숫자로 해당 값 선택:


이 공식을 사용하여 숫자에 상대적인 최소값을 선택할 수 있었습니다. 다음으로 공식의 원리를 분석하고 모든 계산의 전체 순서를 단계별로 분석합니다.



조건별 선택 작동 방식

여기서 INDEX 기능이 핵심적인 역할을 합니다. 명목상의 임무는 소스 테이블(첫 번째 인수 - A6:A18에 지정됨)에서 특정 숫자에 해당하는 값을 선택하는 것입니다. INDEX는 두 번째(테이블 내부의 행 번호) 및 세 번째(테이블의 열 번호) 인수에 정의된 기준에 따라 작동합니다. 소스 테이블 A6:A18에는 열이 1개뿐이므로 INDEX 함수에서 세 번째 인수를 지정하지 않습니다.

여러 계산 함수를 사용하여 인접 범위 B6:B18에서 가장 작은 숫자 반대편의 테이블 행 번호를 계산하고 이를 두 번째 인수의 값으로 사용합니다.

IF 기능을 사용하면 조건별로 목록에서 값을 선택할 수 있습니다. 첫 번째 인수는 B6:B18 범위의 각 셀에서 가장 작은 숫자 값을 확인하는 위치를 지정합니다(IFB6:B18=MINB6:B18). 이런 식으로 프로그램 메모리에 배열이 생성됩니다. 부울진실과 거짓. 우리의 경우 최소값 8에는 B6:B18 열에 2개의 중복 항목이 더 있으므로 3개의 배열 요소에 TRUE가 포함됩니다.

다음 단계는 범위에서 각 최소값을 포함하는 행을 결정하는 것입니다. 첫 번째 가장 작은 값의 정의 때문에 이것이 필요합니다. 이 작업은 LINE 함수를 사용하여 구현되며 프로그램 메모리의 배열 요소를 시트의 줄 번호로 채웁니다. 그러나 먼저이 모든 숫자에서 테이블의 첫 번째 행-B5, 즉 숫자 5에 대해 숫자를 뺍니다. 이는 INDEX 함수가 작업자 숫자가 아닌 테이블 내부의 숫자와 작동하기 때문에 수행됩니다. 엑셀 시트. 동시에 ROW 함수는 시트의 줄 번호만 반환할 수 있습니다. 오프셋을 얻지 않으려면 차이를 빼서 시트와 테이블 행 번호의 순서를 비교할 필요가 있습니다. 예를 들어, 테이블이 시트의 5번째 행에 있는 경우 테이블의 각 행은 시트의 해당 행보다 5가 적습니다.

모든 최소값이 선택되고 테이블의 모든 행 번호가 일치된 후 MIN 함수는 가장 작은 행 번호를 선택합니다. 동일한 행에는 B6:B18 열에서 발생하는 첫 번째 가장 작은 숫자가 포함됩니다. 이 줄 번호를 기반으로 INDEX 함수는 테이블 A6:A18에서 적절한 값을 선택합니다. 결과적으로 수식은 계산 결과로 B3 셀에 이 값을 반환합니다.

Excel에서 숫자가 가장 큰 값을 선택하는 방법

공식의 원리를 이해했으므로 이제 쉽게 수정하고 다른 조건에 맞게 조정할 수 있습니다. 예를 들어 Excel에서 첫 번째 최대값을 선택하도록 수식을 수정할 수 있습니다.


Excel에서 첫 번째 최대값을 선택할 수 있지만 70보다 작은 수식 조건을 변경해야 하는 경우:

!}

Excel에서 0이 아닌 첫 번째 최소값을 선택하는 방법:


쉽게 볼 수 있듯이 이러한 수식은 MIN 및 MAX 함수와 해당 인수만 다릅니다.

이제 아무것도 당신을 제한하지 않습니다. 배열에서 공식의 작동 원리를 이해하면 많은 조건에 대해 공식을 쉽게 수정하고 많은 계산 문제를 신속하게 해결할 수 있습니다.

Excel에는 최소값을 결정하는 기능이 있습니다. 그러나 조건으로 최소값을 찾는 것은 문제가 있습니다. 추가 기능의 기능이 이 작업을 처리할 수 있습니다. =민세슬리(표준 Excel SUMIF 함수와 유사).

엑셀 버전에서 2016 그리고 그 위에 내장 함수가 있습니다 미네슬리당신은 그것을 사용할 수 있습니다. Excel이 이전 버전인 경우 추가 기능을 설치하여 이 기능을 사용할 수 있습니다. VBA-엑셀.

함수에는 다음 인수가 있습니다. =미네슬리( RANGE;기준;[SEARCH_RANGE])

    범위- 체크된 셀의 범위.

  • 표준- 최소값 검사를 지정하는 숫자, 표현식 또는 텍스트 형식의 조건입니다.
  • [ SEARCH_RANGE ]- 최소값을 결정하기 위한 실제 범위. 이 매개변수를 지정하지 않으면 매개변수로 지정된 셀이 사용됩니다. 범위.

실시예 1

기준으로 값과 논리 표현식을 지정할 수 있습니다.

  1. 문헌에서 최소 점수를 결정하는 다음 예를 고려하십시오. 이를 위해 매개변수에서 표준"Literature" 값이 지정되고 매개변수가 범위- 항목 목록.
  2. 논리식을 기준으로 지정하면 "<>러시아인", 그러면 러시아어를 제외한 모든 과목에서 최소 학점이 결정됩니다.

실시예 2

다음 예에서 매개변수는 SEARCH_RANGE가 설정되어 있지 않으므로 매개변수에 지정된 셀 중에서 최소값이 결정됩니다. 범위.

특수한 상황들

특별한 경우에는 가능한 모든 조합을 열거하여 솔루션을 얻을 수 있습니다.

프로그램(C#):

공개 정적 int FactGen(int n) ( int 사실 = 새로운 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--) 결과[j] = 결과; 결과[i] = newval; ) 반환 결과; ) public static int SumAbs(int arr) ( int sum = 0, prev = arr; foreach (int 값 in arr) ( sum += Math.Abs(value - prev); prev = value; ) return sum; ) public static int MaxArr(int arr, bool detprn) ( int i, j, sum, smax = -1, 크기 = arr.Length; int perm, 결과 = 새 정수, 사실 = FactGen(크기), 정렬됨 = 새 정수, 제국 = 새로운 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(perm의 정수 값) Console.Write(value + " "); Console.Write(" 합계: (0) 최대 합계: (1)", 합계, smax); ) ) Console.Write("\n초기 선택: "); foreach (arr의 정수 값) Console.Write(값 + " "); Console.Write("\n선택 항목 정렬: "); foreach(정렬된 정수 값) Console.Write(값 + " "); Console.Write("\n최상의 순열: "); foreach(결과의 int 값) Console.Write(값 + " "); Console.WriteLine("\n최대 금액: (0)", smax); 제국=정렬됨; 제국=정렬됨; 제국=정렬됨; (i = 2, j = 0; 나는< 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 25 2127 최대 합: 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 342 921 : 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 318 3 138 최대 순열: 29 318 3 38 29 34 3 39 18 38 27 31 합계: 128 초기 샘플: 40 27 4 9 32 35 41 39 2 정렬된 샘플: 2 4 9 27 32 35 39 40 41 최적 순열: 32 2 39 4 40 9 41 27 35 최대 합: 223 휴리스틱 알고리즘: 27 35 2 41 4 40 9 39 32 합: 221 초기 표본: 41 35 45 27 6 84 243 정렬됨 1 11 6 84 243 24 25 27 33 34 35 41 45 최상의 순열: 27 34 16 35 18 41 24 45 25 33 최대 합: 150 휴리스틱: 27 34 16 45 18 41 24 35 35 Sum 25

이런 식으로:

  1. 원래 어레이에 대해 더 나은 조합이 발견되었습니다.
  2. 휴리스틱 알고리즘에 대한 반례는 즉시 발견되지 않았습니다.

일반 결정(2018년 2월 10일)

허락하다
a = (a 0 = M 1 , a 1 = M 2 , … , a n-2 = M n-1 , a n-1 = M n ) - 초기 시퀀스,
b = (b 0 , b 1 , … , b n-2 , b n-1 ) - 오름차순으로 동일한 시퀀스,
с = (c 0 , c 1 , … , c n-2 , c n-1 ) - 필수 시퀀스.

짝수와 홀수 n의 경우를 별도로 고려하십시오.

경우 n = 2k

S(a) = S c(a) - |a n-1 - a 0 |, 여기서
S c a) = |a 0 - a 1 | + |아 1 - 에이 2 | + … + |a n-3 - n-2 | + |n-2 - n-1 | + |a n-1 - a 0 |.

S c(a)는 각 원래 요소 a i를 두 번 포함하는 대수적 합이며 최대값은 다음과 같습니다.

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

이 값은 두 가지 순열 변형으로 달성됩니다.
1) c 2i h(모든 가장 큰 요소는 짝수 인덱스를 가짐);
2) c 2i + 1 h(모든 가장 큰 요소는 홀수 인덱스를 가짐).

동시에 최소 |a n-1 - a 0 | = b k - b k-1은 한 쌍의 중앙값 요소를 시퀀스 c의 가장자리에 배치하여 달성됩니다.

최대 합 S는 S max = 2∑ i = 0, …, k-2 (b i+k - b i) + b k-1 - b k , 또는

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

시퀀스 c가 바둑판 패턴에서 가장 큰 요소를 포함하고 중간 요소 b k-1 및 b k가 시퀀스의 가장자리에 있는 경우에 달성됩니다.
쌍으로 다른 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 + 최대 (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 + 최대 (b k+1 - b k , b k - b k-1),

k보다 큰 인덱스를 가진 요소가 엇갈리고 중앙값 요소와 그것에 가장 가까운 요소가 시퀀스의 가장자리에 있는 경우에 달성됩니다.
쌍으로 구별되는 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 사실 = 새로운 int; 사실 = 1; (int i = 1; 나는< 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 = 결과; for (j = newind; j > i; j--) 결과[j] = 결과; 결과[i] = newval; ) 반환 결과; ) public static int SumAbs(int arr) ( int sum = 0, prev = arr; foreach (int 값 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 사실 = FactGen(k + 2); 반환 2*fact[k] * ( (n-k-k< 2) ? fact : fact[k]); } public static int CalcMaxSum(int brr) { int i, size = brr.Length, k = size / 2, sum = 0; for (i = 0; i < k - 1; i++) sum += brr - brr[i]; sum = 2 * sum + brr - brr; if (size - 2 * k >0) 합계 += Math.Max(brr - brr[k], brr[k] - brr); 반환액; ) public static int MaxArr(int arr, bool detprn) ( int i, j, sum, smax = -1, size = arr.Length; int perm, result = new int, fact = FactGen(size), sorted = new int , Empire = new int; Stopwatch sw = new Stopwatch(); Console.WriteLine("\n초기 선택: "), foreach(int 값 in arr) Console.Write(value + " "), sw.Restart(), for (나는 = 0; 나는< fact; i++) { perm = PermsGenerator(arr, i, fact); sum = SumAbs(perm); if (sum >smax) ( smax = 합계; 결과 = perm; ) ) if (detprn) Console.Write("\n최상의 순열"); (i = 0, j = 0; 나는< fact; i++) { perm = PermsGenerator(arr, i, fact); sum = SumAbs(perm); if (sum == smax) { j++; if (detprn) { Console.Write("\n#{0}: ", j); foreach (int value in perm) Console.Write(value + " "); } } } Array.Copy(arr, sorted, size); Array.Sort(sorted); Console.WriteLine("\nОтсортированная выборка: "); foreach (int value in sorted) Console.Write(value + " "); Console.Write("\nФакт Наибольшая сумма: {0} Лучших перестановок: {1}" + "\nРасчёт Наибольшая сумма: {2} Лучших перестановок, не менее: {3}", smax, j, CalcMaxSum(sorted), CalcOptQuant(size)); T("\nRuntime = ", sw); sw.Reset(); return result; } static void Main(string args) { bool binc; int i, j, n, nmax = 12; int arr = new int; Random rand = new Random(); MaxArr(new int { 0, 1, 2, 3, 4, 5 }, true); MaxArr(new int { 5, 1, 3, 5, 7, 9 }, true); MaxArr(new int { 0, 1, 2, 3, 4 }, true); MaxArr(new int { 0, 1, 2, 3 }, true); MaxArr(new int { 0, 1, 2 }, true); for (n = 3; n <= nmax; n++) { Array.Resize(ref arr, n); for (i = 0; i < n;) { arr[i] = rand.Next(10, 99); binc = true; for (j = 0; j < i; j++) binc &= (arr[i] != arr[j]); if (binc) i++; } MaxArr(arr, false); } }

결과:

초기 샘플: 0 1 2 3 4 5 최상의 순열 #1: 2 4 0 5 1 3 #2: 2 4 1 5 0 3 #3: 2 5 0 4 1 3 #4: 2 5 1 4 0 3 #5: 3 0 4 1 5 2 #6: 3 0 5 1 4 2 #7: 3 1 4 0 5 2 #8: 3 1 5 0 4 2 정렬된 표본: 0 1 2 3 4 5 사실 최대 합: 17 최선 순열: 8 계산 최대 합계: 17 최상의 순열, 최소: 8 런타임 = 00:00:00.01 초기 샘플: 5 1 3 5 7 9 최상의 순열 #1: 5 1 7 3 9 5 #2: 5 1 9 3 7 5 # 3 : 5 3 7 1 9 5 #4: 5 3 9 1 7 5 #5: 5 7 1 9 3 5 #6: 5 7 3 9 1 5 #7: 5 9 1 7 3 5 #8: 5 9 3 7 1 5 #9: 5 1 7 3 9 5 #10: 5 1 9 3 7 5 #11: 5 3 7 1 9 5 #12: 5 3 9 1 7 5 #13: 5 7 1 9 3 5 #14 : 5 7 3 9 1 5 #15: 5 9 1 7 3 5 #16: 5 9 3 7 1 5 정렬된 샘플: 1 3 5 5 7 9 사실 최고 합계: 24 최고 순열: 16 계산 최고 합계: 24 최고 순열 , 최소: 8 런타임 = 00:00:00.01 초기 샘플: 0 1 2 3 4 최상의 순열 #1: 1 3 0 4 2 #2: 1 4 0 3 2 #3: 2 0 4 1 3 #4: 2 1 4 0 3 #5: 2 3 0 4 1 #6: 2 4 0 3 1 #7: 3 0 4 1 2 #8: 3 1 4 0 2 정렬됨 현재 샘플: 0 1 2 3 4 사실 가장 큰 합계: 11 최상의 순열: 8 계산 가장 큰 합계: 11 최상의 순열, 최소: 4 런타임 = 00:00:00.01 초기 샘플: 0 1 2 3 최상의 순열 #1: 1 3 0 2 #2: 2 0 3 1 정렬된 샘플: 0 1 2 3 사실 최고 합계: 7 최고 순열: 2 계산 최고 합계: 7 최고 순열, 최소: 2 런타임 = 00:00:00.00 초기 샘플: 0 1 2 최상의 순열 #1: 0 2 1 #2: 1 0 2 #3: 1 2 0 #4: 2 0 1 정렬된 샘플: 0 1 2 보다 작음: 2 런타임 = 00:00:00.01 초기 샘플: 25 51 87 정렬됨 샘플: 25 51 87 팩트 최고 합계: 98 최고 순열: 2 계산 최고 합계: 98 최고 순열, 최소: 2 런타임 = 00:00:00.00 원본 샘플: 78 10 34 64 정렬된 샘플: 10 34 64 78 최고 팩트 : 166 최고의 순열: 2 계산 최고 합계: 166 최고의 순열, 그 이상 최고 ee: 2 런타임 = 00:00:00.00 원래 샘플: 23 26 93 16 45 정렬된 샘플: 16 23 26 45 93:00:00.00 원래 샘플: 85 12 11 13 90 88 정렬된 샘플: 811 8052 합계: 382 최고의 순열: 8 계산 최고 합계: 382 최고의 순열, 최소: 8 런타임 = 00:00:00.00 초기 샘플: 82 43 28 55 29 39 18 정렬된 샘플: 18 28 29 39 43 Fact 최고 합계 206 최고의 순열: 24 계산 최고 합계: 206 최고의 순열, 최소: 24 런타임 = 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 57 00.23 원본 샘플: 55 51 36 12 82 63 89 58 14 22 정렬된 샘플: 12 14 22 36 51 55 58 63 82 89 정렬된 샘플 9 3 6 5 5 원본 샘플: 6 76 95 : 35 49 53 55 65 67 69 78 94 95 96 순열, 최소: 5760 런타임 = 00:00:29.21 초기 샘플: 50 43 39 64 59 18 81 16 44 12 15 77 분류된 샘플: 12 15 16 18 39 43 44 50 59 64 77 81

결과 분석

고려된 모든 경우에 테스트를 통해 제안된 일반 솔루션을 완전히 확인했습니다.

이 스프레드시트는 거의 모든 계산을 처리합니다. 회계에 이상적입니다. 계산을 위해 수식이라는 특수 도구가 있습니다. 범위 또는 개별 셀에 적용할 수 있습니다. 셀 그룹에서 최소 또는 최대 수를 찾기 위해 직접 찾을 필요는 없습니다. 이를 위해 제공된 옵션을 사용하는 것이 좋습니다. Excel에서 평균값을 계산하는 방법을 알아내는 것도 유용합니다.

이는 데이터 양이 많은 테이블에서 특히 그렇습니다. 예를 들어 열이 쇼핑 센터의 제품 가격을 나타내는 경우. 그리고 어떤 제품이 가장 저렴한지 알아내야 합니다. "수동으로" 검색하면 시간이 많이 걸립니다. 그러나 Excel에서는 몇 번의 클릭만으로 이 작업을 수행할 수 있습니다. 유틸리티는 산술 평균도 계산합니다. 결국 이것은 더하기와 나누기라는 두 가지 간단한 작업입니다.

최대 및 최소

Excel에서 최대값을 찾는 방법은 다음과 같습니다.

  1. 아무 곳에나 셀 커서를 놓습니다.
  2. "수식" 메뉴로 이동합니다.
  3. 함수 삽입을 클릭합니다.
  4. 목록에서 "MAX"를 선택합니다. 또는 "검색" 필드에 이 단어를 쓰고 "찾기"를 클릭합니다.
  5. 인수 창에서 최대값을 알고자 하는 범위의 주소를 입력합니다. Excel에서 셀 이름은 문자와 숫자("B1", "F15", "W34")로 구성됩니다. 그리고 범위의 이름은 그 범위에 포함된 첫 번째와 마지막 셀입니다.
  6. 주소 대신 여러 개의 숫자를 쓸 수 있습니다. 그런 다음 시스템은 그 중 가장 큰 것을 표시합니다.
  7. 확인을 클릭합니다. 커서가 있던 셀에 결과가 나타납니다.

다음 단계는 값 범위를 지정하는 것입니다.

이제 Excel에서 최소값을 찾는 방법을 더 쉽게 알 수 있습니다. 동작 알고리즘은 완전히 동일합니다. "MAX" 대신 "MIN"을 선택하기만 하면 됩니다.

평균

산술 평균은 다음과 같이 계산됩니다. 집합의 모든 숫자를 더하고 해당 숫자로 나눕니다. Excel에서는 합계를 계산하고 행에 있는 셀 수 등을 확인할 수 있습니다. 하지만 너무 복잡하고 길다. 다양한 기능을 사용해야 합니다. 정보를 염두에 두십시오. 또는 종이에 무언가를 적기도 합니다. 그러나 알고리즘은 단순화될 수 있습니다.

Excel에서 평균을 찾는 방법은 다음과 같습니다.

  1. 테이블의 여유 공간에 셀 커서를 놓습니다.
  2. "수식" 탭으로 이동합니다.
  3. "기능 삽입"을 클릭하십시오.
  4. 평균을 선택합니다.
  5. 이 항목이 목록에 없으면 "찾기" 옵션을 사용하여 엽니다.
  6. Number1 영역에 범위의 주소를 입력합니다. 또는 다른 필드 "Number2", "Number3"에 여러 숫자를 씁니다.
  7. 확인을 클릭합니다. 원하는 값이 셀에 나타납니다.

따라서 테이블의 위치뿐만 아니라 임의의 세트로도 계산을 수행할 수 있습니다. 실제로 Excel은 고급 계산기의 역할을 합니다.

다른 방법

최대, 최소 및 평균은 다른 방법으로 찾을 수 있습니다.

  1. "Fx"라고 표시된 기능 막대를 찾으십시오. 테이블의 주요 작업 영역 위에 있습니다.
  2. 아무 셀에나 커서를 놓습니다.
  3. "Fx" 필드에 인수를 입력합니다. 등호로 시작합니다. 그런 다음 수식과 범위/셀의 주소가 나옵니다.
  4. "=MAX(B8:B11)"(최대), "=MIN(F7:V11)"(최소), "=AVERAGE(D14:W15)"(평균)와 같은 값을 얻어야 합니다.
  5. 기능 필드 옆에 있는 "체크"를 클릭하십시오. 또는 Enter를 누르십시오. 선택한 셀에 원하는 값이 나타납니다.
  6. 수식은 셀 자체에 직접 복사할 수 있습니다. 효과는 동일할 것입니다.

Excel 도구 "자동 기능"은 찾고 계산하는 데 도움이 됩니다.

  1. 셀에 커서를 놓습니다.
  2. 이름이 "Auto"로 시작하는 버튼을 찾습니다. 이는 Excel에서 선택한 기본 옵션(AutoSum, AutoNumber, AutoOffset, AutoIndex)에 따라 다릅니다.
  3. 그 아래에 있는 검은색 화살표를 클릭합니다.
  4. MIN(최소), MAX(최대) 또는 AVERAGE(평균)를 선택합니다.
  5. 표시된 셀에 수식이 나타납니다. 다른 셀을 클릭하면 기능에 추가됩니다. 범위를 덮기 위해 주변의 상자를 "드래그"합니다. 또는 그리드를 Ctrl-클릭하여 한 번에 하나의 요소를 선택합니다.
  6. 완료되면 Enter 키를 누릅니다. 결과가 셀에 표시됩니다.

Excel에서 평균을 계산하는 것은 매우 쉽습니다. 더한 다음 금액을 나눌 필요가 없습니다. 이를 위한 별도의 기능이 있습니다. 세트에서 최소값과 최대값을 찾을 수도 있습니다. 손으로 세거나 거대한 스프레드시트에서 숫자를 찾는 것보다 훨씬 쉽습니다. 따라서 Excel은 비즈니스, 감사, 인사 기록 관리, 재무, 무역, 수학, 물리학, 천문학, 경제, 과학 등 정확성이 요구되는 여러 활동 분야에서 널리 사용됩니다.