Hiển thị kết quả tìm kiếm từ 1 đến 10 trên tổng số: 10
  1. #1
    Tham gia ngày
    04 2007
    Bài gởi
    277
    Cảm ơn
    691
    Được cảm ơn 334 lần trong 139 bài viết

    Thắc mắc về sử dụng hàm MAX và MIN

    Chào các bạn!

    Có 1 vấn đề về hàm MAX và MIN muốn nhờ các bạn giải thích:

    1. Yêu cầu: Tìm số lớn nhất và nhỏ nhất trong một danh sách theo một điều kiện kèm theo.
    2. Cách thực hiện:
    a. Dùng các hàm DMAX hoặc DMIN - Kết quả: Tốt
    b. Dùng công thức mảng - Kết quả:
    + MAX: Cho kết quả đúng
    + MIN: Cho kết quả =0
    3. Đính kèm file.

    Thắc mắc:
    + Có thể cách dùng của tôi sai?
    + Có thể có một qui ước riêng nào đó? Tuy nhiên, tôi thấy rằng, về bản chất thì 2 hàm này là tương tự nhau.
    Mong các bạn giải thích giúp nhé! Cảm ơn các bạn rất nhiều.
    Tập tin đính kèm Tập tin đính kèm

  2. Thành viên sau cảm ơn dvu58 về bài viết này:


  3. #2
    Tham gia ngày
    12 2007
    Nơi Cư Ngụ
    Nhà không số, phố không đèn
    Bài gởi
    655
    Cảm ơn
    176
    Được cảm ơn 668 lần trong 406 bài viết
    Bạn lồng thêm IF vào :=MIN(IF(D2:D13=F15,F2:F13,""))
    Bạn bôi đen như hình rồi nhấn F9 thì hiểu ngay
    Hình Ðính Kèm Hình Ðính Kèm min.JPG  
    thay đổi nội dung bởi: thanh_tks, 09-09-09 lúc 09:19 AM
    Ta kính người thì người mới kính Ta.

  4. Có 3 thành viên cảm ơn thanh_tks về bài viết này:


  5. #3
    Tham gia ngày
    04 2007
    Bài gởi
    277
    Cảm ơn
    691
    Được cảm ơn 334 lần trong 139 bài viết

    về cách dùng MAX và MIN

    Trích Nguyên văn bởi thanh_tks View Post
    Bạn lồng thêm IF vào :=MIN(IF(D2:D13=F15,F2:F13,""))
    Cảm ơn bạn!

    Nhưng, vì sao MAX lại không phải dùng thêm IF vẫn được?

  6. Thành viên sau cảm ơn dvu58 về bài viết này:


  7. #4
    Tham gia ngày
    12 2007
    Nơi Cư Ngụ
    Nhà không số, phố không đèn
    Bài gởi
    655
    Cảm ơn
    176
    Được cảm ơn 668 lần trong 406 bài viết
    Trích Nguyên văn bởi dvu58 View Post
    Cảm ơn bạn!

    Nhưng, vì sao MAX lại không phải dùng thêm IF vẫn được?
    Bạn xem lại bài trên!
    Mảng của (D2:D13=F15)*(F2:F13) =0;0;0;0;0;0;125;0;420;0;0;0. vậy min của nó là bao nhiêu?! ngược lại max của nó là bao nhiêu?!.
    thêm IF vào IF(D2:D13=F15,F2:F13,"")="";"";"";"";"";"";125;""; 420;"";"";"".vậy min của nó là bao nhiêu?! ngược lại max của nó là bao nhiêu?!.
    thay đổi nội dung bởi: thanh_tks, 09-09-09 lúc 09:30 AM
    Ta kính người thì người mới kính Ta.

  8. Có 4 thành viên cảm ơn thanh_tks về bài viết này:


  9. #5
    Tham gia ngày
    06 2008
    Bài gởi
    23,546
    Cảm ơn
    13,514
    Được cảm ơn 41,930 lần trong 18,985 bài viết
    Trích Nguyên văn bởi dvu58 View Post
    Chào các bạn!

    Có 1 vấn đề về hàm MAX và MIN muốn nhờ các bạn giải thích:

    1. Yêu cầu: Tìm số lớn nhất và nhỏ nhất trong một danh sách theo một điều kiện kèm theo.
    2. Cách thực hiện:
    a. Dùng các hàm DMAX hoặc DMIN - Kết quả: Tốt
    b. Dùng công thức mảng - Kết quả:
    + MAX: Cho kết quả đúng
    + MIN: Cho kết quả =0
    3. Đính kèm file.

    Thắc mắc:
    + Có thể cách dùng của tôi sai?
    + Có thể có một qui ước riêng nào đó? Tuy nhiên, tôi thấy rằng, về bản chất thì 2 hàm này là tương tự nhau.
    Mong các bạn giải thích giúp nhé! Cảm ơn các bạn rất nhiều.
    Anh ơi, điều này đương nhiên rồi...
    Biểu thức này: (D2:D13=F15)*(F2:F13) sẽ ra kết quả là 1 mãng bao gồm các phần tử đúng điều kiện là 1 giá trị nào đó... còn các phần tử không đạt điều kiện sẽ ra kết quả = 0
    Vậy MIN của tất cả chúng đương nhiên sẽ là phần tử nhỏ nhất... mà trong trường hợp này là số 0
    Chính vì lẽ đó ta phải tùy biến 1 chút, bằng cách thêm IF vào... nói cho "nó" hiểu rằng những phần tử không đạt điều kiện thì = rổng ---> Hàm MAX và MIN khi tính toán sẽ bỏ qua các phần tử rổng

  10. Thành viên sau cảm ơn ndu96081631 về bài viết này:


  11. #6
    Tham gia ngày
    11 2008
    Nơi Cư Ngụ
    TPHCM + Bình Dương
    Bài gởi
    1,113
    Cảm ơn
    5,379
    Được cảm ơn 4,599 lần trong 1,209 bài viết
    Đối với hàm MIN, sau khi bạn dùng hàm mảng, có 2 vấn đề bạn nên xem lại đây:

    {=MIN((D2:D13=F15)*(F2:F13))}

    1. Phần đầu là phần điều kiện (D2:D13=F15), kết quả sẽ có dạng là 0;1;0;0;1 v.v...
    2. Khi lấy kết quả phần đầu nhân với (F2:F13) thì sẽ có kết quả là 0;a;0;0;b v.v...

    Như vậy, nếu pha6n (F2:F13) có giá trị luôn lớn hơn 0 thì số nhỏ nhất trong công thức luôn là 0; còn nếu có một giá trị nhỏ hơn không, nhưng thỏa điều kiện phần đầu thì kết quả sẽ đúng.
    thay đổi nội dung bởi: solomon2211, 09-09-09 lúc 09:41 AM

  12. Có 2 thành viên cảm ơn solomon2211 về bài viết này:


  13. #7
    Tham gia ngày
    04 2007
    Bài gởi
    277
    Cảm ơn
    691
    Được cảm ơn 334 lần trong 139 bài viết
    Trích Nguyên văn bởi solomon2211 View Post
    Đối với hàm MIN, sau khi bạn dùng hàm mảng, có 2 vấn đề bạn nên xem lại đây:

    {=MIN((D2:D13=F15)*(F2:F13))}

    1. Phần đầu là phần điều kiện (D2:D13=F15), kết quả sẽ có dạng là 0;1;0;0;1 v.v...
    2. Khi lấy kết quả phần đầu nhân với (F2:F13) thì sẽ có kết quả là 0;a;0;0;b v.v...

    Như vậy, nếu pha6n (F2:F13) có giá trị luôn lớn hơn 0 thì số nhỏ nhất trong công thức luôn là 0; còn nếu có một giá trị nhỏ hơn không, nhưng thỏa điều kiện phần đầu thì kết quả sẽ đúng.
    Hà! Càng bàn càng thấy rõ và hay nữa.
    Tuy nhiên, khi sử dụng cho MAX thì không nhất thiết phải dùng IF để lọc. Vậy có luôn luôn đúng không?

  14. Thành viên sau cảm ơn dvu58 về bài viết này:


  15. #8
    Tham gia ngày
    04 2007
    Bài gởi
    277
    Cảm ơn
    691
    Được cảm ơn 334 lần trong 139 bài viết

    Nếu kết thúc vấn đề này.....

    Đối với tôi, vấn đề trên đã quá rõ.

    Nếu không có bạn nào còn ý kiến gì, xin phép kết thúc và

    Trân trọng cảm ơn tất cả các bạn đã tích cực gỡ bí cho tôi.

  16. #9
    Tham gia ngày
    11 2008
    Nơi Cư Ngụ
    TPHCM + Bình Dương
    Bài gởi
    1,113
    Cảm ơn
    5,379
    Được cảm ơn 4,599 lần trong 1,209 bài viết
    Trích Nguyên văn bởi dvu58 View Post
    Hà! Càng bàn càng thấy rõ và hay nữa.
    Tuy nhiên, khi sử dụng cho MAX thì không nhất thiết phải dùng IF để lọc. Vậy có luôn luôn đúng không?
    Kể cả khi bạn sử dụng hàm Max. Nếu các giá trị đều <0 thì kết quả hàm Max luôn là 0. Vậy bạn hiểu việc đúng sai thế nào rồi chứ gì.

  17. Thành viên sau cảm ơn solomon2211 về bài viết này:


  18. #10
    Trích Nguyên văn bởi thanh_tks View Post
    Bạn xem lại bài trên!
    Mảng của (D2:D13=F15)*(F2:F13) =0;0;0;0;0;0;125;0;420;0;0;0. vậy min của nó là bao nhiêu?! ngược lại max của nó là bao nhiêu?!.
    thêm IF vào IF(D2:D13=F15,F2:F13,"")="";"";"";"";"";"";125;""; 420;"";"";"".vậy min của nó là bao nhiêu?! ngược lại max của nó là bao nhiêu?!.
    Mình cũng vướng ngay chổ này, may quá lên đây gặp gay cao thủ, chân thành cảm ơn câu hỏi và câu trả lời của pro @thanh_thk

Thông tin về chủ đề này

Users Browsing this Thread

Hiện có 1 người đang xem đề tài này. (0 thành viên và 1 khách)

Bookmarks

Bookmarks

Quyền Sử Dụng Ở Diễn Ðàn

  • Bạn không thể đăng đề tài mới
  • Bạn không thể đăng trả lời
  • Bạn không thể đăng file đính kèm.
  • Bạn không thể sửa bài viết.
  •  

Mudim v0.8 Tắt VNI Telex Viqr Tổng hợp
Chính tả Bỏ dấu kiểu mới  [Bật/Tắt (F9)]