미해결 엑셀2021윈도우
n개의 셀 합계가 참조 셀의 값이 되도록 하는 법 있을까요
<<아래의 조건을 부합하는 C열(C2~C11) 만드는 법>>
- 사용자가 B열(B2~B11)에 거래처명을 입력(최대 10개)
- 입력한 거래처명 옆(C2~C11)에만 거래량(값)을 입력(양의 정수) ※입력 순서는 무작위로 해도 작동 되어야함 ex) 입력순서 C4->C3->C2 or C3->C2->C4다 가능해야 함
- 입력한 거래량의 합계는 참조셀(H2)과 같아야 함(H2보다 크거나 작으면 경고 메시지창 발생, 반드시 입력한 거래량의 합계는 H2와 같아야함)
- 마지막 빈칸에는 자동으로 값이 입력되도록 구현 ex) C2에 20, C3에 20을 입력하면 자동으로 C4는 10이 입력되도록 구현
데이터 유효성검사로 위의 조건들을 구현하려니 쉽지 않네요...
특히 4번을 구현하려니 막혀버리네요 혹시 명쾌한 답 공유 가능하시면 감사하겠습니다
파
김
숫
혀
신
선
댓글 8
파워쿼리로 만들어 봅니다.
이걸 의미하는건지?
@exceller1 님 답변 감사합니다!
안녕하세요~
질문을 이해하기 위해서 질문을 드릴께요.
1. 사용자가 B열(B2~B11)에 거래처명을 입력(최대 10개)
→ 10개 이하의 거래처명을 미리 입력해 두는가요?
→ 가령 5개의 거래처명을 미리 입력해 두고, 6번째 행에는 소계가 나와야 한다는 의미인지요?
2. 입력 순서는 무작위로 해도 작동 되어야함
→ 미리 5개의 거래처명을 입력하고 입력 순서는 랜덤으로 하고, 연번은 5번까지만 나와도 되겠네요?
3. 입력한 거래량의 합계는 참조셀(H2)과 같아야 함
→ H2의 값은 미리 설정해 두는 건가요?
그래서 소계와 H2값은 항상 일치해야 한다는 뜻인지요?
이렇게 되면 H2값과 소계 값을 행을 입력할 때마다 실시간 충돌하는데,
다 입력하고 맨 마지막에 비교해야 할 듯 하네요.
아래와 같이 VBA로 작업했으니 한번 살펴보세요.
※ 매크로를 처음 사용해 보신다면,
인터넷에서 다운받은 매크로 파일은
보안상 기본적으로 차단되어 있어서, 바로 실행하면 매크로가 막히는 경우가 많습니다.
아래와 같이 조치하세요.
[파일 속성에서 차단 해제]
파일을 다운로드 받은 폴더에서 파일 → 마우스 오른쪽 클릭 → 속성
“차단 해제” 체크 후 [확인]
[매크로 보안 설정 확인]
Excel 실행 → [파일] → [옵션] → [보안센터] → [보안센터 설정] → [매크로 설정]
"VBA 매크로 사용" 체크 후 [확인]
(선택)[신뢰할 수 있는 위치에 저장]
자주 쓰는 매크로 파일이라면,
[파일] → [옵션] → [보안센터] → [신뢰할 수 있는 위치]
매크로 파일이 있는 폴더를 추가 후, 그 폴더 안에서 매크로 파일을 실행하면 항상 허용이 됩니다.
@수메리안 님 실행시켜봤는데 제가 생각한 방식으로 어느정도 구현되네요 ^^ VBA는 잘 모르지만 한번 연구해보겠습니다~감사합니다
365버전으로는
=LET(rngB,B2:B11, xTV,H2, xCnt,COUNTA(rngB), xMax,xTV-xCnt, aCut,IF(xCnt>1,SORT(RANDARRAY(xCnt-1,1,0,xMax,TRUE)),0), bCut,VSTACK(0,aCut,xMax),
xDiv,IF(xCnt=1,xTV,DROP(bCut,1)-DROP(bCut,-1)+1), CuSum,SCAN(0,rngB,LAMBDA(xAcc,irng, xAcc+IF(irng="",0,1))),
MAP(rngB,CuSum,LAMBDA(irng,xIdx, IF(irng="","",INDEX(xDiv,xIdx)))))
@라온보리 님 랜덤 재생성: F9키
@라온보리 님 답변 감사합니다!