2017-01-18 1 views
0

팀 -Excel 수식 : 가중치 중간

나는 셀 B2 : B70에 무게가 있고 셀 C2 : C70에 무게가 있습니다. 셀 C71을 채우기 위해 가중치 중앙값을 찾으려고합니다. 가중 평균은 = SUMPRODUCT ($ B2 : $ B70, C2 : C70)/SUM ($ B2 : $ B70)을 사용하여 계산되지만, 가중치 중앙값의 경우 우아한 수식을 생각할 수 없습니다. 아마 나는 몹시 천천히 가고있다.

미리 감사드립니다.

+0

필요한 배열을 만들려면 vba 또는 적어도 두 개의 도우미 열이 있어야합니다. –

+0

도우미 열 솔루션을 사용하기 편리합니다. – Mohammed

답변

0

나는 이것이 당신이 원하는 것을 할 것이라고 생각합니다.

Function WeightedMedian(ValueRange As Range, WeightRange As Range) 

Dim MedianArray() 

On Error GoTo WrongRanges 

ArrayLength = Application.Sum(WeightRange) 
ReDim MedianArray(1 To ArrayLength) 

Counter = 0 
ArrayCounter = 0 

For Each ValueRangeCell In ValueRange 

LoopCounter = LoopCounter + 1 
FirstArrayPos = ArrayCounter + 1 
ArrayCounter = ArrayCounter + Application.Index(WeightRange, LoopCounter) 

For n = FirstArrayPos To ArrayCounter 

MedianArray(n) = ValueRangeCell.Value 

Next 

Next 

WeightedMedian = Application.Median(MedianArray) 
Exit Function 

WrongRanges: 
WeightedMedian = CVErr(2016) 
End Function