Hỗ trợ tìm mã thiếu sổ kế toán (3 sổ kế toán) (1 người xem)

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

Tôi tuân thủ nội quy khi đăng bài

Phonglinh0902

Thành viên mới
Tham gia
20/12/24
Bài viết
9
Được thích
6
Chào anh/chị,
Em đang gặp một tình huống như sau nhưng chưa biết cách xử lý:
Em có dữ liệu gồm 3 cột:
  • Cột A: Mã
  • Cột B: Ngày tháng
  • Cột C: Sổ kế toán
Trong đó cột C (Sổ kế toán) có 3 loại sổ: 0L, 2L và 4G.
Bài này nội dung:
Dựa vào cột A (Mã), tìm đến ngày tháng lớn nhất trong cột B.
Nếu ở ngày tháng lớn nhất đó đủ cả 3 sổ (0L, 2L, 4G) thì kết quả là “Đúng”, nếu thiếu một hay nhiều sổ thì kết quả là “Sai”.
(Có thể có trường hợp thiếu 1 sổ hoặc thiếu 2 sổ.)
Em nghĩ bài này dùng công thức sẽ khó, nên em đăng ở mục VBA. Tuy nhiên, nếu có thể giải quyết bằng công thức thì càng tốt.
Mong anh/chị hỗ trợ em với ạ.
Em cảm ơn anh chị
 

File đính kèm

  • 3 sổ KT.png
    3 sổ KT.png
    109.6 KB · Đọc: 10
  • KT.xlsx
    KT.xlsx
    16.6 KB · Đọc: 14
Chào anh/chị,
Em đang gặp một tình huống như sau nhưng chưa biết cách xử lý:
Em có dữ liệu gồm 3 cột:
  • Cột A: Mã
  • Cột B: Ngày tháng
  • Cột C: Sổ kế toán
Trong đó cột C (Sổ kế toán) có 3 loại sổ: 0L, 2L và 4G.
Bài này nội dung:
Dựa vào cột A (Mã), tìm đến ngày tháng lớn nhất trong cột B.
Nếu ở ngày tháng lớn nhất đó đủ cả 3 sổ (0L, 2L, 4G) thì kết quả là “Đúng”, nếu thiếu một hay nhiều sổ thì kết quả là “Sai”.
(Có thể có trường hợp thiếu 1 sổ hoặc thiếu 2 sổ.)
Em nghĩ bài này dùng công thức sẽ khó, nên em đăng ở mục VBA. Tuy nhiên, nếu có thể giải quyết bằng công thức thì càng tốt.
Mong anh/chị hỗ trợ em với ạ.
Em cảm ơn anh chị

Với dữ liệu đã sắp xếp như trong file
Mã:
D3 =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(TRIM(IF(A3<>A4,SUBSTITUTE(SUBSTITUTE(SUBSTITUTE("#-0L-4G-2L","-"&C3,""),IF(B3=B2,"-"&C2),""),IF(B3=B1,"-"&C1,""),""),IF(B3=B4,D4,""))),"#-","Thiếu sổ "),"#",""),"-"," và ")
Copy xuống . . .
 
Lần chỉnh sửa cuối:
Upvote 0
Mình có cách cù lần thế này, bạn tham khảo & cải tiến hay tự động hóa:
B1 Chép DL (dữ liệu) cột 'A' đến cột 'E' & xóa trùng;
B2 Xài hàm -MAXIFS() cho toàn bộ danh sách duy nhất vừa tạo; (Nếu Excel của bạn chưa có hàm MAXIFs() thì thua!)
B3: Tiến hành lọc theo 2 tiêu chí như hình!


1759047301048.png

29/09: Thêm file macro
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Với dữ liệu đã sắp xếp như trong file
Mã:
D3 =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(TRIM(IF(A3<>A4,SUBSTITUTE(SUBSTITUTE(SUBSTITUTE("#-0L-4G-2L","-"&C3,""),IF(B3=B2,"-"&C2),""),IF(B3=B1,"-"&C1,""),""),IF(B3=B4,D4,""))),"#-","Thiếu sổ "),"#",""),"-"," và ")
Copy xuống . . .
Xin chân thành cảm ơn anh Hiếu CD đã nhiệt tình hỗ trợ em. Công thức anh chia sẻ thật sự rất hay và giải quyết đúng vấn đề em đang gặp phải. Nhờ sự giúp đỡ của anh mà em tiết kiệm được rất nhiều thời gian và công sức. Rất trân trọng tinh thần chia sẻ kiến thức của anh!
Bài đã được tự động gộp:

Mình có cách cù lần thế này, bạn tham khảo & cải tiến hay tự động hóa:
B1 Chép DL (dữ liệu) cột 'A' đến cột 'E' & xóa trùng;
B2 Xài hàm -MAXIFS() cho toàn bộ danh sách duy nhất vừa tạo; (Nếu Excel của bạn chưa có hàm MAXIFs() thì thua!)
B3: Tiến hành lọc theo 2 tiêu chí như hình!


View attachment 309844
Cảm ơn bác Sa đã chỉ cho cháu cách làm khác. Nhờ gợi ý của bác, cháu đã học thêm được mẹo hay và có thêm phương án tối ưu cho bài này. Rất trân trọng sự hỗ trợ của bác!
 
Upvote 0
Nếu 1 công thức duy nhất làm bạn rối thì bạn làm theo cách của bác SA_DQ, tôi cũng làm 1 cách gần tương tự như vậy, nếu bạn không có hàm Unique thì bạn có thể lọc trùng thủ công (không mất thời gian cho lắm). Nếu không có MAXIFS thì có thể dùng công thức mảng Max + IF.
Tách ra từng bước có lẽ đơn giản và bạn sẽ dễ làm hơn.
 

File đính kèm

Upvote 0

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

Back
Top Bottom