答案 0 :(得分:0)
如果数据始终采用您首先显示最低排名项目的格式,您是否可以使用Vlookup?
= VLOOKUP(E2,A:B,2,假)
这会在第一次出现A时将项目拉到A的右侧。如果您需要最后一项,那么您可以使用:
= VLOOKUP(E2,A:B,2,真)
答案 1 :(得分:0)
我已经使用以下vba来查找独立工作的项目的低级别,以便初始排序顺序。每个项目的低级别显示在C列中,我打算复制和删除重复项以获得简明列表。只需要找到一种方法来确定何时停止循环。
Sub setlowlevel()
Dim lowlevel As Integer
Dim StartRow As Long
Dim LastRow As Long
'Find lowlevels
lowlevel = 0
StartRow = 2
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
Do
Sheet4.Range("C" & StartRow).Select
ActiveCell.FormulaR1C1 = "=IF(COUNTIF(R" & StartRow & "C2:R" & LastRow & "C2,RC[-2])=0," & lowlevel & "," & lowlevel + 1 & ")"
Selection.AutoFill Destination:=Range("C" & StartRow & ":C" & LastRow)
Range("A" & StartRow & ":C" & LastRow).Select
ActiveWorkbook.Worksheets("Sheet4").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet4").Sort.SortFields.Add Key:=Range("C" & StartRow & ":C" & LastRow) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet4").Sort
.SetRange Range("A" & StartRow & ":C" & LastRow)
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
lowlevel = lowlevel + 1
StartRow = Sheet4.Range("C:C").Find(what:=lowlevel, after:=Sheet4.Range("C1"), LookIn:=xlValues).Row
Loop Until ???????????
End Sub