向高手求教,excel 如何在某一单元格显示出第B列中数值前五的数值,以及对应的A列的名称

excel表格中当A列数值中出现某数值时,则B列对应单元格自动填充某数值,怎么运用公式~

在单元格B1输入 公式 =IF(A1<20,1,1+0.1*(A1-19)),然后向下拖拉公式即可

你的从A5开始的,那就在B5输入公式 =IF(A5<20,1,1+0.1*(A5-19)),再向下填充拖一下就可以了

有个笨方法先用countif(排名列,">125")看结果是多少如果不是125
那么就把公式里的条件减少1个数字改成countif(排名列,">124")依次类推
确认你要找的人在多少名
然后SUMIF(排名列,你确定的名次,分数列)

公式为:
=OFFSET($A$1,MATCH(LARGE($B$1:$B$8,1),$B$1:$B$8,0)-1,0)&LARGE($B$1:$B$8,1)&";"&OFFSET($A$1,MATCH(LARGE($B$1:$B$8,2),$B$1:$B$8,0)-1,0)&LARGE($B$1:$B$8,2)&";"&OFFSET($A$1,MATCH(LARGE($B$1:$B$8,3),$B$1:$B$8,0)-1,0)&LARGE($B$1:$B$8,3)&";"&OFFSET($A$1,MATCH(LARGE($B$1:$B$8,4),$B$1:$B$8,0)-1,0)&LARGE($B$1:$B$8,4)&";"&OFFSET($A$1,MATCH(LARGE($B$1:$B$8,5),$B$1:$B$8,0)-1,0)&LARGE($B$1:$B$8,5)

可以用vba自定义一个函数.
按住alt依次按f11,i,m
粘贴下面代码后回到工作表.
假设你给出的数据在a1:b8,用下面的公式即可得到最大的前5个
=hb(A1:A8,B1:B8,5,1)
最后一个参数改为2则为最小的

Function hb(a As Range, b As Range, n As Integer, t As Byte)
With Application.WorksheetFunction
For i = 1 To n
If t = 1 Then
x = .Large(b, i)
For j = 1 To b.Cells.Count
If b.Cells(j) = x Then m = m + 1: hb = hb & a.Cells(j) & " " & b.Cells(j) & ";"
Next
ElseIf t = 2 Then
x = .Small(b, i)
For j = 1 To b.Cells.Count
If b.Cells(j) = x Then m = m + 1: hb = hb & a.Cells(j) & " " & b.Cells(j) & ";"
Next
End If
If m >= n Then Exit For
Next
End With
End Function

相关兴趣推荐

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网