합계 열 = 값 다른 셀에 텍스트가 포함되어 있지만 다른 셀이 NULL 인 경우에만


1

= 텍스트 값인 J10:M76경우 셀 합계를 계산하려고 B10:E76하지만 셀 R10:R76이 null이 아닌 경우 (값 포함)에있는 값을 포함하고 싶지 않습니다 J10:M76.

나는 이것이 약간 복잡하다는 것을 알고 있으며 이것이 그것을 해결하기 위해 현재하고있는 일이지만 더 좋은 방법이 있어야합니다.

=SUM(SUMIF($B$10:$E$76,{"City of Tampa"},$J$10:$M$76))-J13


emmm ... 예를 들어, B11 및 E20에 필요한 텍스트가 포함되어 있으므로 J11 및 M20에 값을 추가 한 다음 RI 열의 값을 빼야하는 경우를 의미합니까? 내 이해가 맞다면?
Lee

당신은 필요 배열 수식 CSE를 ,{=IF($R$10:$R$76="",SUMIF($B$10:$E$76,"City Of Tempa",$J$10:$M$76),"")}
인 Rajesh S에게

귀하의 질문에있는 것들이 명확하지 않습니다. 1. B10 : E76 = "text"는 무엇을 의미합니까? 행의 네 열이 모두 텍스트와 같아야합니까? 하나의 열? 여러 열에 동일한 유형의 텍스트를 사용하는 것이 데이터를 구성하는 일반적인 방법은 아니기 때문에 필요한 사항과 요구 사항이 명확하지 않습니다. 2. 각 행이 다른 데이터 레코드입니까? 규칙이 행별로 적용되므로 행에 대한 기준이 충족되는 한 J : M 열의 모든 행 값을 총계로 포함 하시겠습니까? (계속)
fixer1234

3. 열 R에서 null을 참조하면 셀이 비어 있다는 의미입니까? 따라서 기본적으로 행이 충족해야하는 두 가지 조건이 있습니다. B : E = "text value"에서 명확히하고 R이 비어 있지 않습니까? 4. 대상 텍스트는 "탬파의 도시"일 뿐이므로 수식에 하드 코딩하거나 다를 수 있습니다.이 경우 셀에 해당 텍스트를 입력 한 다음 해당 셀을 참조하는 것이 좋습니다 수식에서 값을 쉽게 변경할 수 있습니까? (계속)
fixer1234

5. -J13은 무엇입니까? 그것은 데이터 범위 내에 있으므로 포함을 상쇄한다고 가정 할 때 수동으로 식별하고 빼기를 하드 코딩 한 비 규격 값의 예입니까? 그렇다면 왜 J : M이 아닌 J 만? 6. 이와 같은 복잡한 요구 사항은 발생할 수있는 조건의 범위, 해당 예의 결과 및 그 이유를 다루는 일부 샘플 데이터와 함께 게시하는 것이 좋습니다. 그렇지 않으면, 사람들은 요구 사항의 잘못된 해석에 기초하여 답변을 시도하는 데 많은 시간을 할애하게됩니다.
fixer1234

답변:


0

배열 수식을 사용할 수있는 경우 표준 방법이 있습니다.

필자는 단일 셀에 답을 원하므로 배열 수식을 피할 특별한 이유가 없어야합니다. (다중 셀 배열 수식의 일반적인 이유는 수식 변경과 관련된 문제 및 관련 문제 때문입니다. 배열 수식이 차지하는 블록은 하나의 셀 블록으로 병합되는 것과 매우 유사하게 작동 할 수 있습니다.)

(이것은 단지 길기 때문에 단계를 충분히 철회 할 수 있으므로 내가 보여 주어야 할 사소한 세부 사항에 열중하지 않습니다.)

그렇다면 개념은 다음과 같습니다.

끝 수식은 Control-Shift-Enter ( "CSE")를 사용하여 입력 한 배열 수식 자체 일뿐만 아니라 해당 부분을 배열로 만듭니다.

하나의 배열에는 합산하려는 값이 포함될 수 있습니다 (이 경우 B10 : M76). 두 번째 배열은 원하는 텍스트의 범위이고 세 번째 배열은 null / blank / empty 조건에 대해 테스트되는 범위입니다.

첫 번째 배열의 목적은 추가 할 값을 넣는 것입니다. 두 번째와 세 번째 배열의 목적은 동일합니다. 필요한 테스트를 수행하고 각 테스트에 대한 논리적 실마리를 반환합니다. 논리적 가치? 테스트 성공 또는 실패에 따라 TRUE 또는 FALSE를 반환하게됩니다.

수학 연산을 수행하면 Excel에서 해당 논리 값을 1과 0으로 처리합니다. 따라서 행복한 텍스트 열은 수학을 수행하면 {1; 0; 1; 1; 0; ... 등 ..}으로 작동하는 {TRUE; FALSE; TRUE; TRUE; FALSE; ... etc.}를 생성 할 수 있습니다. 결과에 대한 작업. 종종 하나의 배열에 1을 곱하여이를 수행 할 수 있습니다. 여기에는 솔루션에 대한보다 복잡한 경로가 필요하며 "* 1"을 가져 오는 대신 다른 두 배열을 사용하면됩니다. 세 번째 배열은 null / blank / empty 조건에 대해 셀을 테스트하고 동일한 종류의 TRUE 및 FALSE 배열을 얻는 것과 유사합니다.

따라서 첫 번째 배열은 합산 값의 범위를 배열에 배치하고 두 번째 및 세 번째 배열은 두 가지 테스트의 TRUE 및 FALSE 결과입니다. 두 테스트 중 하나라도 실패하면 다른 테스트 결과에 0을 곱하여 0과 일치하는 합산 값을 곱합니다. 따라서 두 테스트 중 하나라도 실패하면 해당 행의 합산 값에 0이 곱해지고 SUM () 함수에 의해 0이 추가됩니다.이 두 테스트가 모두 성공하면 해당 행의 합산 값에 1이 곱해집니다 Excel이 SUM () 함수에 제공하는 최종 배열로 끝납니다.

그런 식으로 SUM ()은 어떤 방식 으로든 실패한 행에 대해 아무것도 추가하지 않으므로 테스트가 성공한 값만 결과에 나타납니다.

당신이 원하는 것입니다.

이 경우 성공하면 TRUE를 생성하도록 첫 번째 테스트를 작성해야합니다. 다음과 같은 것 :

(B1:B6="City of Tampa")

두 번째 테스트는 테스트가 실패하면 1을 생성하도록 작성해야합니다. 따라서 "일치하지 않는"종류로 작성하거나 "긍정적 인"방식으로 작성하지만 NOT ()으로 랩핑하십시오. 기능:

(C1:C6<>"")
(NOT(C1:C6=""))

(어떻게 든 접근하는 것이 당신에게 가장 합리적이며 앞으로 스프레드 시트 작업을 할 수있게 해줄 것입니다. 모든 사람은 여기가 다르고 감독관은 때때로 요구 사항을 표현하여 감사하고 올바른 답변을 제공 할 수 있도록 편안하게 답변 할 수 있습니다.)

첫 번째 배열은 상당히 간단합니다. 값의 범위 만 모두 합칠 수 있습니다.

A1:A6

테스트 부분 (두 번째 및 세 번째 배열)을 괄호로 묶어야하지만 첫 번째 배열에 대해서는 그렇게 할 필요는 없습니다. 그러나 원하는 경우 가능합니다.

그런 다음 모두 모아서 SUM () 함수로 감싸십시오.

{=SUM( A1:A6 * (B1:B6="City of Tampa") * (C1:C6<>"") )}

( "CSE"를 누르면 위의 내용을 감싸는 {}가 추가됩니다.)

이 접근법은 합산에 대한 다양한 변형뿐만 아니라 다양한 다른 기능과 함께 사용할 수 있습니다. 실제로, 일부는 "CSE"를 사용하여 전체 최종 수식을 입력 할 필요조차 없습니다. 중간 작업에서 배열을 사용하더라도 완전히 정규식이 될 수 있습니다. 따라서 위의 내용을 따르면이 문제를 많은 문제에 적용 할 수 있습니다.

나는 당신의 문제를 정확하게 재현하지 않았으므로 (따라서 예제의 간단한 범위) 종종 여러 열 및 행 범위에서 작동하려면 약간의 추가 작업이 필요합니다. 다중 행 OR 다중 열 범위는 여전히 단일 라인 매트릭스와 같은 단일 행 배열입니다. 행과 열을 만들면 3x4 행렬과 같은 여러 행이있는 Excel 배열이 필요합니다. 오류가 발생하면이를 "풀고"Excel에서 해당 범위를 단일 행 배열로 간주하도록해야합니다. 예를 들어 명명 된 범위를 사용하여 단일 열 (또는 쓰기 쉬운 행)을 단일 범위로 가져옵니다. 다른 트릭도 있습니다. 하나는 수식을 작성하여 범위의 열에 대해 하나의 계산 집합을 수행하고 두 번째 열에 대한 두 번째 계산 집합에 추가하는 것입니다. 동일한 열 집합이 각 열 집합에 대해 이동되었습니다. 그러나 일반적으로 너무 많은 문제없이 팔꿈치 그리스만으로 자갈을 쌓을 수 있습니다.

마지막으로, 일부 수식은 배열을 사용하지만 CSE 입력 수식 자체 일 필요는 없습니다. 그러나 이상하게도, 매번 호머 "Doh!"처럼 ​​매번 이해가되는 이유를 알 때까지 CSE를 입력 한 것과 정확히 다른 결과를 얻을 수 있습니다. 그렇다면 CSE 입력 버전은 항상 올바른 버전이지만 매번 확인해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.