Cần giúp đỡ hàm đếm

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

songuyen

Thành viên mới
Tham gia
24/2/13
Bài viết
43
Được thích
3
Em xin chào anh chị,
Em có 1 file lịch làm việc của các anh chị tài xế mà hiện giờ em phải cộng bằng tay dễ sai sót, em xin nhờ anh chị làm công thức giúp em với ạ.

Ảnh màn hình 2024-04-22 lúc 18.42.48.png
 

File đính kèm

  • LICH LAM VIEC.xlsx
    22.8 KB · Đọc: 14
Em xin chào anh chị,
Em có 1 file lịch làm việc của các anh chị tài xế mà hiện giờ em phải cộng bằng tay dễ sai sót, em xin nhờ anh chị làm công thức giúp em với ạ.

View attachment 300437
Nếu dùng Excel 365 thì thử copy công thức dưới đây dán vào ô B13:
=LET(X,MATCH($A13,$B$7:$B$9,0)+6,COUNTIF(INDIRECT("C" & X &":AH" & X),"*" & B$12 & "*"))
Sau đó, copy ô B13 dán vào các ô màu vàng rồi fill xuống.
1713789370483.png
 

File đính kèm

  • LICH LAM VIEC.xlsx
    23.2 KB · Đọc: 9
Lần chỉnh sửa cuối:
Trong file có 3 bảng, trong đó có 2 bảng dùng office thường đó thôi.
Dạ em đã làm được, nhưng còn 1 điều là nếu trong cùng 1 ô mà có 2 chữ giống nhau (ô E7) thì hàm vẫn Count là 1, thực chất phải là 2.
Anh xem giúp chỉnh lại giúp em với ạ, Em cảm ơn anh nhiều ạ
 
Dạ em đã làm được, nhưng còn 1 điều là nếu trong cùng 1 ô mà có 2 chữ giống nhau (ô E7) thì hàm vẫn Count là 1, thực chất phải là 2.
Anh xem giúp chỉnh lại giúp em với ạ, Em cảm ơn anh nhiều ạ
Khá thú vị đây, cho tôi hỏi:
1) Chúng luôn luôn là 3 điểm?
2) Có khi nào 3 chữ giống nhau cùng lúc không?
3) Nhìn hình, lúc thì SJ, lúc thì JS là sao?
1713831550905.png
 
Lần chỉnh sửa cuối:
Em xin chào anh chị,
Em có 1 file lịch làm việc của các anh chị tài xế mà hiện giờ em phải cộng bằng tay dễ sai sót, em xin nhờ anh chị làm công thức giúp em với ạ.
B13 =SUMPRODUCT((LEN($C7:$AH7)-LEN(SUBSTITUTE($C7:$AH7,B$12,"")))/LEN(B$12)) copy cho các ô tương tự
 
Một cách khác với hàm tự tạo:
Ô B13:
Mã:
=demTX($A13,B$12,$B$7:$AH$9)
Copy cho các ô còn lại
Cách dùng:
Click chuột phải vào tên sheet, chọn Viewcode, sau đó insert module, copy code dưới đây vào, sau đó đóng cửa sổ VBA lại.
Save as file dạng .xlsm
PHP:
Option Explicit
Function demTX(ByVal ten As String, diadiem As String, vung As Range) As Double
Dim i&, j&, m&, c&, sp, rng
rng = vung.Value
For i = 1 To UBound(rng)
    If rng(i, 1) = ten Then
        For j = 1 To UBound(rng, 2)
            If InStr(1, rng(i, j), diadiem) Then
                sp = Split(rng(i, j), Chr(10))
                If UBound(sp) > 0 Then
                    For m = 0 To UBound(sp)
                        If sp(m) = diadiem Then c = c + 1
                    Next
                End If
            End If
        Next
    End If
Next
demTX = c
End Function
[/code]
 

File đính kèm

  • LICH LAM VIEC.xlsm
    33.3 KB · Đọc: 1
Chợt nhớ ra: Trong thực tế có thể có tình trạng trùng chữ cái, ví dụ:
ABC và ABCS là 2 tên khác nhau, nếu đếm ABC thì có thể sẽ đếm luôn cả ABCS
Trong file ví dụ, đã phân cách bằng CHAR(10), và hàm UDF của mình cũng đã căn cứ vào đó mà tách.
Các công thức phía trên thì mình chưa test, nhưng khả năng bị dính lỗi này khá là cao.
Chủ thớt tự test và quyết định dùng CT thường hay UDF nhé.
 
Dạ em dùng office thường ạ
Đã vào chuyên mục 'Hàm và công thức' thì nếu dùng Office thường thì xử bằng công thức 'thường' :), dễ coi dễ sửa, như bài #7 hướng dẫn ở trên.
Còn nếu sợ 'bò trắng răng' thì có gì khó, chỉ cần 'thêm mắm giặm muối' xíu xiu vào công thức là xong, có chuyện gì mà to tát đâu, ô B13 dán:
Mã:
=COUNT(SEARCH(" "&B$12&" "," "&MID(SUBSTITUTE($C7:$AH7,CHAR(10),REPT(" ",20)),(ROW($1:$10)-1)*20+1,20)&" "))
Kết thúc bằng Ctrl+Shift+Enter. Copy cho các ô tương ứng.

Thân
 

File đính kèm

  • LICH LAM VIEC.xlsx
    23.6 KB · Đọc: 2
Web KT
Back
Top Bottom