Tạo hàm trong excel

  • Thread starter Thread starter damLuat
  • Ngày gửi Ngày gửi
Liên hệ QC

damLuat

Thành viên mới
Tham gia
14/3/08
Bài viết
7
Được thích
1
Tôi thường xuyên phải nhập hệ số lương, mỗi lần nhập lại phải tra cứu tập thang bảng lương, làm như vậy rất mất thời gian! Vì vậy tôi muốn nhờ các bạn tạo giúp một hàm dạng: Hesoluong(maHS,bac), giá trị trả về của hàm là Hệ số lương, trong đó MaHS, bac được lấy trong bảng nguồn lập sẵn trong excel như sau:
Cột 1: MaHS
cột 2 đến cột 13 là bậc lương
Giao giữa Dòng MaHS và cột Bac là ô chứa giá trị Hesoluong cần lấy tôi gửi theo đây bảng hệ số lương.
Tôi nghĩ đề tài này sẽ rất có ích cho nhiều người giống như hàm Chuyển số thành chữ. Mông các bạn quan tâm giúp.
 
Đã có các bảng tra thì dùng các hàm tìm kiếm như VLOOKUP, INDEX mà xài, cần gì phải hàm tự tạo cho rối...
Bạn đưa file lên, nói rõ bạn đang vướng tại mục nào, cell nào? cột nào? Sẽ có người làm giúp bạn!
ANH TUẤN
 
Upvote 0
Cám ơn AnhTuan 1066, tuy nhiên nếu lập được hàm bằng VBA chạy trong excel vẫn tốt hơn việc tra cứu trực tiếp. AnhTuan 1066 hãy giúp mình nhé
 
Lần chỉnh sửa cuối:
Upvote 0
damLuat đã viết:
Cám ơn AnhTuan 1066, tuy nhiên nếu lập được hàm bằng VBA chạy trong excel vẫn tốt hơn việc tra cứu trực tiếp. AnhTuan 1066 hãy giúp mình nhé
Vậy thì đành nhờ các cao thủ khác làm giúp phần hàm tự tạo, chứ còn tôi thì thấy bài toán này quá dễ nếu dùng hàm INDEX
như:
INDEX(Bang, Match(Ma,.....),Match(Bac,....))
Là xong... Muốn gọn hơn thì đặt name.. có khó gì chứ
ANH TUẤN
 
Upvote 0
Việc dùng hàm có sẵn của excel theo gợi ý của anhTuan 1066 mình đã làm và đã thành công nhiều trong chuyên môn nghiệp vụ, nay mình thấy nếu như xây dựng được 1 hàm bằng VBA, sau khi Macro được cài đặt vào add in thì hay biết bao nhiêu. Vậy bạn nào biết thì gúp nhé. Xin cám ơn trước.
 
Upvote 0
damLuat đã viết:
Nay nếu xây dựng được 1 hàm bằng VBA, sau khi Macro được cài đặt vào add in thì hay biết bao nhiêu. Vậy bạn nào biết thì gúp nhé. Xin cám ơn trước.
Mình đoán rằng bạn trong 1 CS của Quốc doanh/Nhà nước;
Đúng, hệ thống thang bảng lương là quyễn dày khoảng 200 trang cho mọi ngành;
Theo mình nhớ thì nhiều bậc lương nhất là 16 bậc;
Phần đông là 7 - 12 bậc;
Như vậy ta lấy bậc lương làm cột (các cột theo chiều tăng dần được bố trí các bậc của thang lương.)
còn các hàng, thì mỗi hàng sẽ được nhập 1 thang lương;
ví dụ thang lương bảo vệ, nấu ăn, Cán sự, kỹ sư, chuyên viên chính, Giám đốc . . . .
Vấn đề cần cho bạn là tra nhanh nó thuộc dòng nào; Còn chuyên tìm cột nào là chuyện phụ , phải không!
Như vậy bạn phải phân nhóm các thang lương;
Như nhóm hành chính sự nghiệp;
Hóa chất, nóng độc hại;
Nguy hiễm, phóng xạ, biên giới, hải đảo, . . .
Theo mình, thì bạn sẽ có khoảng 2-300 dòng; thì nên phân loại thang lương này sao cho khoa học nhất đễ dễ tìm trên excel
Bạn nên biết rằng nếu bố cục không khoa học & thích hợp, thì hàm cũng khó mà hỗ trợ bạn được;
Một khi đã có phân nhóm thang lương rồi thì việc lập bảng & viết hàm tự tạo hay dùng C. Formatting cũng đạt kết quả mĩ mãn được!
Mong bạn thêm ý kiến!
 
Upvote 0
damLuat đã viết:
nhờ các bạn tạo giúp một hàm dạng: Hesoluong(maHS,bac), giá trị trả về của hàm là Hệ số lương
Gởi bạn hàm HeSoLuong
Mã:
Function HeSoLuong(MaHs, Bac)
Dim ShBL As Object, BangLuong As Range
Dim vtr As Long, vtc As Integer
On Error Resume Next
Set ShBL = ThisWorkbook.Sheets("HeSoLuong")
cc = ShBL.Cells(2, 2).End(xlToRight).Column
rc = ShBL.Cells(2, 2).End(xlDown).Row
Set BangLuong = Range(ShBL.Cells(2, 2), ShBL.Cells(rc, cc))
vtc = Application.WorksheetFunction.Match(MaHs, Range(ShBL.Cells(2, 2), ShBL.Cells(2, cc)), 0)
vtr = Application.WorksheetFunction.Match(Bac, Range(ShBL.Cells(2, 2), ShBL.Cells(rc, 2)), 0)
Error.Value = 0
HeSoLuong = Application.WorksheetFunction.Index(BangLuong, vtr, vtc)
End Function
 

File đính kèm

Upvote 0
Cám ơn Giải pháp Excel, Cám ơn tất cả các bạn, Cám ơn bạn Phạm Dy Long đã quan tâm và dành thời gian quý báu cho đề tài. Tôi đang nghiên cứu để triển khai ứng dụng cho công tác nghiệp vụ của mình. Thật là tuyệt vời. Xin cám ơn tất cả. Xin chào và xin hẹn gặp lại.
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom