Hàm điều kiện lọc time sản phẩm

Liên hệ QC

Rit LV

Thành viên mới
Tham gia
11/3/17
Bài viết
44
Được thích
14
Em chào anh/chị ạ,

Em đang lọc tình trạng nhập từ hệ thống cho sản phẩm để tìm thời gian tốt, khá, và xấu, mà em đang loay hoay chưa biết tính như thế nào cho đúng nên em nhờ anh/chị có thể chỉ giúp em cách tìm như thế nào được không ạ.
- Em có 1 thời gian tiêu chuẩn để so thời gian nhập như e miêu tả trong file
=> giờ em phải tìm xem thời gian đó nhập là loại nào đối vs sản phẩm đó ạ.

Em gửi file mong nhờ anh chị giúp đỡ ạ. Em xin cám ơn ạ!
 

File đính kèm

  • Theo dõi thời gian.xlsx
    22.7 KB · Đọc: 20
Bạn xem file
 

File đính kèm

  • Theo dõi thời gian.xlsx
    18.4 KB · Đọc: 17
Từ "time" không luôn luôn có nghĩa là thời gian. Nó cũng có thể hiểu là "lượt".
Đây là một trong những trường hợp tiếng Tây bập bẹ coi chừng bị hiểu lầm.
 
Em chào anh/chị ạ,

Em đang lọc tình trạng nhập từ hệ thống cho sản phẩm để tìm thời gian tốt, khá, và xấu, mà em đang loay hoay chưa biết tính như thế nào cho đúng nên em nhờ anh/chị có thể chỉ giúp em cách tìm như thế nào được không ạ.
- Em có 1 thời gian tiêu chuẩn để so thời gian nhập như e miêu tả trong file
=> giờ em phải tìm xem thời gian đó nhập là loại nào đối vs sản phẩm đó ạ.

Em gửi file mong nhờ anh chị giúp đỡ ạ. Em xin cám ơn ạ!
Bỏ các cột trung gian và thử như sau:
Mã:
F4=DATE(LEFT(D4,4),MID($D4,5,2),MID($D4,7,2))
G4=TIME(MID($E4,1,2),MID($E4,3,2),MID($E4,5,2))
H4=LOOKUP(F4+G4,F4+{-1,0,0}+IF(RIGHT(B4)="A",{"16:","0:","12:"},{"16:","0:","9:"}),{"Best","Good","Terrible"})
Enter, fill xuống.

Thân
 

File đính kèm

  • Theo dõi thời gian.xlsx
    16 KB · Đọc: 13
Lần chỉnh sửa cuối:
Em cám ơn nhiều ạ, em sẽ tìm hiểu và có chỗ nào chưa hiểu e sẽ hỏi lại ạ ^^
Bài đã được tự động gộp:

da
Bỏ các cột trung gian và thử như sau:
Mã:
F4=DATE(LEFT(D4,4),MID($D4,5,2),MID($D4,7,2))
G4=TIME(MID($E4,1,2),MID($E4,3,2),MID($E4,5,2))
H4=LOOKUP(F4+G4,F4+{-1,0,0}+IF(RIGHT(B4)="A",{"16:","0:","12:"},{"16:","0:","9:"}),{"Best","Good","Terrible"})
Enter, fill xuống.

Thân
Dạ em sẽ thử nhé! Em cam ơn anh nhiều ạ!
Bài đã được tự động gộp:

Từ "time" không luôn luôn có nghĩa là thời gian. Nó cũng có thể hiểu là "lượt".
Đây là một trong những trường hợp tiếng Tây bập bẹ coi chừng bị hiểu lầm.
Em sẽ rút kinh nghiệm cho lần sau ạ. Em cám ơn nhé!
 
Bỏ các cột trung gian và thử như sau:
Mã:
F4=DATE(LEFT(D4,4),MID($D4,5,2),MID($D4,7,2))
G4=TIME(MID($E4,1,2),MID($E4,3,2),MID($E4,5,2))
H4=LOOKUP(F4+G4,F4+{-1,0,0}+IF(RIGHT(B4)="A",{"16:","0:","12:"},{"16:","0:","9:"}),{"Best","Good","Terrible"})
Enter, fill xuống.
Anh ơi,

Em có file tương tự, e đã làm công thức rồi, mà em làm hơi thủ công ạ, anh có thể rút ngắn công thức lại giúp e nhé! nội dung em để trong file ạ.

Em cám ơn anh nhiều ạ!
Thân
 

File đính kèm

  • Xếp loại thời gian.xlsx
    35.7 KB · Đọc: 4
Em có file tương tự, e đã làm công thức rồi, mà em làm hơi thủ công ạ, anh có thể rút ngắn công thức lại giúp e nhé! nội dung em để trong file ạ.
Bạn cần phân định rõ các điều kiện sau:

1/ Thường lệ 'Ngày Xuất' phải bằng hoặc sau (lớn hơn) 'Ngày Nhập', lẽ dĩ nhiên, vì có Nhập vào thì mới có cái để Xuất ra. Do đó, mặc nhiên là:
Ngày Xuất > Ngày Nhập (NX>NN) căn cứ theo như điều kiện của bạn ghi tại F2 và I2 thì tình trạng sẽ là: "Tốt NN - Tốt NX", mà không cần phải xét thêm đến giờ Nhập và Xuất, phải không?​
  • Nếu đúng, bạn giải thích dùm ô kết quả B54, B57 có NX=10/04/2020 > NN=09/04/2020 thì tại sao kết quả là "Tốt NN - Xấu NX"?
  • Nếu không đúng, tức phải xét thêm giờ Nhập/Xuất so với mốc 9h (hoặc 3h), vậy bạn giải thích dùm ô kết quả B5, có NX>NN, nhưng Giờ Nhập: là 14h42 và Giờ Xuất là 9h33 đều lớn hơn 9h, tại sao kết quả là "Tốt NN - NX"?
2/ Trường hợp Ngày Xuất = Ngày Nhập (NX=NN), mới xét thêm giờ Nhập và Xuất, phải không!
  • Giờ Nhập/Xuất <= 9h (hoặc 3h) thì tình trạng "Bình thường" cho việc Nhập/Xuất.
  • Giờ Nhập/Xuất > 9h (hoặc 3h) thì tình trạng "Xấu" cho việc Nhập/Xuất.
3/ Nếu cả hai điều kiện như tôi nêu ra là đúng như ý bạn muốn, tức là:
  • a/ Trường hợp NX>NN, không xét thêm giờ, kết quả: "Tốt NN - Tốt NX"
  • b/ Trường hợp NX=NN, phải xét thêm giờ:
    • Giờ Nhập/Xuất <= 9h (hoặc 3h) thì kết quả "Bình thường" cho việc Nhập/Xuất.
    • Giờ Nhập/Xuất > 9h (hoặc 3h) thì kết quả "Xấu" cho việc Nhập/Xuất.
Thì bạn có thể thay cho công thức của bạn tại ô B5:​
Mã:
B5=IF(AND($C5=$D$2,$H5>$F5,$G5<=$G$2,$I5>$G$2),"Tốt NN - Xấu NX",IF(AND($C5=$D$2,$H5=$F5,$G5<=$G$2,$I5<=$G$2),"BT NN - NX",IF(AND($C5=$D$2,$H5=$F5,$G5<=$G$2,$I5>$G$2),"BT NN - Xấu NX",IF(AND($C5=$D$2,$H5=$F5,$G5>$G$2,$I5>$G$2),"Xấu NN - NX",IF(AND($C5=$D$3,$H5>$F5,$G5<=$G$3,$I5>$G$3),"Tốt NN - Xấu NX",IF(AND($C5=$D$3,$H5=$F5,$G5<=$G$3,$I5<=$G$3),"BT NN - NX",IF(AND($C5=$D$3,$H5=$F5,$G5<=$G$3,$I5>$G$3),"BT NN - Xấu NX",IF(AND($C5=$D$3,$H5=$F5,$G5>$G$3,$I5>$G$3)," Xấu NN - NX","Tốt NN - NX"))))))))
Bằng công thức sau:
Mã:
B5=IF(OR(H5<F5,F5*H5=0),"",INDEX($F$1:$H$1,,(H5=F5)*(1+(G5>3^(1+(C5=$D$2))/24))+1)&" - "&INDEX($I$1:$K$1,,(H5=F5)*(1+(I5>3^(1+(C5=$D$2))/24))+1))
Enter, fill xuống.

Thân
 

File đính kèm

  • Xếp loại thời gian.xlsx
    41.5 KB · Đọc: 6
Lần chỉnh sửa cuối:
Bạn cần phân định rõ các điều kiện sau:

1/ Thường lệ 'Ngày Xuất' phải bằng hoặc sau (lớn hơn) 'Ngày Nhập', lẽ dĩ nhiên, vì có Nhập vào thì mới có cái để Xuất ra. Do đó, mặc nhiên là:
Ngày Xuất > Ngày Nhập (NX>NN) căn cứ theo như điều kiện của bạn ghi tại F2 và I2 thì tình trạng sẽ là: "Tốt NN - Tốt NX", mà không cần phải xét thêm đến giờ Nhập và Xuất, phải không?​
  • Nếu đúng, bạn giải thích dùm ô kết quả B54, B57 có NX=10/04/2020 > NN=09/04/2020 thì tại sao kết quả là "Tốt NN - Xấu NX"?
  • Nếu không đúng, tức phải xét thêm giờ Nhập/Xuất so với mốc 9h (hoặc 3h), vậy bạn giải thích dùm ô kết quả B5, có NX>NN, nhưng Giờ Nhập: là 14h42 và Giờ Xuất là 9h33 đều lớn hơn 9h, tại sao kết quả là "Tốt NN - NX"?
2/ Trường hợp Ngày Xuất = Ngày Nhập (NX=NN), mới xét thêm giờ Nhập và Xuất, phải không!
  • Giờ Nhập/Xuất <= 9h (hoặc 3h) thì tình trạng "Bình thường" cho việc Nhập/Xuất.
  • Giờ Nhập/Xuất > 9h (hoặc 3h) thì tình trạng "Xấu" cho việc Nhập/Xuất.
3/ Nếu cả hai điều kiện như tôi nêu ra là đúng như ý bạn muốn, tức là:
  • a/ Trường hợp NX>NN, không xét thêm giờ, kết quả: "Tốt NN - Tốt NX"
  • b/ Trường hợp NX=NN, phải xét thêm giờ:
    • Giờ Nhập/Xuất <= 9h (hoặc 3h) thì kết quả "Bình thường" cho việc Nhập/Xuất.
    • Giờ Nhập/Xuất > 9h (hoặc 3h) thì kết quả "Xấu" cho việc Nhập/Xuất.
Thì bạn có thể thay cho công thức của bạn tại ô B5:​
Mã:
B5=IF(AND($C5=$D$2,$H5>$F5,$G5<=$G$2,$I5>$G$2),"Tốt NN - Xấu NX",IF(AND($C5=$D$2,$H5=$F5,$G5<=$G$2,$I5<=$G$2),"BT NN - NX",IF(AND($C5=$D$2,$H5=$F5,$G5<=$G$2,$I5>$G$2),"BT NN - Xấu NX",IF(AND($C5=$D$2,$H5=$F5,$G5>$G$2,$I5>$G$2),"Xấu NN - NX",IF(AND($C5=$D$3,$H5>$F5,$G5<=$G$3,$I5>$G$3),"Tốt NN - Xấu NX",IF(AND($C5=$D$3,$H5=$F5,$G5<=$G$3,$I5<=$G$3),"BT NN - NX",IF(AND($C5=$D$3,$H5=$F5,$G5<=$G$3,$I5>$G$3),"BT NN - Xấu NX",IF(AND($C5=$D$3,$H5=$F5,$G5>$G$3,$I5>$G$3)," Xấu NN - NX","Tốt NN - NX"))))))))
Bằng công thức sau:
Mã:
B5=IF(OR(H5<F5,F5*H5=0),"",INDEX($F$1:$H$1,,(H5=F5)*(1+(G5>3^(1+(C5=$D$2))/24))+1)&" - "&INDEX($I$1:$K$1,,(H5=F5)*(1+(I5>3^(1+C5=$D$2))/24))+1))
Enter, fill xuống.
Đầu tiên, e xin cám ơn a ạ.
Như những gì anh phân tích là đúng theo ý em ạ. Do e diễn đạt thiếu ý nên đã làm anh khó hơn khi hiểu ạ. Em đã áp dụng công thức của anh và kết quả đúng theo trường hợp ạ. Còn về công thức a có thể giải thích cho e đc rõ hơn chộ này k ạ?
(H5=F5)*(1+(G5>3^(1+(C5=$D$2))/24))+1)

Em cám ơn a đã giúp đỡ ạ! ^^
Thân
 
Đầu tiên, e xin cám ơn a ạ.
Như những gì anh phân tích là đúng theo ý em ạ. Do e diễn đạt thiếu ý nên đã làm anh khó hơn khi hiểu ạ. Em đã áp dụng công thức của anh và kết quả đúng theo trường hợp ạ. Còn về công thức a có thể giải thích cho e đc rõ hơn chộ này k ạ?
(H5=F5)*(1+(G5>3^(1+(C5=$D$2))/24))+1)

Em cám ơn a đã giúp đỡ ạ! ^^
Nhờ bạn hỏi, tôi mới xem lại các mốc giờ đúng là: 9h và 15h (3h PM). Điều chỉnh công thức bạn hỏi thành:
= (H5=F5)*(1+(G5>(9+(C5=$D$3)*6)/24))+1

Công thức trên tính ra 'cột thứ mấy' cần trả về:
  1. Các cột: F1: H1 (có 3 cột); và I1: K1 (có 3 cột) chứa kết quả cần trả về: "Tốt, BT, Xấu"
  2. Tính 'Mốc Giờ' tùy theo SP là "A" hay "B" = (9+(C5=$D$3)*6)/24
    • Nếu C5=D3 hay C5="SP B" thì: = (9+(TRUE)*6)/24 = (9 + (1)*6)/24 = 15/24 (tức 15h)
    • Nếu C5<>D3, do chỉ có 2 SP: "A" hoặc "B", nên coi như mặc nhiên nó là "SP A", thì = (9+(FALSE)*6)/24 = (9 + (0)*6)/24 = 9/24 (tức 9h)
  3. Tính 'Cột thứ mấy' báo cho hàm INDEX("Tốt, BT, Xấu",, <Cột thứ mấy>).
    • Công thức --> (H5=F5)*(1+(G5>(9+(C5=$D$3)*6)/24)) +1
    • Công thức cho trường hợp 'Ngày Nhập = Ngày Xuất':-->(H5=F5)*(1+(G5>(9+(C5=$D$3)*6)/24))
      • (H5=F5): điều kiện thực hiện các phép tính trên chỉ khi Ngày Nhập bằng Ngày Xuất
      • 1+(G5>(9+(C5=$D$3)*6)/24) Hay 1+ (G5 >'Mốc Giờ' )
        1. Nếu G5 > 'Mốc Giờ': thì 1+ (G5 >'Mốc Giờ' ) = 1 + TRUE = 1 + 1 = 2
        2. Nếu G5 <= 'Mốc Giờ': thì 1+ (G5 >'Mốc Giờ' ) = 1 + FALSE = 1 + 0 = 1
      • Khi H5=F5:
        1. Đúng: thì kết quả trả về 2 hay 1 như trên
        2. Sai: thì kết quả trả về 0.
    • Giá trị +1: --> là trị mặc nhiên cho trường hợp: Ngày Xuất > Ngày Nhập:
      • Trường hợp Ngày Xuất > Ngày Nhập:
        • (H5=F5)*(1+(G5>(9+(C5=$D$3)*6)/24)) +1 = 0 +1 = 1 (cột 1 của F1: H1)
      • Trường hợp Ngày Xuất = Ngày Nhập:
        • (H5=F5)*(1+(G5>(9+(C5=$D$3)*6)/24)) +1 = (TRUE) * (1+(G5 >'Mốc Giờ' )) +1
          1. Hoặc: (TRUE) * (1+(TRUE)) +1 = 1 * ( 1 + 1) + 1 = 2 + 1 = 3 (cột 3 của F1: H1)
          2. Hoặc: (TRUE) * (1+(FALSE)) +1 = 1 * ( 1 + 0) + 1 = 1 + 1 = 2 (cột 2 của F1: H1)
Xem thêm thuyết minh từng phần đoạn công thức trong file kèm.

Thân
 

File đính kèm

  • Xếp loại thời gian.xlsb
    47.4 KB · Đọc: 5
Nhờ bạn hỏi, tôi mới xem lại các mốc giờ đúng là: 9h và 15h (3h PM). Điều chỉnh công thức bạn hỏi thành:
= (H5=F5)*(1+(G5>(9+(C5=$D$3)*6)/24))+1

Công thức trên tính ra 'cột thứ mấy' cần trả về:
  1. Các cột: F1: H1 (có 3 cột); và I1: K1 (có 3 cột) chứa kết quả cần trả về: "Tốt, BT, Xấu"
  2. Tính 'Mốc Giờ' tùy theo SP là "A" hay "B" = (9+(C5=$D$3)*6)/24
    • Nếu C5=D3 hay C5="SP B" thì: = (9+(TRUE)*6)/24 = (9 + (1)*6)/24 = 15/24 (tức 15h)
    • Nếu C5<>D3, do chỉ có 2 SP: "A" hoặc "B", nên coi như mặc nhiên nó là "SP A", thì = (9+(FALSE)*6)/24 = (9 + (0)*6)/24 = 9/24 (tức 9h)
  3. Tính 'Cột thứ mấy' báo cho hàm INDEX("Tốt, BT, Xấu",, <Cột thứ mấy>).
    • Công thức --> (H5=F5)*(1+(G5>(9+(C5=$D$3)*6)/24)) +1
    • Công thức cho trường hợp 'Ngày Nhập = Ngày Xuất':-->(H5=F5)*(1+(G5>(9+(C5=$D$3)*6)/24))
      • (H5=F5): điều kiện thực hiện các phép tính trên chỉ khi Ngày Nhập bằng Ngày Xuất
      • 1+(G5>(9+(C5=$D$3)*6)/24) Hay 1+ (G5 >'Mốc Giờ' )
        1. Nếu G5 > 'Mốc Giờ': thì 1+ (G5 >'Mốc Giờ' ) = 1 + TRUE = 1 + 1 = 2
        2. Nếu G5 <= 'Mốc Giờ': thì 1+ (G5 >'Mốc Giờ' ) = 1 + FALSE = 1 + 0 = 1
      • Khi H5=F5:
        1. Đúng: thì kết quả trả về 2 hay 1 như trên
        2. Sai: thì kết quả trả về 0.
    • Giá trị +1: -->là trị mặc nhiên cho trường hợp: Ngày Xuất > Ngày Nhập:
      • Trường hợp Ngày Xuất > Ngày Nhập:
        • (H5=F5)*(1+(G5>(9+(C5=$D$3)*6)/24)) +1 = 0 +1 = 1 (cột 1 của F1: H1)
      • Trường hợp Ngày Xuất = Ngày Nhập:
        • (H5=F5)*(1+(G5>(9+(C5=$D$3)*6)/24)) +1 = (TRUE) * (1+(G5 >'Mốc Giờ' )) +1
          1. Hoặc: (TRUE) * (1+(TRUE)) +1 = 1 * ( 1 + 1) + 1 = 2 + 1 = 3 (cột 3 của F1: H1)
          2. Hoặc: (TRUE) * (1+(FALSE)) +1 = 1 * ( 1 + 0) + 1 = 1 + 1 = 2 (cột 2 của F1: H1)
Xem thêm thuyết minh từng phần đoạn công thức trong file kèm.

Thân
Bài của anh em đã học thêm 1 số kiến thức mới, em cám ơn anh đã tận tình chỉ dậy ạ. Em còn 1 thắc mắc nữa ạ, nếu thời gian tới e có thêm sản phẩm C , D với khung thời gian như vậy thì e nên chèn vào như thế nào cho đúng ạ.
Ví dụ: - Sản phẩm A và C điều kiện phân loại giống nhau
- Sản phẩm B và D điều kiện phân loại giống nhau ạ
Nếu vậy em sẽ phải chèn thêm hàm if để tìm thêm sản phẩn C, D ... phải ko ạ?

Em cám ơn anh nhiều ạ!
 
Bài của anh em đã học thêm 1 số kiến thức mới, em cám ơn anh đã tận tình chỉ dậy ạ. Em còn 1 thắc mắc nữa ạ, nếu thời gian tới e có thêm sản phẩm C , D với khung thời gian như vậy thì e nên chèn vào như thế nào cho đúng ạ.
Ví dụ: - Sản phẩm A và C điều kiện phân loại giống nhau
- Sản phẩm B và D điều kiện phân loại giống nhau ạ
Nếu vậy em sẽ phải chèn thêm hàm if để tìm thêm sản phẩn C, D ... phải ko ạ?

Em cám ơn anh nhiều ạ!
Trường hợp có nhiều sản phẩm nhưng chỉ phân theo 2 mốc thời gian: hoặc 9h hoặc 15h, bạn có thể áp dụng theo 2 hướng điều chỉnh như sau:

1/ Lập bảng liệt kê nhóm có mốc giờ là: 15h (xem Bảng 1 file đính kèm)
2/ Lập bảng liệt kê chi tiết các mốc giờ của từng loại sản phẩm (xem Bảng 2 file đính kèm).

Điều chỉnh công thức như cột N và O trong file đính kèm.

Thân
 

File đính kèm

  • Xếp loại thời gian.xlsb
    45.6 KB · Đọc: 4
Web KT
Back
Top Bottom