Lấy ngày nhỏ nhất trong một vùng có các giá trị bằng 0 (1 người xem)

  • Thread starter Thread starter vba_gpe
  • Ngày gửi Ngày gửi

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

vba_gpe

Thành viên thường trực
Tham gia
15/12/10
Bài viết
296
Được thích
44
Nghề nghiệp
Thất nghiệp
Chào anh/chị.
Hiện tại em có 1 vùng ngày tháng (trong vùng gồm các ô tính đã có thời gian cụ thể và những ô tính chưa được khai báo ngày. )
Có cách nào lấy giá trị ngày nhỏ nhất trong vùng đó không ạ?

Như hình (Tại vị trí bôi màu vàng nên thiết đặt công thức thế nào để bắt được ngày bắt đầu nhỏ nhất không ạ).
2qTcW0x-KhiJXtCGvsK3ACM1AdX_EWpKq_D9MMCnaVC5eM4CH-lqE9wwyobyfzl8obk0BuKPBR6D0vFyRKpXEGIeybPpBzai4KxgQdK6hT2JqBWYf-Y7GL9GtLiCH0YyKjEZFHXfo7T8UwCchnrBP18jjrIDYuTwJfXpybMQJqVyAK4P9jMHD0zwpvK_wFffTAFLY6L6hUEwP1bkvz0fIJuXa42qi3XlWZO-ryFeI-_1xhO6E6ZsThIowwOtdFFh_k-BBNcwPnnyN0tcOkCL7uCb-1Gsak0b4bnRWWpC8kmMV3V2LPbE-Kz35xUW8vwwYvtiNPSUUadewtBHY6TQOh0vrjRR3iZwUw5Dx08Nmpq8U7xddolMY64Zd2ZGldhzTI5vtud0_o_CikjXbNVWsYE6mNiNOn4ZY8nXnzI8Ju8p1OPy8diQ4bjJpVbTjlRr8h9PUN_Jui_nZA8Sr57k4CMjvK86-ewXTGoh9ckcTVZ2RFWSuVmozIZ4AWSkyDzL0e6Q5ffiPLwwZDbzy0sbrcJ1z_7F5z95sS8XXHqoe1shMUW8-YdWGCZW_hJHIx7GqZjZ8Z9uMScF2U6_JTZKYr2uygenfe_sFsmF1cxzVSWpkXziNVL6=w746-h318-no


Em cảm ơn.
 
Chào anh/chị.
Hiện tại em có 1 vùng ngày tháng (trong vùng gồm các ô tính đã có thời gian cụ thể và những ô tính chưa được khai báo ngày. )
Có cách nào lấy giá trị ngày nhỏ nhất trong vùng đó không ạ?

Như hình (Tại vị trí bôi màu vàng nên thiết đặt công thức thế nào để bắt được ngày bắt đầu nhỏ nhất không ạ).
2qTcW0x-KhiJXtCGvsK3ACM1AdX_EWpKq_D9MMCnaVC5eM4CH-lqE9wwyobyfzl8obk0BuKPBR6D0vFyRKpXEGIeybPpBzai4KxgQdK6hT2JqBWYf-Y7GL9GtLiCH0YyKjEZFHXfo7T8UwCchnrBP18jjrIDYuTwJfXpybMQJqVyAK4P9jMHD0zwpvK_wFffTAFLY6L6hUEwP1bkvz0fIJuXa42qi3XlWZO-ryFeI-_1xhO6E6ZsThIowwOtdFFh_k-BBNcwPnnyN0tcOkCL7uCb-1Gsak0b4bnRWWpC8kmMV3V2LPbE-Kz35xUW8vwwYvtiNPSUUadewtBHY6TQOh0vrjRR3iZwUw5Dx08Nmpq8U7xddolMY64Zd2ZGldhzTI5vtud0_o_CikjXbNVWsYE6mNiNOn4ZY8nXnzI8Ju8p1OPy8diQ4bjJpVbTjlRr8h9PUN_Jui_nZA8Sr57k4CMjvK86-ewXTGoh9ckcTVZ2RFWSuVmozIZ4AWSkyDzL0e6Q5ffiPLwwZDbzy0sbrcJ1z_7F5z95sS8XXHqoe1shMUW8-YdWGCZW_hJHIx7GqZjZ8Z9uMScF2U6_JTZKYr2uygenfe_sFsmF1cxzVSWpkXziNVL6=w746-h318-no


Em cảm ơn.
Thử:
=MIN('Vùng có chứa thời gian')

Chúc bạn ngày vui.
 
Thử:
=MIN('Vùng có chứa thời gian')

Chúc bạn ngày vui.
Nếu mình dùng MIN thì nó trả về 0 bạn ạ. :)
ý mình là bôi nguyên vùng luôn (Bao gồm cả vùng đã khai báo thời gian và vùng chưa khai báo thời gian).
Nếu chưa có ô nào khai báo thời gian thì nó trả về 0 là đúng.
Nhưng nếu có ít nhất 1 ô trở lên khai báo thời gian thì phải lấy min của các khoản thời gian đó.

Cảm ơn bạn nhiều, mong nhận được trợ giúp của các bạn và anh chị trong diễn đàn.
 
Thử:
=MIN(('Điều kiện: 'Vùng có chứa thời gian' >0')*'Vùng có chứa thời gian')
Ctrl+Shift+Enter.

Chúc bạn ngày vui.
Hi. Mình đọc cấu trúc của bạn nhưng vẫn chưa hiểu rõ lắm.
Mình gửi file mẫu lên bạn làm thử xem sao nhé.
:) Cảm ơn bạn nhiều.
 

File đính kèm

Hi. Mình đọc cấu trúc của bạn nhưng vẫn chưa hiểu rõ lắm.
Mình gửi file mẫu lên bạn làm thử xem sao nhé.
:) Cảm ơn bạn nhiều.
Hoặc:
PHP:
F2=MIN(IFERROR(1/(1/F3:G19),""))
Ctrl+Shif+Enter fill xuống
Hoặc:
PHP:
F2=AGGREGATE(15,6,1/(1/F3:G19),1)
Enter fill xuống

Chúc bạn ngày vui.
 
Lần chỉnh sửa cuối:
Hoặc:
PHP:
F2=MIN(IFERROR(1/(1/((F3:G19>0)*F3:G19)),""))
Ctrl+Shif+Enter fill xuống
Cái này thì vẫn trả về #Value. :( không biết tại sao nữa. (Không biết cái khúc Ctrl+Shift+Enter có ảnh hưởng thế nào trong lúc thiết đặt hàm không nhỉ.). Nhập hàm tại ô F2 xong rồi bấm Ctrl+Shift+Enter thay vì Enter phải không bạn nhỉ?
Hoặc:
PHP:
F2=AGGREGATE(15,6,1/(1/((F3:G19>0)*F3:G19)),1)
Enter fill xuống
Cái này thì ok.

Kiến thức Excel của bạn phong phú thật.
Khi nào bác có thời gian rảnh, bạn giải thích giúp mình cái ý nghĩa của đoạn "(1/((F3:G19>0)*F3:G19)),1)" trong cấu trúc hàm AGGREGATE của bạn giúp với nhé.

Cảm ơn bạn nhiều.
Chúc bạn và các anh chị GPE ngày làm việc vui.
 
Cái này thì vẫn trả về #Value. :( không biết tại sao nữa.

Cái này thì ok.
Kiến thức Excel của bạn phong phú thật.
Khi nào bác có thời gian rảnh, bạn giải thích giúp mình cái ý nghĩa của đoạn "(1/((F3:G19>0)*F3:G19)),1)" trong cấu trúc hàm AGGREGATE của bạn giúp với nhé.

Cảm ơn bạn nhiều.
Chúc bạn và các anh chị GPE ngày làm việc vui.
Bạn xem lại công thức bài #6 tôi có giản lược bớt (F3:G19>0) rồi.
Cái này thì vẫn trả về #Value. :( không biết tại sao nữa
Tại vì không nhấn Ctrl+Shift+Enter sau khi kết thúc công thức.

Chúc bạn ngày vui.
 
giải thích giúp mình cái ý nghĩa của đoạn "(1/((F3:G19>0)*F3:G19)),1)" trong cấu trúc hàm AGGREGATE của bạn giúp với nhé
AGGREGATE(15,6, 1/(1/F3:G19) ,1)
  1. Aggregate(15,6,...'Mảng lấy giá trị'...,1): thông số 15--> tương đương hàm MIN('Vùng lấy giá trị'); thông số 6 -->phớt lờ giá trị lỗi có trong mảng lấy giá trị; thông số 1-->lấy giá trị nhỏ nhất đầu tiên. Bạn tham khảo thêm hàm Aggregate() theo link: https://support.office.com/vi-vn/article/Các-hàm-Excel-theo-thứ-tự-bảng-chữ-cái-b3944572-255d-4efb-bb96-c6d90033e188?ui=vi-VN&rs=vi-VN&ad=VN
  2. 1/(1/N) = N: Đây là dạng công thức loại bỏ giá trị 0, nhờ kết hợp với tính năng 'phớt lờ' (giá trị thông số 6) đã nói trên của hàm Aggregate(), với N là tập hợp Mảng có chứa các giá trị, ví dụ: như bài là mảng giá trị ngày {42768,42769;42750,42751;0,0;0,0;0,0;...}, với giá trị 0 thì 1/(1/N) sẽ ra báo lỗi #DIV/0, các giá trị >0 thì là chính nó (1/(1/N) = N). Nếu không dùng Aggregate(15,6,.....,1) thì phải dùng Iferror(......,"") để đổi giá trị lỗi về chuỗi để MIN() không cần quan tâm đến nó.
Chúc bạn ngày vui.
 
Lần chỉnh sửa cuối:
AGGREGATE(15,6, 1/(1/F3:G19) ,1)
  1. Aggregate(15,6,...'Mảng lấy giá trị'...,1): thông số 15--> tương đương hàm MIN('Vùng lấy giá trị'); thông số 6 -->phớt lờ giá trị lỗi có trong mảng lấy giá trị; thông số 1-->lấy giá trị nhỏ nhất đầu tiên. Bạn tham khảo thêm hàm Aggregate() theo link: https://support.office.com/vi-vn/article/Các-hàm-Excel-theo-thứ-tự-bảng-chữ-cái-b3944572-255d-4efb-bb96-c6d90033e188?ui=vi-VN&rs=vi-VN&ad=VN
  2. 1/(1/N) = N: Đây là dạng công thức loại bỏ giá trị 0, nhờ kết hợp với tính năng 'phớt lờ' (giá trị thông số 6) đã nói trên của hàm Aggregate(), với N là tập hợp Mảng có chứa các giá trị, ví dụ: như bài là mảng giá trị ngày {42768,42769;42750,42751;0,0;0,0;0,0;...}, với giá trị 0 thì 1/(1/N) sẽ ra báo lỗi #DIV/0, các giá trị >0 thì là chính nó (1/(1/N) = N). Nếu không dùng Aggregate(15,6,.....,1) thì phải dùng Iferror(......,"") để đổi giá trị lỗi về chuỗi để MIN() không cần quan tâm đến nó.
Chúc bạn ngày vui.
Cảm ơn bạn. Thật thần thánh. :))
 
AGGREGATE(15,6, 1/(1/F3:G19) ,1)
  1. Aggregate(15,6,...'Mảng lấy giá trị'...,1): thông số 15--> tương đương hàm MIN('Vùng lấy giá trị'); thông số 6 -->phớt lờ giá trị lỗi có trong mảng lấy giá trị; thông số 1-->lấy giá trị nhỏ nhất đầu tiên. Bạn tham khảo thêm hàm Aggregate() theo link: https://support.office.com/vi-vn/article/Các-hàm-Excel-theo-thứ-tự-bảng-chữ-cái-b3944572-255d-4efb-bb96-c6d90033e188?ui=vi-VN&rs=vi-VN&ad=VN
  2. 1/(1/N) = N: Đây là dạng công thức loại bỏ giá trị 0, nhờ kết hợp với tính năng 'phớt lờ' (giá trị thông số 6) đã nói trên của hàm Aggregate(), với N là tập hợp Mảng có chứa các giá trị, ví dụ: như bài là mảng giá trị ngày {42768,42769;42750,42751;0,0;0,0;0,0;...}, với giá trị 0 thì 1/(1/N) sẽ ra báo lỗi #DIV/0, các giá trị >0 thì là chính nó (1/(1/N) = N). Nếu không dùng Aggregate(15,6,.....,1) thì phải dùng Iferror(......,"") để đổi giá trị lỗi về chuỗi để MIN() không cần quan tâm đến nó.
Chúc bạn ngày vui.
khà khà em đang tính thắc mắc 1/0 rồi còn điều kiện lớn hơn 0 chi
 

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

Back
Top Bottom