나는 엑셀 초보자이므로 이미 이에 대한 답변이있을 수 있으며 올바른 용어를 알지 못했습니다. 데이터 집합을 변환 한 다음 중간 열을 사용하지 않고 다른 수식에서 사용하려고합니다.
현재 A 열에 10 개의 자산이 있고 B 열에 일부 점수가있는 스프레드 시트가 있습니다. 점수를 기준으로 각 자산에 할당 할 포트폴리오의 백분율을 계산하려고하지만 더 이상 자산을 가질 수 없도록 제한하고 싶습니다 포트폴리오의 30 % 이상.
점수 프라임에 다른 열을 사용하지 않고이 모자를 부과하는 방법을 알아내는 데 어려움을 겪고 있습니다.
열 B의 점수 데이터를 감안할 때 각 행에 수식이있는 열 D, "조정되지 않은 포트폴리오 백분율"이 있습니다. =B3/SUM($B$2:$B$11)
그런 다음 열 B의 값이 있지만 열이 30 %로 설정된 열 E가 있습니다 =MIN(D2, 0.3)
.
마지막으로 F 열 "조정 된 포트폴리오 백분율"이 =E2/SUM($E$2:$E$11)
있습니다.
열 E없이 어떻게합니까?
첫 번째 본능은 람다 스타일을 사용하기 전에 열에 변환을 적용하는 구문이있을 수 있다는 것입니다. 즉, 의사 코드에서 조정 된 포트폴리오 백분율 열을 계산할 수 있어야합니다.
let values = min(score / sum(scores), .3) / sum(adjusted) for score in scores
where adjusted = min(score / sum(scores), .3) for score in scores
람다 구문의 일종으로 수식을 작성할 수 있다면 스토킹 할 수는 있지만 Excel 로이 작업을 수행하는 방법에 대한 실마리는 없습니다. 예를 들어 B 열에 점수가 있으면 두 번째 행은
=MIN(B2/SUM($B:$B), .3)/SUM(x -> MIN(x/SUM($B:$B), .3), $B:$B)
.
반복되는 논리를 로컬 함수로 분해하는 것은 멋지지만 프로그래밍 언어가 아닌 무언가를 묻는 것이 좋습니다. 아마도이 데이터 변환은 프로그래밍 언어가 아닌 것을 요구하기에 많은 것일까 요?