Hỏi cách so sánh và chỉ chọn lấy 1 ngày tháng năm lớn nhất trong 1 cột (1 người xem)

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

quynhace

Thành viên chính thức
Tham gia
1/6/11
Bài viết
86
Được thích
16
Xin chào mọi người,
Mình có câu hỏi nhỏ nhờ mọi người trong diễn đàn chỉ giúp mình.
Có công thức nào để có thể so sánh ngày tháng trong cùng 1 cột và tự động chọn lấy ngày tháng năm gần nhất có điều kiện?
Mình có ví dụ như file đính kèm

Mong mọi người vào chỉ giúp mình với nhé. Cảm ơn mọi người nhiều.
 

File đính kèm

Xin chào mọi người,
Mình có câu hỏi nhỏ nhờ mọi người trong diễn đàn chỉ giúp mình.
Có công thức nào để có thể so sánh ngày tháng trong cùng 1 cột và tự động chọn lấy ngày tháng năm gần nhất có điều kiện?
Mình có ví dụ như file đính kèm

Mong mọi người vào chỉ giúp mình với nhé. Cảm ơn mọi người nhiều.

Công thức tại cell F2:
Mã:
=IF($D2="","",IF(COUNTIF($A$2:$A2,$A2)=1,MAX(IF($A$2:$A$16=$A2,$D$2:$D$16,"")),""))
Bấm Ctrl + Shift + Enter để kết thúc
---------------
Nói thêm: Công thức không khó mà xem mô tả của bạn và đoán mới... đổ mồ hôi (xem cả 15 phút mới hiểu đồng chí muốn gì)
 

File đính kèm

Em vô cùng cảm ơn Thầy!
Văn diễn tả của em luôn bị giáo viên phê bình nhưng em vẫn chưa cải thiện được, mong bác thông vảm cho em nhé.
Chúc bác và các ACE trên diễn đàn cuối tuần vui vẻ và hạnh phúc!
 
ah, giải sai rùi..................nhờ mod xóa dùm..............cám ơn nhiều
 
Lần chỉnh sửa cuối:
Em vô cùng cảm ơn Thầy!
Văn diễn tả của em luôn bị giáo viên phê bình nhưng em vẫn chưa cải thiện được, mong bác thông vảm cho em nhé.
Chúc bác và các ACE trên diễn đàn cuối tuần vui vẻ và hạnh phúc!

Thêm phương án mới này , xem sao,

CT thường cho F2
=IF(OR($D2="",A2=A1),"",MAX(INDEX(($A$2:$A$16=$A2)*$D$2:$D$16,0)))

kết thúc Enter bình thường,

copy cho các cells còn lại ở F

bạn kiểm tra xem có đúng không?
 
Công thức tại cell F2:
Mã:
=IF($D2="","",IF(COUNTIF($A$2:$A2,$A2)=1,MAX(IF($A$2:$A$16=$A2,$D$2:$D$16,"")),""))
Bấm Ctrl + Shift + Enter để kết thúc
---------------
Nói thêm: Công thức không khó mà xem mô tả của bạn và đoán mới... đổ mồ hôi (xem cả 15 phút mới hiểu đồng chí muốn gì)

Từ công thức của anh phát hiện ra một điều là lạ. Không biết có phải lại là một lỗi của Excel?
 

File đính kèm

Từ công thức của anh phát hiện ra một điều là lạ. Không biết có phải lại là một lỗi của Excel?

xin được bình luận thêm chút
02-13
01-02
Là định text--->sau khi chuyển sang định dạng general nó ra
41306.00
41306.00
rồi chuyển lại định dạng date
01/02/2013
01/02/2013
tôi nghĩ chắc excel có sự hiểu lầm
02-13--->tháng 2 năm 2013--->nó hiểu là 01/02/2013
01-02--->nó hiểu là 01/02/2013

--->chắc là do vậy mà countif nó đếm là 2
cũng 2 số trên,nếu chuyển sang định dạng customer "00-00" thì countif đếm đúng
 
Thêm phương án mới này , xem sao,

CT thường cho F2
=IF(OR($D2="",A2=A1),"",MAX(INDEX(($A$2:$A$16=$A2)*$D$2:$D$16,0)))

kết thúc Enter bình thường,

copy cho các cells còn lại ở F

bạn kiểm tra xem có đúng không?

Đk A2=A1 không được đâu bạn vodoi2x ạ. Hiện ta có A2-A11 = 01-08, và A12 = 02-21, A13 = 02-07. Kết quả có F2 = 10-7-2013, F13 = 2-3-2013

Nếu bây giờ ta thay A13 = 01-08 thì tất nhiên có (A2=A1) = FALSE - chính xác hơn là (A13=A12) = FALSE, nên kết quả trả về cho F13 là (do có thêm (D13="") = FALSE)

Mã:
[COLOR=#ff0000]F13[/COLOR] = MAX(INDEX(($A$2:$A$16=[COLOR=#ff0000]$A13[/COLOR])*$D$2:$D$16;0)) = 
MAX(INDEX(($A$2:$A$16=[COLOR=#ff0000]$A2[/COLOR]) *$D$2:$D$16;0)) = [COLOR=#ff0000]F2[/COLOR], do [COLOR=#ff0000]A13[/COLOR] = 01-08 = [COLOR=#ff0000]A2[/COLOR]

Mà nếu tôi hiểu đúng ý tác giả (chỉ thể hiện kết quả ở dòng đầu tiên khi giá trị tại cột A giống nhau) thì ô F13 phải trống.
------------
Tất nhiên nếu dữ liệu trong cột A luôn được sắp xếp sao cho những giá trị như nhau thì luôn nằm trong các dòng liên tiếp thì có thể dùng "A2=A1". Nhưng cái này chỉ có tác giả biết thôi.
 
Lần chỉnh sửa cuối:
Mình xin cảm ơn tất cả mọi người đã vào giúp mình.
Trong bài toán của mình thì nếu như làm theo cách của bác NDU và bạn Vodoi2x cũng đều ra kết quả giống nhau và chính xác tuyệt đối vì mình đã thử với nhiều dữ liệu khác nhaui tại các cột A và D.
Đúng là với 2 công thức này thì định dạng cho cột A thì phải là dạng TEXT, tại cột D và cột kết quả là định dạng DATE.
Khi mình triển khai mở rộng vùng muốn so sánh và chọn lọc thì thấy công thức của bạn Vodoi2x linh hoạt hơn, còn công thức của bác NDU thì chỉ có giá trị cho 1 cột mà thôi.
Cảm ơn mọi người đã mở rộng tầm mắt cho mình về Excel!
 
Em áp dụng công thức đã được mọi người chỉ dẫn vào file công việc của em nhưng lại bị báo lỗi.

Mong Bác NDU, bạn Vodoi2X và mọi người trong diễn đàn chỉ giúp em sai công thức ở chỗ nào trong cột L tại bảng tính của em có đính kèm theo đây ạ. Kết quả đúng nằm ở cột M và tại cột N là điều kiện ạ.

Xin chân thành cảm ơn ạ.
 

File đính kèm

Em áp dụng công thức đã được mọi người chỉ dẫn vào file công việc của em nhưng lại bị báo lỗi.

Mong Bác NDU, bạn Vodoi2X và mọi người trong diễn đàn chỉ giúp em sai công thức ở chỗ nào trong cột L tại bảng tính của em có đính kèm theo đây ạ. Kết quả đúng nằm ở cột M và tại cột N là điều kiện ạ.

Xin chân thành cảm ơn ạ.

Cảm ơn bạn nhiếu nghe
 

File đính kèm

Bạn Thanhtrg ơi, mình đã hiểu được rồi.
Trong trường hợp của mình thì sẽ phải dùng đến hàm OFFSET, vậy mà mình cũng không nghĩ ra nữa, chán thật!
Bạn có thể giải thích giúp mình về lệnh đầu tiên trong công thức đó được không? (Phần bôi đỏ ấy mà)
=IF(D4<>"",IF(K4=0,TODAY()-D4,MAX(OFFSET(D4,,1,COUNTIF(A:A,A4)),OFFSET(D4,,3,COUNTIF(A:A,A4)),OFFSET(D4,,5,COUNTIF(A:A,A4)))-D4),"")
Khi dùng hàm IF thì sẽ phải có vế đối của nó chứ nhỉ?
 
Bạn Thanhtrg ơi, mình đã hiểu được rồi.
Trong trường hợp của mình thì sẽ phải dùng đến hàm OFFSET, vậy mà mình cũng không nghĩ ra nữa, chán thật!
Bạn có thể giải thích giúp mình về lệnh đầu tiên trong công thức đó được không? (Phần bôi đỏ ấy mà)
=IF(D4<>"",IF(K4=0,TODAY()-D4,MAX(OFFSET(D4,,1,COUNTIF(A:A,A4)),OFFSET(D4,,3,COUNTIF(A:A,A4)),OFFSET(D4,,5,COUNTIF(A:A,A4)))-D4),"")

Cái chỗ màu đỏ có ý nghĩ là:

Nếu ô D4 khác rỗng thì...(tức là ô D4 có giá trị không phải là giá trị rỗng hoặc empty cell) thì tính toán IF tiếp theo còn không thì trả về giá trị rỗng. Trong file của bạn mục đích là để bẫy lỗi #VALUE thôi. Bạn thử bỏ nó đi và kéo xuống là thấy liền.

Khi dùng hàm IF thì sẽ phải có vế đối của nó chứ nhỉ?

Nếu dùng hàm IF mà không có phần ngược lại thì sẽ về FALSE.

VD: IF(Điều kiện, Kết quả trả về nếu thỏa đk) --> Sẽ trả về FALSE khi không thỏa điều kiện.
 
Mình đã hiểu được rồi. Cảm ơn bạn đã giải thích cho mình hiểu.
Càng bước vào excel làm thì mình lại càng thấy hứng thú hơn, nhiều khi ngồi nghiền ngẫm cả ngày quên cả ăn trưa luôn.:-=
 
mình cũng cần help 1 bài tương tự như thế này mọi người giúp minh với mình gửi file đinh kèm nha
 

File đính kèm

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

Back
Top Bottom