Kevin은 행의 모든 ​​4 번째 셀을 합산하는 수식을 만들어야합니다. 그는 = A6 + E6 + I6 + M6 등과 같은 공식을 사용할 수 있다는 것을 알고 있지만 워크 시트에 열이 많으면 복잡해집니다.

이 문제에 접근 할 수있는 몇 가지 방법이 있습니다. 한 가지 방법은 워크 시트에 추가 정보를 추가하여 합계에 포함되어야하는 셀을 지정하는 것입니다. 예를 들어,이 예제에서는 워크 시트의 6 행에있는 셀을 합산하려고합니다. 5 행에 몇 가지 지표를 추가 할 수있는 경우 이러한 지표를 수식에서 “트리거”로 사용할 수 있습니다. 예를 들어 합계에 포함 할 각 셀 위에 숫자 1을 입력합니다 (열 A, E, I, M 등). 그런 다음 다음과 같은 수식을 사용할 수 있습니다.

=SUMPRODUCT(A5:X5, A6:X6)

공식은 기본적으로 행 5에있는 모든 것을 행 6에 곱한 다음 결과를 합산합니다. 합산하려는 열에 1 만 있기 때문에이 모든 것이 최종 합계에 포함됩니다.

워크 시트에 표시기 행을 추가하지 않으려면 다른 솔루션을 찾아야합니다. 다음과 같은 수식에서 SUMPRODUCT 함수를 계속 사용할 수 있습니다.

=SUMPRODUCT((MOD(COLUMN(6:6),4)=1)*(6:6))

이 수식은 MOD 함수를 사용하여 나눗셈의 나머지를 반환합니다. 이 경우 나누는 것은 값 4로 셀의 열 번호입니다. 이것은 0, 1, 2 또는 3의 나머지가됩니다. 행의 모든 ​​네 번째 셀은 동일한 나머지를 갖습니다. 따라서 열 A (열 1이라고도 함)는 E, I, M 등 열과 마찬가지로 MOD 값 1 (1을 4로 나눈 값은 0, 1이 남음)을 갖습니다.

공식은 MOD 값이 1인지 여부를 비교합니다. 그렇다면 비교는 True (1)를 반환합니다. 그렇지 않은 경우 False (0)를 반환합니다. 그런 다음 여섯 번째 행의 셀에 대해 곱합니다.

마지막으로 SUMPRODUCT는 이러한 모든 곱셈을 합하고 원하는 결과를 제공합니다.

이 수식은 여섯 번째 행의 모든 ​​네 번째 셀의 합계를 제공하지만 세 번째 셀, 다섯 번째 셀 또는 원하는 간격에 대한 합계를 제공하도록 쉽게 변경할 수 있습니다. MOD 기능의 4를 원하는 간격으로 변경하기 만하면됩니다.

합계 할 4 개의 셀의 각 “클러스터”에서 다른 셀을 선택하려면 MOD 함수에서 비교되는 값을 변경하기 만하면됩니다. 이 예에서 4 개로 구성된 각 클러스터의 첫 번째 셀만 MOD 1 (A, E, I, M 등)을 갖습니다. 대신 셀 C로 시작하는 모든 네 번째 셀을 합산하려면 비교 값을 1에서 3으로 변경합니다. 이유는 무엇입니까? C는 클러스터의 세 번째 셀이고 MOD가 3이기 때문에 이후의 각 네 번째 셀 (G, K, O 등)도 마찬가지입니다.

이 일반 규칙의 유일한 “가득차”는 각 4 셀 클러스터에서 네 번째 셀을 합산하려는 경우입니다. 예를 들어, 셀 D, H, L, P 등을 합산 할 수 있습니다.이 경우 4로 나누는 MOD 연산을 수행 할 때 나머지 4가 없을 것이므로 사용되는 비교 값은 4가 아닙니다. 대신 다음과 같이 비교 값은 0이됩니다.

=SUMPRODUCT((MOD(COLUMN(6:6),4)=0)*(6:6))

배열 수식으로 작업하려는 경우 위의 수식에서 약간 더 짧은 변형을 사용할 수 있습니다.

=SUM(IF(MOD(COLUMN(6:6),4)=1,6:6))

수식은 Ctrl + Shift + Enter를 눌러 입력해야합니다.

그러면 수식을 중괄호 (\ {})로 둘러싼 수식 표시 줄에 나타납니다. MOD 제수 및 비교 값과 관련된 동일한 수정 참고 사항이 SUMPRODUCT 함수와 마찬가지로 여기에 적용됩니다.

이 두 가지 공식 접근 방식 (SUMPRODUCT 및 배열 공식)

전체 행의 모든 ​​네 번째 셀을 합산합니다. 대신 합계가 파생되는 셀을 행의 일부로 제한하려면 6 : 6 (두 인스턴스 모두)을 적절한 범위로 바꾸십시오. 따라서 A6 : Z6 범위의 모든 네 번째 셀만 합산하려면 해당 범위를 수식에 사용합니다.

이러한 방식으로 많은 합산을 수행하고 행의 범위뿐만 아니라 열의 범위에도 적용하는 경우 합산을 수행하는 사용자 정의 함수를 만드는 것을 고려할 수 있습니다. 다음과 같은 간단한 함수가 트릭을 수행합니다.

Function SumEveryFourth(MyRange As Range)

Dim x As Integer     SumEveryFourth = 0     For x = 1 To MyRange.Cells.Count         If (x Mod 4) = 1 Then             SumEveryFourth = SumEveryFourth + MyRange.Cells(x).Value         End If     Next x End Function

이 함수는 전달 된 범위를 검사 한 다음 범위의 첫 번째 셀부터 시작하여 모든 네 번째 셀을 합산합니다. 범위의 모든 두 번째 셀을 합산하려면이 팁의 앞부분에서 설명한대로 If 문에서 비교 값을 변경합니다. (Mod 연산이이 함수에 사용되며 MOD 워크 시트 함수와 동일하게 작동하므로 각 클러스터에서 합산되어야하는 셀을 결정하는 데 동일한 비교 값이 적용됩니다.)

사용자 정의 함수는 행의 셀이나 열의 셀에서 잘 작동합니다. 다음과 같이 원하는 범위를 통과했는지 확인하기 만하면됩니다.

=SumEveryFourth(C3:C57)

원하는 경우 “단계”값을 함수에 전달되는 변수로 만들어 매크로를 더욱 유연하게 만들 수 있습니다. 이 변경된 매크로를 사용하여 2, 3, 4, 5 등의 셀을 합산 할 수 있습니다.

Function SumEveryNth(MyRange As Range, N As Integer)

Dim x As Integer     SumEveryFourth = 0     For x = 1 To MyRange.Cells.Count         If (x Mod N) = 1 Then             SumEveryNth = SumEveryNth + MyRange.Cells(x).Value         End If     Next x End Function

이 함수는 원하는 단계 값을 추가하는 것을 제외하고는 이전 함수와 동일하게 호출됩니다. 예를 들어 C3 : C57 범위의 모든 세 번째 셀이 합산됩니다.

=SumEveryNth(C3:C57, 3)

_ 참고 : _

이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (3234)은 Microsoft Excel 97, 2000, 2002 및 2003에 적용됩니다. 여기에서 Excel (Excel 2007 이상)의 리본 인터페이스에 대한이 팁의 버전을 찾을 수 있습니다.

link : / excelribbon-Summing_Every_Fourth_Cell_in_a_Row [Summing Every Fourth Cell in a Row].