임의의 함수(예: 문자열 연결)를 사용하여 "부분합계"를 계산할 수 있나요?

임의의 함수(예: 문자열 연결)를 사용하여 "부분합계"를 계산할 수 있나요?

소계 함수가 일부 숫자 함수(개수, 합계, 평균) 대신 문자열 연결인 테이블의 "소계"를 생성하고 싶습니다.

예를 들어 다음 테이블을 고려해보세요.

여기에 이미지 설명을 입력하세요

나는 다음과 같은 결과를 원합니다 :

여기에 이미지 설명을 입력하세요

나에게 이것은 소계보다 "concat"(또는 "join")이 해제된 것처럼 보입니다. 그러나 나는 Excel이 실제로 함수형 프로그래밍을 이해한다고 생각하지 않습니다(일부 사람들이 주장하는 것과는 상관없이). 그렇다면 이 작업을 어떻게 수행할 수 있습니까? 특히 나중에 원하는 결과를 얻기 위해 수식을 편집해야 하는 경우에도 모든 소계 수식을 자동으로 삽입하는 소계 메뉴 항목을 활용하여 이 작업을 수행할 수 있는 방법은 무엇입니까?

그리고 실제로 Excel은 다양한 기능을 통해 매우 강력합니다. 그러면 소계 외에 다른 방법으로 이를 달성할 수 있나요? (저는 스크립팅이 아닌 솔루션을 선호합니다.)

또한 Excel이 도구 상자의 유일한 도구는 아닙니다. 이 테이블이 CSV 파일에 있다고 가정해 보겠습니다. 표준 Unix 유틸리티를 사용하여 이를 수행할 수 있는 방법이 있습니까(예: cut? awk처리할 수 있을 것 같은데 어떻게 보일까요?)

답변1

이것은 가장 우아한 해결책은 아닐 수도 있지만 Col1이 정렬된다는 사실을 기반으로 다음을 시도해 보세요.

  1. Col2 값의 누적 연결을 보관할 열(C)을 추가합니다. C2 셀의 수식은 다음과 같 =IF(A2=A1, CONCATENATE(C1, ",", B2), B2)으며 나머지 셀에 대해 이를 자동으로 채울 수 있습니다.

  2. 열(D)을 추가하여 최대(가장 긴) 연결을 포함하는 행, 즉 Col1에 있는 각 값의 마지막 행을 표시합니다. D2 셀의 공식은 다음 =IF(A2<>A3, TRUE, FALSE)과 같습니다. 나머지 셀을 자동으로 채울 수 있습니다.

    테이블은 다음과 같습니다.

    여기에 이미지 설명을 입력하세요

  3. TRUED열의 값을 기준으로 테이블을 필터링합니다 .

    여기에 이미지 설명을 입력하세요

  4. 이제 B열과 D열을 숨길 수 있습니다.

    여기에 이미지 설명을 입력하세요

관련 정보