행의 Excel 매크로 합계

행의 Excel 매크로 합계

행의 합계, 첫 번째 결과가 양수이면 중지됩니다. 나머지 행 값은 0으로 변환/대체되며 마지막 양수 결과가 최종 합계가 됩니다.

예.

A1행:F1 = -2, -3, -6, 6, 20, 2

가질 것이다:

행 = 0, 0, 0, 0, 0, 15, 17

편집: 내 더티 솔루션(공식)에는 다음이 있습니다.

A2:F2의 각 행에 대해

A2 =IF(합계(A1:A1)<0,0,A1)

B2 =IF(합계(A1:B1)<0,0,합계(A1:B1))

C2 =IF(합계(A1:C1)<0,0,합계(A1:C1))

D2 =IF(합계(A1:D1)<0,0,합계(A1:D1))

E2 =IF(합계(A1:E1)<0,0,합계(A1:E1))

F2 =IF(합계(A1:F1)<0,0,합계(A1:F1))

그러나 배열에서 첫 번째 양수 합계에 도달하면 평가를 중지해야 합니다.

무리 감사

답변1

VBA 없이도 이 작업을 수행할 수 있다고 생각합니다(항상 더 나은 솔루션입니다!). 데이터가 A행에 있으면 B1에 넣고 =IF(SUM($A$1:A1)<0;0;SUM($A$1:A1))오른쪽에 복사하여 붙여넣으세요.

추신: 합계가 있는 셀의 오른쪽 셀에 무엇이 있어야 하는지 잘 모르겠습니다. 지금은 계속해서 해당 값을 추가하고 있습니다. 이것이 다르게 작동하려면 질문을 편집하십시오.

답변2

"IF" 문을 추가하여 매크로 없이도 얻을 수 있었습니다. 출력은 다음과 같아야 합니다.

주어진 행 A1:F1 = -2, -3, -6, 6, 20, 2

출력 행 A2:F2 = 0, 0, 0, 0, 0, 15, 2

첫 번째 긍정적인 SUM 결과에서 중지됩니다.

.

그래서 공식은 매우 길어졌고 좋은 해결책이 아니었습니다. 지금은 사용해도 되지만 매크로 공유해주실 분 계시면 정말 감사하겠습니다.

A2행:F2

A2=IF(합계(A1:A1)<0,0,A1)

B2=IF(합계(A1:B1)<0,0,IF(A1>0,B1,합계(A1:B1)))

C2=IF(합계(A1:C1)<0,0,IF(B3>0,C1,합계(A1:C1)))

D2=IF(합계(A1:D1)<0,0,IF(C3>0,D1,합계(A1:D1)))

E2=IF(합계(A1:E1)<0,0,IF(D3>0,E1,합계(A1:E1)))

F2=IF(합계(A1:F1)<0,0,IF(E3>0,F1,합계(A1:F1)))

.

다시 한 번 생각해주신 모든 분들께 감사드립니다.

관련 정보