Hỏi cách tính thưởng cho nhân viên (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

feelingyes

Thành viên tiêu biểu
Tham gia
24/9/07
Bài viết
459
Được thích
395
Nghề nghiệp
Economic
Các anh chị xem file và chỉ giúp cách tính

Sau khi làm xong (tổng tiền thưởng của cột F bên sheet incentive-tiền thưởng lại không bằng tổng tiền thưởng của các nhân viên cộng lại)
Nó vẫn lệch 0.86
Các anh chị xem file chỉ giúp em với.
Xin cám ơn anh chị
 
Lần chỉnh sửa cuối:
Tôi chưa tìm ra nhưng hình như bạn hơi phức tạp hóa vấn đề, có thể tôi chưa hiểu hết bảng tính của bạn chăng ????
 
Không phải là hiểu hết bảng tính đâu! là do em chưa giải thích thôi.
Ý là như này. Tiền thưởng ở cột F sheet!Incentive sẽ được chia đều cho số nhân viên phục vụ ngày hôm đó
-Số nhân viên phục vụ tối đa là 6 người (nên em để 6 cột)
-Sheet này là do một người bạn nhờ em làm (trước đây tên nhân viên phục vụ họ viết hết vào 1 cell) xong cuối tháng phải tính tay mò lại rất lâu
-Dấu X của em là để cho mảng chạy liên tục (không bị rỗng)
-Mục đích của em là tính tổng tiền thưởng của một nhân viên (nhưng ko hiểu sao sau khi làm xong tổng của nó lại không bằng tổng bên cột F)


Mong các anh chỉ giúp và góp ý
 
Lần chỉnh sửa cuối:
Ha ha
Em tìm ra rồi, nguyên nhân là ông bạn em xoá mất một tên ở trong Name List
là Mr Dương Hồng Quang
-Chỉ cần thêm copy tên này vào Name list là ổn (không có gì sai ở công thức)
-Em làm mãi không ra là vì cứ tập trung xem công thức sai ở chỗ nào
incentive.jpg


Cám ơn các anh chị
 
Tớ làm theo cách này nếu sai cậu biết ở đâu ngay, công thức lại đơn giản !
 

File đính kèm

Đúng thật công thức của anh đơn giản hơn nhiều (nhưng theo em đó là sự tư duy và sáng tạo tốt hơn)

Nhưng trong bài em chưa hiểu được cách doule click mà ra được dấu "p" gì đó rất hay. Mong anh chỉ giúp em

Phannhukhang đã viết:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("I7:AC51")) Is Nothing Then
Cancel = True
If Target = vbNullString Then
With Target
.Value = "þ"
.Font.Name = "Wingdings"
.Font.Size = 14
.HorizontalAlignment = xlCenter
End With
Else: Target = vbNullString
End If
End If
End Sub
Anh chơi món này hóc quá
Công thức lại đơn giản hơn nhiều
Anh nói sơ qua công thức cho em hiểu với VD như
If Not Intersect(Target, Range("I7:AC51")) Is Nothing Then
.....Cancel = True
If Target = vbNullString Then
Cám ơn sự chỉ dạy của anh
 
Lần chỉnh sửa cuối:
Code này tớ sưu tầm thôi...hix hix chơi khó nhau quá. Nếu không dùng code thì bạn dùng dấu "x" cũng được mà. Vọc tý chơi thôi ! Quan trọng là tớ muốn đơn giản hóa cái công thức tồng hợp "khủng" của cậu. Thân !
 
feelingyes đã viết:
Đúng thật công thức của anh đơn giản hơn nhiều (nhưng theo em đó là sự tư duy và sáng tạo tốt hơn)
Món này nếu ko cầu kỳ lắm thì bạn cũng có thể tự làm lấy bằng cách suy nghĩ đơn giản:
1> Chon sự kiện Worksheet_BeforeDoubleClick (hoặc Worksheet_SelectionChange) cho code

2> Đặt code:
Nếu Target (tức cell mình đang thao tác) mà nằm trong vùng (... ) thì sẽ làm công việc này:
Nếu Target.Value = "" thì
Target.Value = "X"
Ngược lại: Target.Value = ""
Kết thúc IF

3> Có thể kiểm tra các font xem thử thằng em dấu check là gì rồi thay vào chử "X"...
4> Format thêm bớt gì đó
Vậy là xong đoạn code rồi... Tuy chưa chắc nó hay bằng code trên nhưng là của bạn làm lấy, sẽ lý thú hơn đấy
ANH TUẤN
 
Web KT

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

Back
Top Bottom