excel一串数值如6,6,4,4,2,3,3,8,5,7,6,4在同一个单元格,如何找出第N大值所在的位置

6,6,4,4,2,3,3,8,5,7,6,4在同一个单元格,如何在另一个单元格得到结果,六个最大值所在的位置,8在第八位,7在第十位,6在第一,二,十一位,5在第九位 ,因此得到结果是1,2,8,9,10,11 请高手指教

使用代码来完成,如下图的动画。





下面为代码


Sub cha()

Dim rng As Range

Dim arr

Dim strs$

Dim nums, num As Byte

Set d = CreateObject("scripting.dictionary")

    For Each rng In Selection

        arr = Split(rng, ",")

            For Each ar In arr

                strs = strs & ar

                d(ar) = ""

           Next ar

  For Each sr In d.keys

       num = InStr(strs, sr)

       nums = nums & num & ","

  Next sr

       d.RemoveAll

        rng(1, 2) = Left(nums, Len(nums) - 1)

        nums = ""

        arr = ""

        strs = ""

    Next rng

End Sub

追问

不要这样来实现,谢谢

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-10-17
vba可以实现,没有任何问题