Hàm thống kê số ngày làm việc của đại lý (1 người xem)

Liên hệ QC

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

luckyluke2828

Thành viên mới
Tham gia
16/12/08
Bài viết
36
Được thích
3
Dear các bạn,
Mình có 1 bài toán cần giải, xin mọi người giúp.
Có 1 chiến dịch 3 đại lý A, B, C hỗ trợ cho công ty và kết quả thể hiện qua bảng 1 như file đính kèm có 3 cột:
- 1) Service dealer: 3 đại lý A, B, C
- 2) Sản phẩm: các sản phẩm đại lý hỗ trợ công ty thực hiện
- 3) Ngày hỗ trợ: ngày các đại lý hỗ trợ công ty làm việc.
Mình cần tính: tổng số ngày 1 đại lý hỗ trợ cho công ty thì có thể dùng công thức nào.
Lưu ý: thứ 2 và thứ 7 chỉ tính 1/2 ngày, các ngày khác tính 1 ngày.
Thân
 

File đính kèm

Dear các bạn,
Mình có 1 bài toán cần giải, xin mọi người giúp.
Có 1 chiến dịch 3 đại lý A, B, C hỗ trợ cho công ty và kết quả thể hiện qua bảng 1 như file đính kèm có 3 cột:
- 1) Service dealer: 3 đại lý A, B, C
- 2) Sản phẩm: các sản phẩm đại lý hỗ trợ công ty thực hiện
- 3) Ngày hỗ trợ: ngày các đại lý hỗ trợ công ty làm việc.
Mình cần tính: tổng số ngày 1 đại lý hỗ trợ cho công ty thì có thể dùng công thức nào.
Lưu ý: thứ 2 và thứ 7 chỉ tính 1/2 ngày, các ngày khác tính 1 ngày.
Thân
Bạn xem thử
 

File đính kèm

Dear các bạn,
Mình có 1 bài toán cần giải, xin mọi người giúp.
Có 1 chiến dịch 3 đại lý A, B, C hỗ trợ cho công ty và kết quả thể hiện qua bảng 1 như file đính kèm có 3 cột:
- 1) Service dealer: 3 đại lý A, B, C
- 2) Sản phẩm: các sản phẩm đại lý hỗ trợ công ty thực hiện
- 3) Ngày hỗ trợ: ngày các đại lý hỗ trợ công ty làm việc.
Mình cần tính: tổng số ngày 1 đại lý hỗ trợ cho công ty thì có thể dùng công thức nào.
Lưu ý: thứ 2 và thứ 7 chỉ tính 1/2 ngày, các ngày khác tính 1 ngày.
Thân
Tạo bảng thống kê: F1: G4
F2="A", F3="B", F4="C"
Mã:
G2=SUMPRODUCT((MMULT(N((WEEKDAY($C$2:$C$100)<>{2,7})),{1;1})/2)*($A$2:$A$100=F2))
Enter, fill xuống.

Thân
 

File đính kèm

Tạo bảng thống kê: F1: G4
F2="A", F3="B", F4="C"
Mã:
G2=SUMPRODUCT((MMULT(N((WEEKDAY($C$2:$C$100)<>{2,7})),{1;1})/2)*($A$2:$A$100=F2))
Enter, fill xuống.

Thân
Anh rãnh chút thời gian anh giải thích công thức trên cho em với,
Mã:
((MMULT(N((WEEKDAY($C$2:$C$100)<>{2,7})),{1;1})/2)
Số 2 màu đỏ em đánh dấu. Tại sao lại chia cho 2.

Em cảm ơn Anh nhiều!
 
Anh rãnh chút thời gian anh giải thích công thức trên cho em với,
Mã:
((MMULT(N((WEEKDAY($C$2:$C$100)<>{2,7})),{1;1})/2)
Số 2 màu đỏ em đánh dấu. Tại sao lại chia cho 2.

Em cảm ơn Anh nhiều!
Xét thứ của các ngày C2: C100 phải khác thứ { 2 , 7 } (dùng hàm Weekday() em đã biết), nếu dòng nào có:
  • Ngày khác thứ {2 , 7}: thì ra mảng kết quả: {TRUE , TRUE}
  • Ngày thứ 2: thì ra mảng kết quả: {FALSE , TRUE}
  • Ngày thứ 7: thì ra mảng kết quả: {TRUE , FALSE}
  • Dùng hàm N() đổi thành False= 0, True=1
  • Dùng hàm MMULT() để cộng theo dòng, được:
    • Ngày khác thứ {2 , 7}: thì ra kết quả: 1+1 = 2
    • Ngày thứ {2 , 7}: thì ra kết quả: 0+1 hoặc 1+0 = 1
  • Đem Mảng kết quả chia 2:
    • Ngày khác thứ 2 = 2 / 2 =1 (ngày)
    • Ngày thứ {2 , 7} = 1 / 2 = 0.5 (nửa ngày)
Xem thêm cột giải thích trong file.

Thân
 

File đính kèm

Dear các bạn,
Mình có 1 bài toán cần giải, xin mọi người giúp.
Có 1 chiến dịch 3 đại lý A, B, C hỗ trợ cho công ty và kết quả thể hiện qua bảng 1 như file đính kèm có 3 cột:
- 1) Service dealer: 3 đại lý A, B, C
- 2) Sản phẩm: các sản phẩm đại lý hỗ trợ công ty thực hiện
- 3) Ngày hỗ trợ: ngày các đại lý hỗ trợ công ty làm việc.
Mình cần tính: tổng số ngày 1 đại lý hỗ trợ cho công ty thì có thể dùng công thức nào.
Lưu ý: thứ 2 và thứ 7 chỉ tính 1/2 ngày, các ngày khác tính 1 ngày.
Thân
Thêm cách dùng cột phụ với Pivot cho nhẹ nhàng
 

File đính kèm

Tạo bảng thống kê: F1: G4
F2="A", F3="B", F4="C"
Mã:
G2=SUMPRODUCT((MMULT(N((WEEKDAY($C$2:$C$100)<>{2,7})),{1;1})/2)*($A$2:$A$100=F2))
Enter, fill xuống.

Thân
Bác cứ thích làm khó vấn đề, em thích sử dụng mấy hàm đơn giản thôi, dễ hiểu, dễ áp dụng :)
Mã:
=COUNTIF($A$2:$A$68,F2)+SUMPRODUCT(-($A$2:$A$68=F2),--(WEEKDAY($C$2:$C$68)=2)+(WEEKDAY($C$2:$C$68)=7))/2
 

File đính kèm

Bác cứ thích làm khó vấn đề, em thích sử dụng mấy hàm đơn giản thôi, dễ hiểu, dễ áp dụng :)
Mã:
=COUNTIF($A$2:$A$68,F2)+SUMPRODUCT(-($A$2:$A$68=F2),--(WEEKDAY($C$2:$C$68)=2)+(WEEKDAY($C$2:$C$68)=7))/2
Học hỏi lẫn nhau cách giải quyết vấn đề thôi.
 
Bác cứ thích làm khó vấn đề, em thích sử dụng mấy hàm đơn giản thôi, dễ hiểu, dễ áp dụng :)
Hàm của Anh Bill cho đâu có chú thích hàm nào là hàm đơn giản, hay hàm nào là hàm phức tạp đâu!?

"Đơn giản" hay "Phức tạp": là do ý kiến chủ quan của từng người, tùy theo người đó đã hiểu và vận dụng thành thạo các hàm hay không thôi! :)
Từ đó sẽ có những giải thuật khác nhau. Tuy cùng học một "thầy", nhưng người thạo, người vụng là chỗ đó.

Người hiểu nó thì thấy sao không dùng hàm này (Vd: MMULT() cộng theo dòng cho "đơn giản") mà lại đi dùng hàm khác (Vd: Sumproduct() rồi thêm nhiều cái Weekday() quá làm chi cho "rắc rối lê thê" vậy!?) :)

Thành ngữ: "9 người 10 ý"

Biết mần răng?

Thân
/-*+//-*+//-*+/
 
Cám ơn bạn, nhưng cách bạn không được. Trong bảng có nhiều ngày trùng lặp của 1 đại lý và công thức phải không đếm những ngày trùng thì mới được.
Thân
Bài đã được tự động gộp:

Tạo bảng thống kê: F1: G4
F2="A", F3="B", F4="C"
Mã:
G2=SUMPRODUCT((MMULT(N((WEEKDAY($C$2:$C$100)<>{2,7})),{1;1})/2)*($A$2:$A$100=F2))
Enter, fill xuống.

Thân
Cám ơn bạn, nhưng giải pháp không đúng.
Điều làm khó mình là 1 đại lý, có ngày làm 1 sản phẩm, thể hiện trong 1 dòng, có ngày làm 2,3,4 ... sản phẩm, thể hiện trong nhiều dòng. Và công thức sẽ chỉ tính 1 dòng thôi.
VD như file đính kèm.
Thân
 

File đính kèm

Lần chỉnh sửa cuối:
Cám ơn bạn, nhưng giải pháp không đúng.
Điều làm khó mình là 1 đại lý, có ngày làm 1 sản phẩm, thể hiện trong 1 dòng, có ngày làm 2,3,4 ... sản phẩm, thể hiện trong nhiều dòng. Và công thức sẽ chỉ tính 1 dòng thôi.
Đúng hay không!? là do bạn đưa yêu cầu không rõ ràng ngay từ đầu. (bài #1 không thấy chỗ nào có ghi bỏ trùng lắp ngày như yêu cầu bạn mới ghi).

Muốn vậy thì chỉ thêm điều kiện lọc và chỉnh lại công thức như sau:
Mã:
=SUM(IFERROR((MMULT(N((WEEKDAY($C$2:$C$100)<>{2,7})),{1;1})/2)*(MATCH($C$2:$C$100,IF($A$2:$A$100=G2,$C$2:$C$100),)=ROW($1:$100)),0))
Kết thúc bằng Ctrl+Shift+Enter. Fill xuống.

Thân
 

File đính kèm

Đúng hay không!? là do bạn đưa yêu cầu không rõ ràng ngay từ đầu. (bài #1 không thấy chỗ nào có ghi bỏ trùng lắp ngày như yêu cầu bạn mới ghi).

Muốn vậy thì chỉ thêm điều kiện lọc và chỉnh lại công thức như sau:
Mã:
=SUM(IFERROR((MMULT(N((WEEKDAY($C$2:$C$100)<>{2,7})),{1;1})/2)*(MATCH($C$2:$C$100,IF($A$2:$A$100=G2,$C$2:$C$100),)=ROW($1:$100)),0))
Kết thúc bằng Ctrl+Shift+Enter. Fill xuống.

Thân
Ok bạn,
thank bạn rất nhiều nha
 
Web KT

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

Back
Top Bottom