假设有 3 列:第一列表示姓名,第二列表示一些字符串变量,包括随机顺序的身高和体重,第三列表示相应的数值。我对每个人的体重/身高比率感兴趣。有没有更聪明的方法来计算所有比率,而不是逐一计算?请参见下图。
A B C
Mike height 170
Mike weight 40
Mike income 1000
Mike sex 0
Anna income 1500
Anna weight 60
Anna height 170
Carl sex 1
Carl weight 60
Carl height 150
Jo height 190
Jo weight 47
Jo sex 1
从上面的三列中,我想计算每个人的体重与身高的比率,如下所示:
D E
Mike 0.235294118
Anna 0.352941176
Carl 0.4
Jo 0.247368421
答案1
答案2
如果您有 Excel O365,由于 Excel 的溢出行为,可以使用单个单元格中的单个公式来完成此操作。这纯粹是为了教育目的,因为可以使用更简单的公式。我尝试了E1
:
=TRANSPOSE(CHOOSE({1,2},TRANSPOSE(UNIQUE(A1:A13)),SUMIFS(C1:C13,A1:A13,TRANSPOSE(UNIQUE(A1:A13)),B1:B13,"weight")/SUMIFS(C1:C13,A1:A13,TRANSPOSE(UNIQUE(A1:A13)),B1:B13,"height")))
如果您想要SORT
按人名(或体重/身高比)查找,可以这样做:
姓名:
=SORT(TRANSPOSE(CHOOSE({1,2},TRANSPOSE(UNIQUE(A1:A13)),SUMIFS(C1:C13,A1:A13,TRANSPOSE(UNIQUE(A1:A13)),B1:B13,"weight")/SUMIFS(C1:C13,A1:A13,TRANSPOSE(UNIQUE(A1:A13)),B1:B13,"height"))),1,1)
比率:
=SORT(TRANSPOSE(CHOOSE({1,2},TRANSPOSE(UNIQUE(A1:A13)),SUMIFS(C1:C13,A1:A13,TRANSPOSE(UNIQUE(A1:A13)),B1:B13,"weight")/SUMIFS(C1:C13,A1:A13,TRANSPOSE(UNIQUE(A1:A13)),B1:B13,"height"))),2,1)