Hỏi nhanh - đáp nhanh về công thức (phần 3)

Liên hệ QC
Phải có kết quả mẫu kèm theo giải thích kết quả đó là do đâu mà ra.
Có ai biết bạn muốn sao đâu mà giúp.

Vâng em xin lỗi ạ,
Kết quả của em như thế này ạ:
01/12 1
02/12 1
03/12 1
04/12 -
05/12 2
06/12 2
07/12 7
08/12 2
09/12 3
10/12 4
Ngày 1/12= 1, việc [1] đang được thực hiện kéo dài đến 2 & 3/12. Ngày 4/12=0, việc [1] chưa thực hiện xong coi là tạm ngừng hoạt động. Ngày 5/12 [1] tiếp tục được thực hiện và chuyển sang bước 2, đồng thời bổ sung việc [2] vào danh sách nên ngày 5 có 2 việc đang được thực hiện...
Anh xem lại giúp em lần nữa ạ. Em cảm ơn anh ạ
 
Vâng em xin lỗi ạ,
Kết quả của em như thế này ạ:
01/12 1
02/12 1
03/12 1
04/12 -
05/12 2
06/12 2
07/12 7
08/12 2
09/12 3
10/12 4
Ngày 1/12= 1, việc [1] đang được thực hiện kéo dài đến 2 & 3/12. Ngày 4/12=0, việc [1] chưa thực hiện xong coi là tạm ngừng hoạt động. Ngày 5/12 [1] tiếp tục được thực hiện và chuyển sang bước 2, đồng thời bổ sung việc [2] vào danh sách nên ngày 5 có 2 việc đang được thực hiện...
Anh xem lại giúp em lần nữa ạ. Em cảm ơn anh ạ

Xem kết quả mẫu vẫn chưa hiểu.
Trong file có ghi chú chỉ xét những dòng mà cột B không phải là INACTIVE?
Mà đếm luôn trong 4 dòng thì ngày 7/12 từ đâu ra kết quả là 7 ?
 
Xem kết quả mẫu vẫn chưa hiểu.
Trong file có ghi chú chỉ xét những dòng mà cột B không phải là INACTIVE?
Mà đếm luôn trong 4 dòng thì ngày 7/12 từ đâu ra kết quả là 7 ?

Dạ vâng, đúng là đếm những dòng mà cột B ko phải là inactive. Tuy nhiên, cột B hiện tại em đang xét theo ngày hiện tại (today()).
Em muốn thống kê tự động theo từng ngày trong tháng ( em giải thích thêm 1 chút chỗ này thao tác thủ công sẽ là mỗi ngày em vào đếm xem có bao nhiêu dòng mà cột B khác Inactive rồi ghi lại kết quả vào bảng bên dưới ạ).

Ngày 7/12 em ghi sai ạ => em sửa lại chính xác là 2 ạ ( có 2 việc [1] & [2] đang được thực hiện ạ.
Hiện tại em vẫn chưa tìm được giải pháp, rất mong anh giúp đỡ ạ.
Em cảm ơn
 
Bước 1 bắt đầu ngày 01/12, định mức là 2 ngày, cách tính của bạn là tính luôn ngày đầu và ngày cuối, 01,02 và 03/12 đúng không?
 
Bước 1 bắt đầu ngày 01/12, định mức là 2 ngày, cách tính của bạn là tính luôn ngày đầu và ngày cuối, 01,02 và 03/12 đúng không?

Dạ em tính 1/12 + 2 ngày làm việc= 3/12 => ngày 1,2,3 ở trạng thái đang được thực hiện (khác Inactive) ạ
(*) Khái niệm ngày làm việc là trừ ngày thứ 7 và chủ nhật ạ.
 
Lu bu khó hiểu quá.
Viết hàm tự tạo bằng VBA.
Xem kết quả trong file nhé.
Nhớ chọn Enable Macros khi mở file
------------------------------------------
Nếu không muốn xài VBA thì chờ người khác giúp công thức cho bạn.
 

File đính kèm

  • 20151223-Chk-active.xlsm
    20.1 KB · Đọc: 10
Lần chỉnh sửa cuối:
Thử công thức này trong ô C15:

Mã:
=SUM(COUNTIFS(C14,">="&($B$4:$B$7<>"INACTIVE")*($G$4:$G$7),C14,"<="&($B$4:$B$7<>"INACTIVE")*($G$4:$G$7)+2))+SUM(COUNTIFS(C14,">="&($B$4:$B$7<>"INACTIVE")*($H$4:$I$7),C14,"<="&($B$4:$B$7<>"INACTIVE")*($H$4:$I$7)+3))+SUM(COUNTIFS(C14,">="&($B$4:$B$7<>"INACTIVE")*($J$4:$L$7),C14,"<="&($B$4:$B$7<>"INACTIVE")*($J$4:$L$7)+5))

Kết thúc bằng Ctrl-shift-enter. Copy sang phải.

Kết quả giống như của anh Ba Tê.

Tuy nhiên, chưa xét đến ngày làm việc trong tuần nhé.
 
Lu bu khó hiểu quá.
Viết hàm tự tạo bằng VBA.
Xem kết quả trong file nhé.
Nhớ chọn Enable Macros khi mở file
------------------------------------------
Nếu không muốn xài VBA thì chờ người khác giúp công thức cho bạn.

Thử công thức này trong ô C15:

Mã:
=SUM(COUNTIFS(C14,">="&($B$4:$B$7<>"INACTIVE")*($G$4:$G$7),C14,"<="&($B$4:$B$7<>"INACTIVE")*($G$4:$G$7)+2))+SUM(COUNTIFS(C14,">="&($B$4:$B$7<>"INACTIVE")*($H$4:$I$7),C14,"<="&($B$4:$B$7<>"INACTIVE")*($H$4:$I$7)+3))+SUM(COUNTIFS(C14,">="&($B$4:$B$7<>"INACTIVE")*($J$4:$L$7),C14,"<="&($B$4:$B$7<>"INACTIVE")*($J$4:$L$7)+5))

Kết thúc bằng Ctrl-shift-enter. Copy sang phải.

Kết quả giống như của anh Ba Tê.

Tuy nhiên, chưa xét đến ngày làm việc trong tuần nhé.

Em cảm ơn 2 anh rất nhiều ạ!
Em sẽ xem thêm và bổ sung điều kiện ngày làm việc (workday()) ạ. Nếu có khó khăn em xin phép hỏi thêm sau ạ.
Em đính chính thông tin 1 chút là Cột B em chỉ xét trạng thái của ngày hiện tại (today(), ý là ngày hôm nay 23/12 có 2 việc đang được thực hiện, nên em đổi điều kiện trên cột B là khác trống (<>"") ạ.
Em đã có kết quả gần đúng (cần xét thêm điều kiện ngày trong tuần nữa ạ)
01/12 1
02/12 1
03/12 1
04/12 -
05/12 2
06/12 2
07/12 2
08/12 1
09/12 1
10/12 3

Em chân thành cảm ơn 2 anh đã nhiệt tình giúp đỡ em ạ.
 
m.n cho mình hỏi là mình muốn làm tròn số ở C3 sau đó lấy kết quả làm tròn đó tiếp tục 1 phép tính khác như trong bảng thì dùng hàm gì để kết hợp vậy? Mình xin cảm ơn! :)
 

File đính kèm

  • Bảng lương chiều.xlsx
    10.1 KB · Đọc: 15
Lu bu khó hiểu quá.
Viết hàm tự tạo bằng VBA.
Xem kết quả trong file nhé.
Nhớ chọn Enable Macros khi mở file
------------------------------------------
Nếu không muốn xài VBA thì chờ người khác giúp công thức cho bạn.

Thử công thức này trong ô C15:

Mã:
=SUM(COUNTIFS(C14,">="&($B$4:$B$7<>"INACTIVE")*($G$4:$G$7),C14,"<="&($B$4:$B$7<>"INACTIVE")*($G$4:$G$7)+2))+SUM(COUNTIFS(C14,">="&($B$4:$B$7<>"INACTIVE")*($H$4:$I$7),C14,"<="&($B$4:$B$7<>"INACTIVE")*($H$4:$I$7)+3))+SUM(COUNTIFS(C14,">="&($B$4:$B$7<>"INACTIVE")*($J$4:$L$7),C14,"<="&($B$4:$B$7<>"INACTIVE")*($J$4:$L$7)+5))

Kết thúc bằng Ctrl-shift-enter. Copy sang phải.

Kết quả giống như của anh Ba Tê.

Tuy nhiên, chưa xét đến ngày làm việc trong tuần nhé.

Em cảm ơn 2 anh rất nhiều ạ!
Em sẽ xem thêm và bổ sung điều kiện ngày làm việc (workday()) ạ. Nếu có khó khăn em xin phép hỏi thêm sau ạ.
Em đính chính thông tin 1 chút là Cột B em chỉ xét trạng thái của ngày hiện tại (today(), ý là ngày hôm nay 23/12 có 2 việc đang được thực hiện, nên em đổi điều kiện trên cột B là khác trống (<>"") ạ.
Em đã có kết quả gần đúng (cần xét thêm điều kiện ngày trong tuần nữa ạ)
Em chân thành cảm ơn 2 anh đã nhiệt tình giúp đỡ em ạ.

Em vẫn bị mắc bài toán này chưa giải được, anh/chị xem và chỉ giúp em với ạ.
Em còn vướng 2 vần đề cần giải quyết:
1, Đếm số dòng mà trên dòng có chứa ô thỏa mãn điều kiện (công thức hiện tại đếm số ô thỏa mãn điều kiện, do trên 1 dòng có thể có chứa nhiều ô thỏa mãn điều kiện)
2, Hàm workday() ko nhận đối số mảng, em chưa tìm được cách thay thế (tính ngày làm việc trừ t7,cn)
Em có đính kèm file trình bày chi tiết vấn đề, Anh/Chị giúp em với ạ.
Em chân thành cảm ơn ạ.
 

File đính kèm

  • 20151230-Chk-active.xlsm
    21.3 KB · Đọc: 9
Em vẫn bị mắc bài toán này chưa giải được, anh/chị xem và chỉ giúp em với ạ.
Em còn vướng 2 vần đề cần giải quyết:
1, Đếm số dòng mà trên dòng có chứa ô thỏa mãn điều kiện (công thức hiện tại đếm số ô thỏa mãn điều kiện, do trên 1 dòng có thể có chứa nhiều ô thỏa mãn điều kiện)
2, Hàm workday() ko nhận đối số mảng, em chưa tìm được cách thay thế (tính ngày làm việc trừ t7,cn)
Em có đính kèm file trình bày chi tiết vấn đề, Anh/Chị giúp em với ạ.
Em chân thành cảm ơn ạ.

ví dụ D12 là ngày 2/12, định mức 2 ngày, không tính thứ 7 và cn vậy ngày kết thúc sẻ là ngày 7/12?
đếm trong vùng G4:L7 có bao nhiêu con số thõa mãn đk này?
đếm bằng tay nó ra 3, kết quả mong muốn của bạn là 1?
============
công thức này ko ra đúng đáp số của bạn, và hơi dài, ko niết có thể dùng offset rút cho nó ngắn ko
Mã:
C14=COUNTIFS($G$4:$G$7,">="&C$12,$G$4:$G$7,"<="&WORKDAY.INTL(C$12,$G$2,1))+COUNTIFS($H$4:$H$7,">="&C$12,$H$4:$H$7,"<="&WORKDAY.INTL(C$12,$H$2,1))+COUNTIFS($I$4:$I$7,">="&C$12,$I$4:$I$7,"<="&WORKDAY.INTL(C$12,$I$2,1))+COUNTIFS($J$4:$J$7,">="&C$12,$J$4:$J$7,"<="&WORKDAY.INTL(C$12,$J$2,1))+COUNTIFS($K4:$K$7,">="&C$12,$K$4:$K$7,"<="&WORKDAY.INTL(C$12,$K$2,1))+COUNTIFS($L$4:$L$7,">="&C$12,$L$4:$L$7,"<="&WORKDAY.INTL(C$12,$L$2,1))
 
Lần chỉnh sửa cuối:
ví dụ D12 là ngày 2/12, định mức 2 ngày, không tính thứ 7 và cn vậy ngày kết thúc sẻ là ngày 7/12?
đếm trong vùng G4:L7 có bao nhiêu con số thõa mãn đk này?
đếm bằng tay nó ra 3, kết quả mong muốn của bạn là 1?
============
công thức này ko ra đúng đáp số của bạn, và hơi dài, ko niết có thể dùng offset rút cho nó ngắn ko
Mã:
C14=COUNTIFS($G$4:$G$7,">="&C$12,$G$4:$G$7,"<="&WORKDAY.INTL(C$12,$G$2,1))+COUNTIFS($H$4:$H$7,">="&C$12,$H$4:$H$7,"<="&WORKDAY.INTL(C$12,$H$2,1))+COUNTIFS($I$4:$I$7,">="&C$12,$I$4:$I$7,"<="&WORKDAY.INTL(C$12,$I$2,1))+COUNTIFS($J$4:$J$7,">="&C$12,$J$4:$J$7,"<="&WORKDAY.INTL(C$12,$J$2,1))+COUNTIFS($K4:$K$7,">="&C$12,$K$4:$K$7,"<="&WORKDAY.INTL(C$12,$K$2,1))+COUNTIFS($L$4:$L$7,">="&C$12,$L$4:$L$7,"<="&WORKDAY.INTL(C$12,$L$2,1))

Em cảm ơn anh @Let'GâuGâu đã giúp đỡ ạ.
Tuy nhiên, bị hơi ngược 1 chút ạ
Em muốn đếm tại "D12 là ngày 2/12" căn cứ vào dữ liệu trong vùng G4:L7 ô nào thỏa mãn điều kiện (G4:L7) <= 2/12 <= (G4:L7)+(G2:L2) ( Trường hợp này tìm thấy duy nhất ô G4 thỏa mãn điều kiện (1/12 < 2/12 < 3/12 (Giải thích ngày 3/12: 1/12+2=3/12) => đếm dòng A4 => kết quả ngày 2/12 có 1 công việc đang được thực hiện trong phạm vi định mức cho phép.
Anh cố gắng xem lại giúp em lần nữa với ạ. Em cảm ơn!
 
Em cảm ơn anh @Let'GâuGâu đã giúp đỡ ạ.
Tuy nhiên, bị hơi ngược 1 chút ạ
Em muốn đếm tại "D12 là ngày 2/12" căn cứ vào dữ liệu trong vùng G4:L7 ô nào thỏa mãn điều kiện (G4:L7) <= 2/12 <= (G4:L7)+(G2:L2) ( Trường hợp này tìm thấy duy nhất ô G4 thỏa mãn điều kiện (1/12 < 2/12 < 3/12 (Giải thích ngày 3/12: 1/12+2=3/12) => đếm dòng A4 => kết quả ngày 2/12 có 1 công việc đang được thực hiện trong phạm vi định mức cho phép.
Anh cố gắng xem lại giúp em lần nữa với ạ. Em cảm ơn!

Kết quả mong muốn tại ô L15 tính sao ra 4 ? Dòng 7 trạng thái INACTIVE cũng đếm luôn?
 
Kết quả mong muốn tại ô L15 tính sao ra 4 ? Dòng 7 trạng thái INACTIVE cũng đếm luôn?
dạ vâng, anh xét giúp em điều kiện trên vùng G4:L7 với G2:L2 thôi ạ ko quan tâm trạng thái ở cột "B" ạ.
Ô L15 =4 do xét tại ngày 10/12 cả 4 công việc (4 dòng:4,5,6,7) đều đang được thực hiện ạ.
 
dạ vâng, anh xét giúp em điều kiện trên vùng G4:L7 với G2:L2 thôi ạ ko quan tâm trạng thái ở cột "B" ạ.
Ô L15 =4 do xét tại ngày 10/12 cả 4 công việc (4 dòng:4,5,6,7) đều đang được thực hiện ạ.

Không xét INACTIVE thì code còn đơn giản hơn.
Chép cái này vào Module.
PHP:
Public Function GPE(Rng As Range, Rng2 As Range, DK As Long) As Long
Dim Arr(), Arr2(), I As Long, J As Long, N As Long, Tem As Long, TF As Boolean
Arr = Rng.Value
Arr2 = Rng2.Value
For I = 1 To UBound(Arr, 1)
    TF = False
    For J = 1 To UBound(Arr, 2)
        For N = 0 To Arr2(1, J)
            Tem = Arr(I, J) + N
            If Tem = DK Then
                If TF = False Then GPE = GPE + 1: TF = True
            End If
        Next N
    Next J
Next I
End Function
Công thức ô C13
PHP:
=GPE($G$4:$L$7;$G$2:$L$2;C$12)
 
Hỏi về hàm để "độ số" trong exel -\\/.
Em làm bên thí nghiệm. có nhiều kết quả đôi khi phải "độ". Em nhớ là có hàm để tính ngược kết quả: Cho kết quả theo ý mình rồi tính ngược ra giá trị ban đầu cần nhập, nhưng công thức vẫn không đổi. Ví dụ đơn giản: Ô C1 nhập công thức "=A1+B1" (A1 và B1 là 2 ô mình nhập số liệu bằng tay). Bây giờ em muốn C1 có kết quả theo ý mình --> phải thay đổi giá trị ở ô A1 (hoặc B1) để công thức ở ô C1 vẫn phải giữ nguyên.
Có hàm nào để tính nhanh ra số liệu cần nhập ở A1 or B1 cho nhanh và chính xác để C1 có kết quả theo ý mình không ạ.
Cảm ơn các anh chị -\\/.
 
Hỏi về hàm để "độ số" trong exel -\\/.
Em làm bên thí nghiệm. có nhiều kết quả đôi khi phải "độ". Em nhớ là có hàm để tính ngược kết quả: Cho kết quả theo ý mình rồi tính ngược ra giá trị ban đầu cần nhập, nhưng công thức vẫn không đổi. Ví dụ đơn giản: Ô C1 nhập công thức "=A1+B1" (A1 và B1 là 2 ô mình nhập số liệu bằng tay). Bây giờ em muốn C1 có kết quả theo ý mình --> phải thay đổi giá trị ở ô A1 (hoặc B1) để công thức ở ô C1 vẫn phải giữ nguyên.
Có hàm nào để tính nhanh ra số liệu cần nhập ở A1 or B1 cho nhanh và chính xác để C1 có kết quả theo ý mình không ạ.
Cảm ơn các anh chị -\\/.
Hình như là Goal Seek, bạn thử xem sao
 
Vlookup theo tháng từ từng sheet tháng riêng biệt, em nên dùng CT nào để nó tự hiểu lấy sheet của tháng cần tính ạ?

Vd:VLOOKUP($E7,'Jan16'!$E:$X,L$4,0) lấy sheet Jan 16
VLOOKUP($E7,'Feb 16'!$E:$X,L$4,0) lấy sheet Feb 16
 
Web KT

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

Back
Top Bottom