Excel:如何从随机排序列表中提取重复值?

Excel:如何从随机排序列表中提取重复值?

假设有 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

在 T1 中,您可以使用以下公式,然后向下拖动以获取其他名称。

=SUMIFS(Q:Q,O:O,S1,P:P,"HEIGHT")/SUMIFS(Q:Q,O:O,S1,P:P,"WEIGHT")

啊,这个答案与原始图像相符。

如果您根据问题的更新移动了列,则可能需要调整列以适应。

在此处输入图片描述

答案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)

相关内容