Giúp em về hàm tính sản lượng cộng dồn theo từng ngày

Liên hệ QC

vuanhmy123

Thành viên hoạt động
Tham gia
1/10/11
Bài viết
100
Được thích
4
Giới tính
Nam
Chào cả nhà,
Em loay hoay mãi về công thức tính tổng sản lượng cộng dồn các ngày tiếp theo. Nhưng chưa tìm ra được. Em có đính kèm tệp có câu hỏi e ghi chi tiết bên trong. Giúp em với ạ.
Cảm ơn đã đọc bài
 

File đính kèm

  • san luong may 10 (1).xlsx
    214.9 KB · Đọc: 44
Chào cả nhà,
Em loay hoay mãi về công thức tính tổng sản lượng cộng dồn các ngày tiếp theo. Nhưng chưa tìm ra được. Em có đính kèm tệp có câu hỏi e ghi chi tiết bên trong. Giúp em với ạ.
Cảm ơn đã đọc bài
Hễ điền ngày vào cột H tại bất cứ dòng nào, thì coi như dòng đó là mốc mới để tính dồn.
Bạn xem file kèm. hihi ^o^
 

File đính kèm

  • sanluongmay10.xlsx
    216.2 KB · Đọc: 82
Hễ điền ngày vào cột H tại bất cứ dòng nào, thì coi như dòng đó là mốc mới để tính dồn.
Bạn xem file kèm. hihi ^o^
Em suy nghĩ mấy ngày hôm nay công thức của bác mà chưa thể hiểu nội dung công thức. bác chỉ giúp em với
=SUMIF(OFFSET($E$12,LOOKUP(10^10,$H$13:H13,ROW($1:1)),):$E13,IF(E13="BN64484001",E13,"*"),OFFSET($F$12,LOOKUP(10^10,$H$13:H13,ROW($1:1)),):$F13)
trong công thức dùng kết hợp khá nhiều hàm, sumif, offset, lookup, row @@ , nhìn thôi mà hoa hết cả mắt.
Hàm OFFSET(reference, rows, cols, [height], [width])
Reference E12 là điểm gốc, rows (lookup) ....bla bla, ko hiểu 10^10 nghĩa là gì, 10 tỷ ???, .. khó quá
giải thích công thức giúp em đc ko ? cảm ơn bác
 
công thức thì đúng theo đề bài rồi, nhưng sao nó khó thế, đọc mãi ko hiểu
 
công thức thì đúng theo đề bài rồi, nhưng sao nó khó thế, đọc mãi ko hiểu
Thử mấy công thức đơn giản này:

=SUM(INDIRECT("F"&LOOKUP(2,1/($H$13:H13<>""),ROW($H$13:H13))&":F"&ROW()))

Hoặc:

=SUM(INDEX(F13:INDEX(F:F,LOOKUP(2,1/($H$13:H13<>""),ROW($H$13:H13))),0))
 
Em suy nghĩ mấy ngày hôm nay công thức của bác mà chưa thể hiểu nội dung công thức. bác chỉ giúp em với
=SUMIF(OFFSET($E$12,LOOKUP(10^10,$H$13:H13,ROW($1:1)),):$E13,IF(E13="BN64484001",E13,"*"),OFFSET($F$12,LOOKUP(10^10,$H$13:H13,ROW($1:1)),):$F13)
trong công thức dùng kết hợp khá nhiều hàm, sumif, offset, lookup, row @@ , nhìn thôi mà hoa hết cả mắt.
Hàm OFFSET(reference, rows, cols, [height], [width])
Reference E12 là điểm gốc, rows (lookup) ....bla bla, ko hiểu 10^10 nghĩa là gì, 10 tỷ ???, .. khó quá
giải thích công thức giúp em đc ko ? cảm ơn bác
Dùng công thức phân khoảng theo từng mốc "ngày thay dụng cụ".
Bạn cứ hình dung công thức trên là tổng hợp công thức theo các đoạn sau:
  • Đoạn 1: từ G13 đến G24=SUMIF($E$13:E13,IF(E13="BN64484001",E13,"*"),$F$13:F13) (kéo xuống)
  • Đoạn 2: từ G25 đến G52=SUMIF($E$25:E25,IF(E25="BN64484001",E25,"*"),$F$25:F25) (kéo xuống)
  • Đoạn 3: từ G53 đến G68=SUMIF($E$53:E53,IF(E53="BN64484001",E53,"*"),$F$53:F53) (kéo xuống)
Thay vì, phải thay đổi từng chặng như vậy, công thức của tôi hay của anh @phuocam đều dùng Lookup() để định số dòng mà "Ngày thay dụng cụ" có phát sinh tại các dòng: 13, 25, 53. Các công thức sau là tương đương, để lấy dòng của các mốc trên, tùy theo mốc chuẩn:
  • LOOKUP(10^10,$H$13:H13,ROW($1:1)) (ra số dòng cần nhảy đến cho hàm Offset với mốc chuẩn là E12)
  • LOOKUP(2,1/($H$13:H13<>""),ROW($H$13:H13)) (không cần mốc chuẩn gắn luôn và với ký tự cột "F" thành địa chỉ ô mốc)
Hàm Offset(Mốc chuẩn, 'số dòng cần nhảy đến', 'số cột: không cần điền'), ví dụ công thức tại ô G15, hàm Ofsset(E12,13,) tức tính từ E12 nhảy thêm 13 dòng nữa sẽ đến mốc.
Có cái khác nhau giữa các công thức của anh em tụi tui, thì đố bạn tinh ý tìm ra nhen!

hihi ^o^
 

File đính kèm

  • sanluongmay10.xlsx
    230.7 KB · Đọc: 23
Lần chỉnh sửa cuối:
Dùng công thức phân khoảng theo từng mốc "ngày thay dụng cụ".
Bạn cứ hình dung công thức trên là tổng hợp công thức theo các đoạn sau:
  • Đoạn 1: từ G13 đến G24=SUMIF($E$13:E13,IF(E13="BN64484001",E13,"*"),$F$13:F13) (kéo xuống)
  • Đoạn 2: từ G25 đến G52=SUMIF($E$25:E25,IF(E25="BN64484001",E25,"*"),$F$25:F25) (kéo xuống)
  • Đoạn 3: từ G53 đến G68=SUMIF($E$53:E53,IF(E53="BN64484001",E53,"*"),$F$53:F53) (kéo xuống)
Thay vì, phải thay đổi từng chặng như vậy, công thức của tôi hay của anh @phuocam đều dùng Lookup() để định số dòng mà "Ngày thay dụng cụ" có phát sinh tại các dòng: 13, 25, 53. Các công thức sau là tương đương, để lấy dòng của các mốc trên, tùy theo mốc chuẩn:
  • LOOKUP(10^10,$H$13:H13,ROW($1:1)) (ra số dòng cần nhảy đến cho hàm Offset với mốc chuẩn là E12)
  • LOOKUP(2,1/($H$13:H13<>""),ROW($H$13:H13)) (không cần mốc chuẩn gắn luôn và với ký tự cột "F" thành địa chỉ ô mốc)
Hàm Offset(Mốc chuẩn, 'số dòng cần nhảy đến', 'số cột: không cần điền'), ví dụ công thức tại ô G15, hàm Ofsset(E12,13,) tức tính từ E12 nhảy thêm 13 dòng nữa sẽ đến mốc.
Có cái khác nhau giữa các công thức của anh em tụi tui, thì đố bạn tinh ý tìm ra nhen!

hihi ^o^
cảm ơn sự nhiệt tình của @Mộng Thường 2001 rất nhiều
 
=SUMIF($E$13:E13,IF(E13="BN64484001",E13,"*"),$F$13:F13)
công thức này hiện tại có lẽ dễ hiểu nhất đối với mình, công thức của @Mộng Thường 2001 thì chuẩn rồi, nhưng với level của mình thì chưa lĩnh hội đc ^^. Đành để công thức này lại tu luyện excel thêm 1 thời gian nữa rồi sẽ dùng sau
công thức trên "*" nghĩa là gì ạ, mình có search google mà ko tìm được. giải thích giúp mình với
trong file đính kèm mình có 1 thắc mắc nhỏ, giúp mình với. cảm ơn nhiều ạ
 

File đính kèm

  • tinh san luong.xlsx
    215.7 KB · Đọc: 8
=SUMIF($E$13:E13,IF(E13="BN64484001",E13,"*"),$F$13:F13)
công thức này hiện tại có lẽ dễ hiểu nhất đối với mình, công thức của @Mộng Thường 2001 thì chuẩn rồi, nhưng với level của mình thì chưa lĩnh hội đc ^^. Đành để công thức này lại tu luyện excel thêm 1 thời gian nữa rồi sẽ dùng sau
công thức trên "*" nghĩa là gì ạ, mình có search google mà ko tìm được. giải thích giúp mình với
trong file đính kèm mình có 1 thắc mắc nhỏ, giúp mình với. cảm ơn nhiều ạ
Phải chăng như sau:
 

File đính kèm

  • tinh san luong.xlsx
    215.9 KB · Đọc: 19
Tôi hiểu công thức nhưng không hiểu sao lại dùng như vậy, ý đồ là gì ?
Bạn hỏi tác giả xem.
Em trai biết mà còn làm bộ không chịu giải thích giúp. hihi ^o^.
=SUMIF($E$13:E13,IF(E13="BN64484001",E13,"*"),$F$13:F13)
công thức trên "*" nghĩa là gì ạ, mình có search google mà ko tìm được. giải thích giúp mình với
Theo yêu cầu cộng dồn của bạn thì phân ra 2 trường hợp:
  1. Nếu là "Bưởi Năm roi" (tức mã BN64484001) thì SUMIF() sẽ chọn ra đúng mã đó để cộng lại theo Vùng từ hàng 'Mốc: Ngày thay đổi' tương ứng đến dòng chứa công thức đang hiện hành. Vd: Bạn đang tại G23, tức hiện đang có mã "BN64484001", lúc đó vì đúng điều kiện trong IF(): E23="BN64484001" hay "BN64484001"="BN64484001" sẽ cho theo mệnh đề đúng của If(), tức lấy giá trị tại E23, sau cùng Sumif() trở thành =SUMIF($E$19:E23, E23, $F$19:F23)
  2. Nếu tại dòng có mã "Nhãn lồng Hưng Yên" (tức khác mã BN64484001) , Vd: tại dòng kế là 24 lúc đó IF vì điều kiện là sai vì E24<>"BN64484001" cho nên thực hiện mệnh đề "Sai" của hàm IF() tức lấy giá tri "*". Đây là ký tự đại diện với ý là "lấy bất kỳ giá trị hiện hữu", lúc bấy giờ hàm Sumif() trở thành =SUMIF($E$19:E24, "*" , $F$19:F24), tức yêu cầu cộng theo Vùng từ hàng 'Mốc: Ngày thay đổi' tương ứng đến dòng chứa công thức đang hiện hành, lấy toàn bộ không phân biệt là mã "BN64484001" hay không
(xem thêm giải thích ký tự đại diện: https://support.office.com/vi-vn/article/Ký-tự-đại-diện-ef94362e-9999-4350-ad74-4d2371110adb).

Phần cộng dồn đến mốc số lượng quy định, bạn @dazkangel đã hỗ trợ cho bạn.
hihi ^o^
 
Lần chỉnh sửa cuối:
Em trai biết mà còn làm bộ không chịu giải thích giúp. hihi ^o^.

Theo yêu cầu cộng dồn của bạn thì phân ra 2 trường hợp:
  1. Nếu là "Bưởi Năm roi" (tức mã BN64484001) thì SUMIF() sẽ chọn ra đúng mã đó để cộng lại theo Vùng từ hàng 'Mốc: Ngày thay đổi' tương ứng đến dòng chứa công thức đang hiện hành. Vd: Bạn đang tại G23, tức hiện đang có mã "BN64484001", lúc đó vì đúng điều kiện trong IF(): E23="BN64484001" hay "BN64484001"="BN64484001" sẽ cho theo mệnh đề đúng của If(), tức lấy giá trị tại E23, sau cùng Sumif() trở thành =SUMIF($E$19:E23, E13, $F$19:F23)
  2. Nếu tại dòng có mã "Nhãn lồng Hưng Yên" (tức khác mã BN64484001) , Vd: tại dòng kế là 24 lúc đó IF vì điều kiện là sai vì E24<>"BN64484001" cho nên thực hiện mệnh đề "Sai" của hàm IF() tức lấy giá tri "*". Đây là ký tự đại diện với ý là "lấy bất kỳ giá trị hiện hữu", lúc bấy giờ hàm Sumif() trở thành =SUMIF($E$19:E24, "*" , $F$19:F24), tức yêu cầu cộng theo Vùng từ hàng 'Mốc: Ngày thay đổi' tương ứng đến dòng chứa công thức đang hiện hành, lấy toàn bộ không phân biệt là mã "BN64484001" hay không
(xem thêm giải thích ký tự đại diện: https://support.office.com/vi-vn/article/Ký-tự-đại-diện-ef94362e-9999-4350-ad74-4d2371110adb).

Phần cộng dồn đến mốc số lượng quy định, bạn @dazkangel đẽ hỗ trợ cho bạn.
hihi ^o^
Em không hiểu cái mốc sản lượng sao lại như thế:
Như bưởi năm doi thì lấy đúng bưởi năm doi để cộng dồn.
Tại sao nhãn lồng Hưng Yên lại là cộng dồn toàn bộ ??
À em đọc đề bài rồi. Để nghiên cứu thử.
 
Lần chỉnh sửa cuối:
Em không hiểu cái mốc sản lượng sao lại như thế:
Như bưởi năm doi thì lấy đúng bưởi năm doi để cộng dồn.
Tại sao nhãn lồng Hưng Yên lại là cộng dồn toàn bộ ??
Cũng đành chịu em! vì yêu cầu của chủ thớt là vậy mà, em xem lại yêu cầu trong file tại bài #1 gốc.
Có lẻ là chủ thớt dùng tên hàng "bưởi nhãn" để thay thế cho tên hàng thật. Nên em chỉ cần quan tâm đến mã của nó thôi!
hihi ^o^
 
Web KT
Back
Top Bottom