Trợ giúp về lọc dữ liệu ngày sinh

  • Thread starter Thread starter dqt_nt
  • Ngày gửi Ngày gửi
Liên hệ QC
Hôm nay em mới có thời gian xem lại cái này các bác ạ!!!
Qua việc xem lại thì em lại phát hiện thấy cái file của em thiếu một cột đó là "Nghĩ việc" đánh dấu những CB-CNV đã nghĩ việc.
Vậy thì thế này: nếu em muốn lọc sinh nhật nhưng trừ những người nghĩ việc ra thì làm thế nào ạ?
Mượn file đã hoàn chỉnh của bác boyxin, em chèn thêm 1 cột và đánh những người nghĩ việc. Các bác xem có cách gì hướng dẫn em với!!!

Đa tạ các bác nhiều!!!
 

File đính kèm

Hôm nay em mới có thời gian xem lại cái này các bác ạ!!!
Qua việc xem lại thì em lại phát hiện thấy cái file của em thiếu một cột đó là "Nghĩ việc" đánh dấu những CB-CNV đã nghĩ việc.
Vậy thì thế này: nếu em muốn lọc sinh nhật nhưng trừ những người nghĩ việc ra thì làm thế nào ạ?
Mượn file đã hoàn chỉnh của bác boyxin, em chèn thêm 1 cột và đánh những người nghĩ việc. Các bác xem có cách gì hướng dẫn em với!!!

Đa tạ các bác nhiều!!!
Lọc thêm lần nữa với điều kiện Blanks cho cột Y là được mà (cái này làm bằng tay cũng nghĩ ra được)
Vậy code sửa lại:
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
  On Error Resume Next
  Application.ScreenUpdating = False
  If Target.Address = "$A$2" Then
    Range("A4").CurrentRegion.Offset(1).ClearContents
    Sheets("Hoso").AutoFilterMode = False
    With Sheets("Hoso").Range("A1").CurrentRegion
       .Offset(, 3).Resize(, 1).NumberFormat = "m"
       .AutoFilter 4, Target
       .AutoFilter 25, "="
       Union(.Offset(1, 2).Resize(, 1), .Offset(1, 22).Resize(, 2)).SpecialCells(12).Copy
       Range("B5").PasteSpecial 3: Sheets("Hoso").AutoFilterMode = False
       .Offset(, 3).Resize(, 1).NumberFormat = "dd/mm/yyyy"
    End With
    Range("A4").CurrentRegion.Resize(, 1).SpecialCells(4).Value = Evaluate("=ROW($1:$1000)")
    Target.Select
  End If
End Sub
 

File đính kèm

Lần chỉnh sửa cuối:
Nếu dùng công thức thì trường hợp này khắc phục thế nào ạ??? Em loay hoay mãi mà áp dụng cái VBA của anh chị không được.
Nếu anh chị nào giúp được em làm công thức thì tốt quá!!!

Anh ndu96081631 cố giúp em cái vụ này với!!! Biết là cứ hỏi thế này, các anh bày sẳn chỉ việc ăn thì không thể "chóng lớn" được, nhưng em cần quá!!!
 

File đính kèm

Lần chỉnh sửa cuối:
Nếu dùng công thức thì trường hợp này khắc phục thế nào ạ??? Em loay hoay mãi mà áp dụng cái VBA của anh chị không được.
Nếu anh chị nào giúp được em làm công thức thì tốt quá!!!
Bạn làm thế cũng đúng rồi còn gì!
Lưu ý:
1> Cột phụ của bạn có dùng hàm UPPER, theo tôi là không cần thiết, vì hàm SEARCH không phân biệt chử HOA và thường đâu
2> Bạn để ý dử liệu của bạn có nhiều chổ gõ sai... Ví dụ bạn tìm chử Khánh Hòa nhưng trong dử liệu của bạn lại là Khánh Hoà (dấu huyền nằm ở chử a) ---> Nên có khi sẽ không tìm ra
 
Bạn làm thế cũng đúng rồi còn gì!
Lưu ý:
1> Cột phụ của bạn có dùng hàm UPPER, theo tôi là không cần thiết, vì hàm SEARCH không phân biệt chử HOA và thường đâu
2> Bạn để ý dử liệu của bạn có nhiều chổ gõ sai... Ví dụ bạn tìm chử Khánh Hòa nhưng trong dử liệu của bạn lại là Khánh Hoà (dấu huyền nằm ở chử a) ---> Nên có khi sẽ không tìm ra
Em đang quan tâm ở chổ Sinh nhật anh ndu96081631 ạ!!! Ý em là nếu dùng công thức lọc tìm sinh nhật thì làm thế nào để tránh không lọc những người đã nghỉ việc. File này là em lấy của anh ca da fi ở bài #2
 
Em đang quan tâm ở chổ Sinh nhật anh ndu96081631 ạ!!! Ý em là nếu dùng công thức lọc tìm sinh nhật thì làm thế nào để tránh không lọc những người đã nghỉ việc. File này là em lấy của anh ca da fi ở bài #2
Tôi đề xuất thế này: Lọc sinh nhật và lọc theo nơi thường trú ta cho chung vào 1 sheet luôn ---> Sẽ có 1 Option Button chọn xem lọc theo tiêu chí gì? Bạn thấy sao?
Xem file đính kèm nhé

Bạn nhớ chứ ý là có thể dử liệu của bạn gõ sai ---> tôi đã chỉnh chử Hoà thành Hòa rồi đấy ---> Không biết còn chổ nào sai nữa không?
Nên nhớ sai sót trong nhập liệu thì chẳng có công thức hay code nào có thể lường trước nỗi
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Mình muốn các bạn giúp mình nha: Mình có 1 cột ghi ngày tháng năm sinh của mọi người (18/12/1976) mình muốn cột bên cạnh hiển thị ngày sinh nhật của mọi người (18/12/2009). Nhờ các cao thủ gúp nha! Thank!
 
Mình muốn các bạn giúp mình nha: Mình có 1 cột ghi ngày tháng năm sinh của mọi người (18/12/1976) mình muốn cột bên cạnh hiển thị ngày sinh nhật của mọi người (18/12/2009). Nhờ các cao thủ gúp nha! Thank!
bạn nhập công thức DATE(YEAR(NOW()),MONTH(ngaysinh),DAY(ngaysinh))
 
Mình muốn các bạn giúp mình nha: Mình có 1 cột ghi ngày tháng năm sinh của mọi người (18/12/1976) mình muốn cột bên cạnh hiển thị ngày sinh nhật của mọi người (18/12/2009). Nhờ các cao thủ gúp nha! Thank!
Cái này không khó, nhưng trước tiên có 1 trường hợp cần xác định rõ!
Ví dụ 1 người sinh vào 29/02/1988 thì bạn muốn năm nay SN vào ngày nào? Trước 1 ngày hay sau 1 ngày? (vì năm nay không có ngày 29/2)
 
Cái này không khó, nhưng trước tiên có 1 trường hợp cần xác định rõ!
Ví dụ 1 người sinh vào 29/02/1988 thì bạn muốn năm nay SN vào ngày nào? Trước 1 ngày hay sau 1 ngày? (vì năm nay không có ngày 29/2)
Cái đó không quan trọng đâu mà bạn cứ bày cho mình đúng ngày đi cũng được
 
Như vậy thì vẫn phải nhập thủ công ngày và tháng à. Tại sao mình ngu vậy nhỉ.
Nhập thủ công là sao chứ:
Ví dụ tại cell A1 là ngày tháng năm sinh, vậy công thức của bạn tại B1 là:
=DATE(Year(Today()),Month(A1),Day(A1))
Chỉ nhập công thức này 1 lần rồi kéo xuống thôi
Lưu ý: Trường hợp đặc biệt như tôi nói ở trên, nếu người nào đó sinh vào 28/2/1988 thì công thức trên sẽ cho rằng sinh nhật năm nay nhằm ngày 1/3/2009
Nếu muốn trước 1 ngày, đơn giản nhất là IF
Tôi nghĩ, theo tâm lý chung chả ai muốn SN sau cả (trước hoặc đúng ngày là tốt nhất)
 
Nhập thủ công là sao chứ:
Ví dụ tại cell A1 là ngày tháng năm sinh, vậy công thức của bạn tại B1 là:
=DATE(Year(Today()),Month(A1),Day(A1))
Chỉ nhập công thức này 1 lần rồi kéo xuống thôi
Lưu ý: Trường hợp đặc biệt như tôi nói ở trên, nếu người nào đó sinh vào 28/2/1988 thì công thức trên sẽ cho rằng sinh nhật năm nay nhằm ngày 1/3/2009
Nếu muốn trước 1 ngày, đơn giản nhất là IF
Tôi nghĩ, theo tâm lý chung chả ai muốn SN sau cả (trước hoặc đúng ngày là tốt nhất)
OK cao thủ quá cám ơn nha!
 
Nhập thủ công là sao chứ:
Ví dụ tại cell A1 là ngày tháng năm sinh, vậy công thức của bạn tại B1 là:
=DATE(Year(Today()),Month(A1),Day(A1))
Chỉ nhập công thức này 1 lần rồi kéo xuống thôi
Lưu ý: Trường hợp đặc biệt như tôi nói ở trên, nếu người nào đó sinh vào 28/2/1988 thì công thức trên sẽ cho rằng sinh nhật năm nay nhằm ngày 1/3/2009
Nếu muốn trước 1 ngày, đơn giản nhất là IF
Tôi nghĩ, theo tâm lý chung chả ai muốn SN sau cả (trước hoặc đúng ngày là tốt nhất)

Em cũng đồng ý với cái "tâm lý chung" mà anh nói.
Và nếu như vậy thì em xin đề nghị công thức này, khỏi IF luôn:
=EDATE(A1, (YEAR(NOW())-YEAR(A1))*12)

P/S: EDATE là hàm trong bộ Analysis ToolPak Addin.
 
Lần chỉnh sửa cuối:
He, được voi đòi hai Bà Trưng!!!
Không biết là có cách nào hiển thị được dòng "Người lập biểu ................................... Phòng TCLĐTL" cuối bảng thống kê không nhỉ?
Ý em là, sau khi tạo được bảng thống kê, thì hiển thị được dòng cuối này để in ra và ký ấy. Không thể tạo trong Footer được vì Footer nó sẽ hiển thị ở tất cả các trang, còn em chỉ muốn nó hiện ở trang cuối thôi.
Em nghĩ cái này không khả thi lắm, nhưng vẫn muốn hỏi, biết đâu có anh nào biết thì sao --=0
 
He, được voi đòi hai Bà Trưng!!!
Không biết là có cách nào hiển thị được dòng "Người lập biểu ................................... Phòng TCLĐTL" cuối bảng thống kê không nhỉ?
Ý em là, sau khi tạo được bảng thống kê, thì hiển thị được dòng cuối này để in ra và ký ấy. Không thể tạo trong Footer được vì Footer nó sẽ hiển thị ở tất cả các trang, còn em chỉ muốn nó hiện ở trang cuối thôi.
Em nghĩ cái này không khả thi lắm, nhưng vẫn muốn hỏi, biết đâu có anh nào biết thì sao --=0
Vậy bạn dùng VBA đi cho lẹ...
Còn nếu vẫn quyết dùng công thức thì cái khó lớn nhất là không biết danh sách của ta tới đâu mà đặt mấy dòng "Người lập biểu ... Phòng TCLĐTL" ở cuối bảng thống kê
Vậy có 1 cách củ chuối là sau khi bạn kéo fill công thức xong, đặt mấy dòng này ở dưới cùng ---> Khi lọc ra kết quả, những dòng nào rổng thì bạn ẩn đi để dòng cuối trang được liên tục với bảng tính ở trên
 
Vậy bạn dùng VBA đi cho lẹ...
Còn nếu vẫn quyết dùng công thức thì cái khó lớn nhất là không biết danh sách của ta tới đâu mà đặt mấy dòng "Người lập biểu ... Phòng TCLĐTL" ở cuối bảng thống kê
Vậy có 1 cách củ chuối là sau khi bạn kéo fill công thức xong, đặt mấy dòng này ở dưới cùng ---> Khi lọc ra kết quả, những dòng nào rổng thì bạn ẩn đi để dòng cuối trang được liên tục với bảng tính ở trên

Như vậy thì phải ẩn thủ công hả anh? Tính em lại thích tự động, dốt mà cứ đòi ....:-=. Thôi, để em làm thủ công vậy.... Đành thế thôi!!!
 
Em thấy các bác giải quyết vấn đề thật là pro!
hic em mới đi làm, chưa tham gia 1 khoá học nào cả về Office.
nhìn thành quả các bác làm thì ổn thật,
hic mà em ko biết làm thế nào để đc ra như thế cả.
PPH code:
PHP Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Application
.ScreenUpdating = False
If Target.Address = "$A$2" Then
Range
("A4").CurrentRegion.Offset(1).ClearContents
Sheets
("Hoso").AutoFilterMode = False
With Sheets
("Hoso").Range("A1").CurrentRegion
.Offset(, 3).Resize(, 1).NumberFormat = "mmm"
.AutoFilter 4, Choose(Target, "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
Union(.Offset(1, 2).Resize(, 1), .Offset(1, 22).Resize(, 2)).SpecialCells(12).Copy
Range
("B5").PasteSpecial 3: Sheets("Hoso").AutoFilterMode = False
.Offset(, 3).Resize(, 1).NumberFormat = "dd/mm/yyyy"
End With
Range
("A4").CurrentRegion.Resize(, 1).SpecialCells(4).Value = Evaluate("=ROW($1:$1000)")
Target.Select
End
If
End Sub

vậy nhưng cái đó là j
giải thích cho em với
em cũng đang cần phải lọc ngày sinh
mà chưa biết làm thế nào cả
rất mong nhận được sự giúp đỡ của các bán!
cảm ơn nhiều.

 
Lần chỉnh sửa cuối:
Như vậy thì phải ẩn thủ công hả anh? Tính em lại thích tự động, dốt mà cứ đòi ....:-=. Thôi, để em làm thủ công vậy.... Đành thế thôi!!!
Thì như tôi đã nói ở trên: dùng VBA
Tại bạn cứ đòi công thức thì đành chịu vậy!
Nếu dùng VBA thì với code tôi đã làm, chỉ cần thêm vài dòng nữa là có thể đúng yêu cầu của bạn!
Vậy nhé

vậy nhưng cái đó là j
giải thích cho em với
Mấy cái đó người ta gọi là CODE, được lập trình mà ra (hoặc Record macro mà ra)

em cũng đang cần phải lọc ngày sinh
mà chưa biết làm thế nào cả
rất mong nhận được sự giúp đỡ của các bán!
cảm ơn nhiều.
Bạn đưa file lên mới biết nên làm thế nào (mổi bài có cấu trúc dử liệu khác nhau mà)
Còn không thì với việc trích lọc, bạn có thể nghiên cứu AutoFilter hoặc Advanced Filter xem thử
 
Lần chỉnh sửa cuối:
Không biết trong excel có cách nào tạo lịch như hình bên dưới em đính kèm không? ý em là khi click vào 1 ô định sẵn sẽ có một cửa sổ hiện ra là tờ lịch và mình chỉ chọn ngày cho phù hợp.
Anh/chị nào biết mách em với.
P/S: GPE dạo này làm sao mà tạo đề tài mới không được!!! !$@!!

lich.jpg
 
Web KT

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

Back
Top Bottom