Giúp lập công thức tính tiền có điều kiện

Liên hệ QC

thanhtungtmn1989

Thành viên chính thức
Tham gia
17/12/14
Bài viết
91
Được thích
15
Xin chào tất cả mọi người, mọi người cho em hỏi giờ em muốn tính tiền cho từng người thì em sử dụng hàm gì được ạ. Vì 1 hàng có 3 người cùng làm 1 công việc nên khối lượng chia 3.
 

File đính kèm

  • tinh tien.xlsx
    9.8 KB · Đọc: 6
Lần chỉnh sửa cuối:
Xin chào tất cả mọi người, mọi người cho em hỏi h em muốn tính tiền cho từng người thì em sử dụng hàm gì được ạ. Vì 1 hàng có 3 người cùng làm 1 công việc nên khối lượng chia 3.
Ghi cụ thể kết quả mong muốn vào file xem thế nào đi bạn. Nên sửa tiêu đề thành: "Giúp lập công thức tính tiền có điều kiện".
 
Lần chỉnh sửa cuối:
đây bạn ơi, do có dòng " Lê Long Triều, Nguyễn Thanh Tùng, Lê Kim Dũng" nên mình ko biết sum làm sao.
 

File đính kèm

  • tinh tien.xlsx
    9.8 KB · Đọc: 3
cảm ơn bạn đã nhắc, mình gửi lại ah.
 

File đính kèm

  • file sua.xlsx
    10.3 KB · Đọc: 9
Xin chào tất cả mọi người, mọi người cho em hỏi giờ em muốn tính tiền cho từng người thì em sử dụng hàm gì được ạ. Vì 1 hàng có 3 người cùng làm 1 công việc nên khối lượng chia 3.
Chúc mừng năm mới!

Bạn thử dùng công thức mảng này trong H2:

Mã:
=SUM(IF(ISNUMBER(SEARCH(", "&G2&",",", "&$A$2:$A$17&",")),$B$2:$B$17/(1+LEN($A$2:$A$17)-LEN(SUBSTITUTE($A$2:$A$17,",","")))))

Kết thúc bằng Ctrl + Shift +Enter, nếu phiên bản Excel <2019 hoặc khác 365,

.
 
Không biết đã đúng ý bạn chưa.
Cảm ơn bạn, đúng rùi bạn. Năm mới chúc gia đình bạn thật nhiều sức khỏe và gặp nhiều điều may mắn nhé.
Bài đã được tự động gộp:

Chúc mừng năm mới!

Bạn thử dùng công thức mảng này trong H2:

Mã:
=SUM(IF(ISNUMBER(SEARCH(", "&G2&",",", "&$A$2:$A$17&",")),$B$2:$B$17/(1+LEN($A$2:$A$17)-LEN(SUBSTITUTE($A$2:$A$17,",","")))))

Kết thúc bằng Ctrl + Shift +Enter, nếu phiên bản Excel <2019 hoặc khác 365,

.
Mình cám ơn bạn nhé, cũng là 1 cách làm ra. Năm mới chúc gia đình mạnh khỏe.
Bài đã được tự động gộp:

Lần đầu tiên trông thấy hàm SUMIF_868
Bạn ấy viết hàm tự tạo ấy, mình cũng muốn tìm hiểu VBA. mà chưa biết tiếp cận ở đâu.
 
Nếu một người xuất hiện nhiều hơn 1 lần? Ví dụ có làm riêng và cũng có làm chung? Hoặc làm chung nhiều nhóm?
 
Lần chỉnh sửa cuối:
Chắc bạn thêm xuống dòng dưới nhưng chưa sửa lại mảng dữ liệu chăng ? Tôi thử công thức đúng mà
Bạn ấy thêm hai người ở dòng 12 (Nguyễn Thanh Tùng) và dòng 15 (Trần Thị Hòa), dòng 12 thì đủ dấu cách sau dấu phẩy nên vẫn đúng, còn dòng 15 do thiếu dấu cách ở sau dấu phẩy cuối cùng nên không nhảy bạn ạ.
 
Bạn ấy thêm hai người ở dòng 12 (Nguyễn Thanh Tùng) và dòng 15 (Trần Thị Hòa), dòng 12 thì đủ dấu cách sau dấu phẩy nên vẫn đúng, còn dòng 15 do thiếu dấu cách ở sau dấu phẩy cuối cùng nên không nhảy bạn ạ.
Dữ liệu của mấy tay này toàn là đồ không có chuẩn.
Code cho mấy người này thì phải đổi tất cả ", " thành ",". Mọi công thức cũng vậy.

Đáng lẽ một cái bảng đều đặn như vậy thì thớt nên đổi nó thành table. Về sau này dễ xài cho các loại Query.
Nếu gặp table thì code function của bạn phải nhận các tham số là variant. Trong code của bạn chỉ việc thêm phần:
Set rg = đối số
 
@Chủ bài đăng:
Thay vì xài tên nhân viên (NV) ta đổi lại xài mã NV (như bảng dưới đây) thì có thể viết công thức hay UDF đều tiện hơn:

Mã NVSố tiền©Mã NVHọ và tênSố tiền(G)
NQV00150NQV00Nguyễn Quang Vinh
NFF00300NFF00Nguyễn Đình Đoàn
NTA00300NTA00Nguyễn Thị Ân
NVP00300NVP00Nguyễn Văn Phúc
HHY00300HHY00Hoàng Thị Hải Yến
HTC00300HTC00Hoàng Thanh Chiến
NTA00600PFH00Phan Đại Hiệp
NVP00300NTP00Nguyễn Thị Phượng
PFH00300TTH00Trần Thị Hoà
NTP00800LGV00Lê Gia vĩ
TTH00,NTT00300LKD00Lê Kim Dũng
LGV00300LLT00Lê Long Triều
LKD00900VTQ00Vũ Tiến Quân
LLT00,NTT00,LKD00,TTH0015,000VTP00Vũ Tri Phương
VTQ00300NTT00Nguyễn Thanh Tùng
VTP00300
20,75020,750

PHP:
Function SumIf_22(Ma As String, CSDL As Range)
0 Dim Arr()
 Dim J As Long, Tong As Double, SoChia As Integer, DD As Integer, VTr As Integer
 
 For J = 1 To CSDL.Rows.Count
    VTr = InStr(CSDL.Cells(J, 1).Value, Ma)
1    DD = Len(CSDL.Cells(J, 1).Value)  '** '
    If VTr Then
 2       If Len(CSDL.Cells(J, 1).Value) = 5 Then
 4           Tong = Tong + CSDL.Cells(J, 2).Value
 6       Else    'If Len(CSDL.Cells(J, 1).Value) > 5 Then    '
 3           SoChia = Switch(DD = 23, 4, DD = 11, 2, DD = 17, 3, DD = 29, 5)
 5          Tong = Tong + CSDL.Cells(J, 2).Value / SoChia
 8      End If
    End If
 Next J
 SumIf_22 = Tong
End Function

Các bạn có thể tham khảo thêm tại #21 & #22: https://www.giaiphapexcel.com/diendan/threads/Đố-chơi-đầu-năm.159301/page-2
 
Lần chỉnh sửa cuối:
Cảm ơn bạn, đúng rùi bạn. Năm mới chúc gia đình bạn thật nhiều sức khỏe và gặp nhiều điều may mắn nhé.
Bài đã được tự động gộp:


Mình cám ơn bạn nhé, cũng là 1 cách làm ra. Năm mới chúc gia đình mạnh khỏe.
Bài đã được tự động gộp:


Bạn ấy viết hàm tự tạo ấy, mình cũng muốn tìm hiểu VBA. mà chưa biết tiếp cận ở đâu.
về cơ bản thì giống nhau
=SUMPRODUCT(--ISNUMBER(SEARCH(G10,$A$2:$A$17)),$B$2:$B$17/(1+LEN($A$2:$A$17)-LEN(SUBSTITUTE($A$2:$A$17,",",""))))
 
Web KT
Back
Top Bottom