急! Excel lookup問題

2010-07-30 2:36 am
係Excel入面, 我有兩行數, 但第一行數不能人手排序

A B
1 10 35
2 5 40
3 8 20
4 2 500
5 25 73

有甚麼函數或方法可以幫我將第一行自動排序, 然後讓我可以做vlookup或者lookup?

請高手指教. 謝!

回答 (1)

2010-07-30 5:04 am
✔ 最佳答案
如果你A欄的值是沒有重複的, 那用lookup函數時就沒有必要排序, 否則排序後lookup函數的結果亦只會是重複目標到的頭一個.

但如果你是另有原因而要自動排序A欄的話, 我諗你得借用巨集功能了,以下是以你上述例子做出來的例子, 當中的A1:B6及Sheet1你可以自動修改:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Range("A1:B6").Select
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("A1:A6"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range("A1:B6")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub

2010-07-29 21:23:19 補充:
於Excel開啟VBA功能: 開啟Excel>按Alt+F11
由於上例是想當點選活頁時就自動排序, 所以要double click>This Workbook然後於程式碼視窗中插入上方程式碼.


收錄日期: 2021-04-11 18:00:33
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20100729000051KK01452

檢視 Wayback Machine 備份