Trang 1 của 15 12311 ... CuốiCuối
Kết quả 1 đến 10 của 143

Chủ đề: Hỏi về hàm if và and kết hợp

  1. #1
    tranvanduc Guest

    Hỏi về hàm if và and kết hợp

    Xin chào các bạn
    Tôi sử dụng hàm if và hàm and kết hợp nhưng không cho kết quả đúng được
    Mong các bạn chỉ giùm chỗ nào sai
    Mục đích của tôi là nếu ở cột I10 mà là tháng 8, đồng thời ở cột J10 là các ngày ....., thì cho kết quả là ngày nghỉ, ngược lại thì cho kết quả "-"
    Xin chân thành cảm ơn

    Có kèm theo tập tin

  2. #2
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    BẠN GỬI FI LE LÊN MÀ CHẲNG CÓ THẤY CÁI GÌ CẢ THÌ BIẾT NGÀY NÀO NGHỈ ĐỂ MÀ LÀM ĐÂY.NHÂN TIỆN ĐÂY TUI GỬI CÁC HÀM IF VÀ AND CHO BẠN THAM KHẢO


    Hàm AND

    Có lẽ khỏi giải thích nhỉ. AND có nghĩa là VÀ. Vậy thôi. Dùng hàm này khi muốn nói đến cái này và cái này và cái này......

    Cú pháp: AND(logical1 [, logical2] [, logical3]...)

    _____logical: Những biểu thức sẽ được xét xem đúng (TRUE) hay sai (FALSE)

    Nếu tất cả các biểu thức đều đúng, hàm AND() sẽ trả về giá trị TRUE, và chỉ cần 1 trong các biểu thức sai, hàm AND() sẽ trả về giá trị FALSE.

    Bạn có thể dùng hàm AND() bất cứ chỗ nào bạn muốn, nhưng thường thì hàm AND() hay được dùng chung với hàm IF().

    Ví dụ:
    =IF(AND(B2 > 0, C2 > 0), "1000", "No bonus")
    Nếu giá trị ở B2 ở C2 lớn hơn 0, thì (thưởng) 1.000, còn nếu chỉ cần một trong 2 ô B2 hoặc C2 nhỏ hơn 0, thì không thưởng chi cả.

    Vấn đề xét một giá trị nằm trong một khoảng

    Có một bạn, khi nói đến một giá trị nằm trong khoảng từ 3 đến 10, đã dùng công thức 3 < x < 10 trong một công thức của hàm IF()
    Không sai. Nhưng Excel thì "hổng hỉu". Vậy phải viết sao để Excel "hỉu" ?

    Bạn ấy phải viết như vầy:

    AND(x>3, x<10)


    Bài toán thống kê theo độ tuổi

    Bạn xem hình này nhé.

    Ở vùng Thống kê theo độ tuổi, người ta muốn lập công thức dựa vào số tuổi ở cột B và câu trả lời ở cột C, thì biết được lứa tuổi nào muốn cái gì...


    Chúng ta cùng làm nào (làm cho một hàng thôi rồi kéo công thức xuống)
    Để xét độ tuổi từ 18 đến 34, công thức:

    AND(B11 >= 18, B11 <= 34)

    Câu trả lời nằm ở cột C, vậy công thức tìm câu trả lời cho độ tuổi từ 18 đến 43 là:
    =IF(AND(B11 >= 18, B11 <= 34), C11, "")

    Đúng rồi. Vậy ta làm tiếp thôi:

    Độ tuổi 35-49: =IF(AND(B11 >= 35, B11 <= 49), C11, "")

    Độ tuổi 50-64: =IF(AND(B11 >= 50, B11 <= 64), C11, "")

    Độ tuổi trên 65: =IF(B11 >= 65, C11, "")

    Hàm IF

    Hàm đầu tiên tôi muốn bàn tới là hàm IF(). Có lẽ đây là một trong những hàm được dùng nhiều nhất trong các bảng tính Excel.
    Cái lập luận:
    "Nếu tôi tôi đúng thì làm cho tôi cái này, nếu tôi sai thì làm cho tôi cái kia".. Có lẽ trong chúng ta ai cũng hiểu.
    Vậy tôi sẽ không giải nghĩa nhiều về hàm này, mà sẽ dùng các ví dụ để minh họa.


    Một tình huống đơn giản nhất

    Cú pháp: IF(logical_test, value_is_true)

    _____logical_test: Một biểu thức sẽ được xét xem đúng (TRUE) hay sai (FALSE)

    _____value_is_true: giá trị trả về khi biểu thức logical_test được kiểm tra là đúng (TRUE)

    Ví dụ:

    =IF(A1 >= 1000, "It’s big!")
    Nghĩa là, nếu giá trị ở A1 lớn hơn hoặc bằng 1000, thì kết quả nhận được sẽ là "It's big!", còn không, nếu A1 nhỏ hơn 1000, kết quả sẽ là FALSE.

    Một ví dụ khác, giả sử bạn có một bảng đánh giá mức độ bán ra, mua vào của một danh mục hàng hóa dài, và bạn muốn theo dõi những mặt hàng có doanh số bán ra không đạt yêu cầu để điều chỉnh chiến lược kinh doanh của mình, bằng cách gán những dấu
    "<" bên cạnh nó, hễ phần trăm doanh số càng thấp thì những dấu hiệu "<" càng nhiều...

    Bạn có thể dùng hàm IF(), theo mẫu:

    =IF(cell<0, flag)

    Với cell là giá trị doanh số mà bạn muốn theo dõi, và flag là dấu hiệu để mô tả, ví dụ, cell chứa giá trị doanh số là B2:
    =IF(B2<0, "<<<<<")

    Để những dấu "<" tỷ lệ thuận với mức sụt giảm doanh số bán hàng, bạn có thể dùng hàm REPT(), với công thức:
    REPT("<" , B2 * -100)

    Ở đây, phải nhân giá trị của B2 với -100, bởi vì chúng ta chỉ xét những trường hợp B2<0

    Và công thức hoàn chỉnh để thể hiện mức độ sụt giảm doanh số của từng mặt hàng sẽ là:

    =IF(B2<0, REPT("<" , B2 * -100))


    Hình sau đây minh họa cho ví dụ vừa rồi:




    Xử lý trường hợp xảy ra khi biểu thức sai (FALSE)

    Xem hình trên, có lẽ bạn sẽ không thích thấy những chữ FALSE hiện ra khi giá trị trong cột B lớn hơn không.
    Tuy rằng cứ để vậy thì công thức của chúng ta vẫn đúng, tuy nhiên "không đẹp", nên chăng ta thay các chữ
    FALSE đó bằng những ký tự rỗng, những ký tự trắng ?

    Chúng ta sẽ dùng hàm IF() với cấu trúc sau:

    Cú pháp:
    IF(logical_test, value_is_true, value_is_false)

    _____logical_test: Một biểu thức sẽ được xét xem đúng (TRUE) hay sai (FALSE)

    _____value_is_true: giá trị trả về khi biểu thức logical_test được kiểm tra là đúng (TRUE)

    _____
    value_is_false: giá trị trả về khi biểu thức logical_test được kiểm tra là không đúng (FALSE)

    Ví dụ:

    =IF(A1 >= 1000, "It’s big!", "It’s not big!")

    Nghĩa là, nếu giá trị ở A1 lớn hơn hoặc bằng 1000, thì kết quả nhận được sẽ là "It's big!", còn không, nếu A1 nhỏ hơn 1000, kết quả sẽ là "It's not big!"

    Trở lại ví dụ về theo dõi mức sụt giảm doanh số bán ra ở trên, để không còn thấy những chữ
    FALSE, chúng ta sẽ sửa lại công thức:
    =IF(B2<0, REPT("<" , B2 * -100), "")

    Kết quả có được là hình sau:


    Xử lý trường hợp chia cho 0


    Đôi khi, do không để ý, trong bảng tính của chúng ta sẽ gặp phải những trường hợp chia cho số 0. Những khi đó, Excel sẽ báo lỗi là #DIV/0!

    Để tránh xảy ra trường hợp này, có thể dùng hàm IF().

    Ví dụ: Với A= doanh số bán ra, B= chi phí, thì lỷ lệ lợi nhuận có thể tính như sau
    =IF(A <> 0 , (A-B)/A, "Doanh số bán = 0!")

  3. #3
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Chào các bạn.

    Mình có bài tập như trong file dữ liệu mẫu thì liệu có áp dụng hàm IF được không, và áp dụng như thế nào. Rất mong các bạn giúp đỡ.

    Cám ơn các bạn nhiều.

  4. #4
    tribobo1993 Guest
    Trích dẫn Gửi bởi congthanh6868
    Chào các bạn.

    Mình có bài tập như trong file dữ liệu mẫu thì liệu có áp dụng hàm IF được không, và áp dụng như thế nào. Rất mong các bạn giúp đỡ.

    Cám ơn các bạn nhiều.
    -----------
    Chẳng biết bạn muốn như thế nào,
    tôi chỉ hiểu theo tôi hiểu, bạn thử xem có giúp ích gì không?

  5. #5
    lebichvan888 Guest
    Trích dẫn Gửi bởi congthanh6868
    Chào các bạn.

    Mình có bài tập như trong file dữ liệu mẫu thì liệu có áp dụng hàm IF được không, và áp dụng như thế nào. Rất mong các bạn giúp đỡ.

    Cám ơn các bạn nhiều.
    Bài này chủ yếu dùng hàm mod hoặc if kết hợp với hàm and, or. Bạn xem file nhé!

  6. #6
    linhphukientaythuc Guest
    Thêm 1 bài tập nữa mong các bạn giúp đỡ. mình có các số 2 chữ số như sau: 34 76 29 66 83 71. mình muốn sắp xếp lại như sau: 34 67 29 66 38 17 (tức là nếu một số có số đứng trước nhỏ hơn số đứng sau thì giữ nguyên, ví dụ: 34; nếu 1 số có số đứng trước lớn hơn số đứng sau thì đổi vị trí lại, ví dụ 83 thành 38; trường hợp 2 số trước và sau đều giống nhau thì cũng giữ nguyên, ví dụ 66) thì dùng hàm if kết hợp với hàm nào khác? hoặc là có hàm nào phù hợp không? Mong các bạn giúp đỡ. Cám ơn các bạn.

  7. #7
    nhatlinhit88 Guest
    Trích dẫn Gửi bởi congthanh6868
    Thêm 1 bài tập nữa mong các bạn giúp đỡ. mình có các số 2 chữ số như sau: 34 76 29 66 83 71. mình muốn sắp xếp lại như sau: 34 67 29 66 38 17 (tức là nếu một số có số đứng trước nhỏ hơn số đứng sau thì giữ nguyên, ví dụ: 34; nếu 1 số có số đứng trước lớn hơn số đứng sau thì đổi vị trí lại, ví dụ 83 thành 38; trường hợp 2 số trước và sau đều giống nhau thì cũng giữ nguyên, ví dụ 66) thì dùng hàm if kết hợp với hàm nào khác? hoặc là có hàm nào phù hợp không?
    Bạn nói rõ thêm, chuỗi của bạn chỉ có 6 cặp số cách nhau bởi dấu " " (space) hay là các cặp số trong chuỗi là không xác định?

  8. #8
    annguyen Guest
    Ta thêm hàm định dạng thành văn bản Text(so,"00"), nhưng chỉ đúng khi số có 1 hoặc 2 chữ số.

    Đồng thời, tôi cũng sửa lại một chút công thức của gaunuicr
    =TEXT(IF(INT(A1/10)<MOD(A1,10),A1,MOD(A1,10)*10+INT(A1/10)),"00")

    Gửi xong thấy bài của huuthang_bd, thấy hay, nên sửa lại là
    =TEXT(MIN(A1,--MID(A1&A1,2,2)),"00")

  9. #9
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Trích dẫn Gửi bởi cadafi
    Bạn nói rõ thêm, chuỗi của bạn chỉ có 6 cặp số cách nhau bởi dấu " " (space) hay là các cặp số trong chuỗi là không xác định?
    6 cặp số của mình lần nằm trong các ô từ a1 đến a6. Mình đã sử dụng công thức thứ 2 của bạn gaunuicr và đã thành công. nếu bạn có công thức nào khác thì chia sẽ với mình nhé. cám ơn bạn nhiều!

  10. #10
    mewevn Guest
    Trích dẫn Gửi bởi gaunuicr
    Giả sử các số của bạn ở cột A (A1 đến A6) thì ở B1 bạn nhập công thức sau:
    =IF(QUOTIENT(A1;10)<=MOD(A1;10);A1;MOD(A1;10)*10+Q UOTIENT(A1;10))
    Nếu máy bạn chưa có hàm QOUTIENT() thì dùng công thức:
    =IF((A1-MOD(A1;10))/10<=MOD(A1;10);A1;MOD(A1;10)*10+(A1-MOD(A1;10))/10)
    Cám ơn bạn, mình đã áp dụng công thức thứ 2 của bạn và đã thành công. nhưng có 1 vấn đề phát sinh là nếu số của mình là những số kết thúc = số 0, ví dụ: 10, 20, 30..., 90 thì công thức sẽ trả về chỉ là 1 số: 1, 2, 3,...,9, nhưng điều mình mong muốn là sẽ trả về: 01, 02, 03, ...., 09. Nếu bạn giúp mình được vấn đề này nữa thì tốt quá. Cám ơn bạn nhiều.

Trang 1 của 15 12311 ... CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •