Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2427|回复: 3

[已解决]取值及位置

[复制链接]
发表于 2016-12-15 17:07 | 显示全部楼层 |阅读模式
各位先進請幫個忙 想不出來  我想找數組中最大值的位置 , 如果有兩個以上最大值 , 取最靠後那個的位置


我需在以下數組中找到最大值98 ,並取得98是第三個值
775598361255


但 當動態數組變為以下時 , 找到最大值為88 , 但有兩個88 最大值 , 我要取 88是第五個值  也就是靠後的
457488528833


這取到的值是要給變量賦值的    例如將取到88的 5 賦值給 x
最佳答案
2016-12-15 18:43
Sub test()
    Dim A()
    A = Array(45, 74, 88, 52, 88, 33)
    MsgBox f(A, 88)
End Sub

Function f(A, x)
    Dim i
    f = -1    '假设-1代表没找到
    For i = UBound(A) To LBound(A) Step -1
        If x = A(i) Then f = i: Exit For
    Next i
End Function
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2016-12-15 17:15 | 显示全部楼层
回复

使用道具 举报

发表于 2016-12-15 18:14 | 显示全部楼层
参考: 取值和位置.zip (6.96 KB, 下载次数: 2)
回复

使用道具 举报

发表于 2016-12-15 18:43 | 显示全部楼层    本楼为最佳答案   
Sub test()
    Dim A()
    A = Array(45, 74, 88, 52, 88, 33)
    MsgBox f(A, 88)
End Sub

Function f(A, x)
    Dim i
    f = -1    '假设-1代表没找到
    For i = UBound(A) To LBound(A) Step -1
        If x = A(i) Then f = i: Exit For
    Next i
End Function
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-23 23:48 , Processed in 0.328267 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表