행의 합계, 첫 번째 결과가 양수이면 중지됩니다. 나머지 행 값은 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)))
.
다시 한 번 생각해주신 모든 분들께 감사드립니다.