Kết quả 1 đến 6 của 6

Chủ đề: Lấy dữ liệu từ 1 cột để trả giá trị cho cột kia theo điều kiện

  1. #1
    kingkonghn Guest

    Lấy dữ liệu từ 1 cột để trả giá trị cho cột kia theo điều kiện

    Trước hết fải nói là em mới tập tành làm quen với Excel. Hiện đang gặp vấn đề mà ko biết giải quyết nên post mong đc giúp đỡ. Ví dụ 1 bảng về điểm học sinh thi đại học chẳng hạn. Cột số báo danh với các sbd dạng là: A201-1, B304-2..... Bây giờ phải lập công thức cho cột điểm ưu tiên = cách xét các giá trị kií tự đầu tiên tính từ bên phải của mỗi số báo danh, nếu là 1 thì điểm ưu tiên là 2, là 2 thì điểm ưu tiên là 1.5, còn lại thì ưu tiên là 1. Em định dùng hàm IF nhưng ko biết làm cách nào để gán giái trị cho kí tự đầu tiên bên phải mỗi ô SBD. Em đã thử lập công thức là:
    =IF(RIGHT("ô của sbd",1)<>1,IF(RIGHT("ô của sbd,1)=2,1.5,2),1) nhưng ko đc
    Chắc vấn đề cũng đơn giản mày mò là ra nhưng tình hình là 2 ngày nữa em kiểm tra giữa kỳ excel cho nên [IMG]images/smilies/a20.gif[/IMG] . Mong đc sự giúp đỡ của các member. Thx in advance.

  2. #2
    nhq1993 Guest
    Bạn sửa lại như sau:
    40px

  3. #3
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    [QUOTE="BNTT"]Bạn sửa lại như sau:40px
    Cách này em đã thử nhưng ko đc. Nó trả tất cả giá trị điểm ưu tiên về 1 hết, em nghĩ là cái Right kia ko chỉ ra đc cái kí tự thứ nhất tính từ phải vào của SBD. Nên kiểu gì thì nó cũng lấy cái Value if false hết. . Anh BNTT thử test lại cách khác đc ko ạ?

  4. #4
    trandaubds Guest
    Bạn phải sửa lại như thế này nhé
    cách 1
    =IF(RIGHT("ô của sbd",1)+0=1, 2, IF(RIGHT("ô của sbd",1)+0=2, 1.5, 1))

    Cách 2
    =IF(RIGHT("ô của sbd",1)*1=1, 2, IF(RIGHT("ô của sbd",1)*1=2, 1.5, 1))

    Cách 3
    =IF(RIGHT("ô của sbd",1)^1=1, 2, IF(RIGHT("ô của sbd",1)^1=2, 1.5, 1))

    Cách 4
    =IF(--RIGHT("ô của sbd",1)=1, 2, IF(--RIGHT("ô của sbd",1)=2, 1.5, 1))

    Cách 5
    =IF(VALUE(RIGHT("ô của sbd",1))=1, 2, IF(VALUE(RIGHT("ô của sbd",1))=2, 1.5, 1))

    Cách 6
    =IF(RIGHT("ô của sbd",1)="1", 2, IF(RIGHT("ô của sbd",1)="2", 1.5, 1))

  5. #5
    thanhaiti1903 Guest
    Nghĩa là khi nhập 1,2,3... bất kỳ vào thế thì nó là kí tự chứ ko phải số ạ? Tức là sau bất kì toán tử >,<,= ... các thứ thì phải là 1 số thì Excel mới hiểu ạ?
    Btw, thx mọi người đã hướng dẫn. Em làm đc rồi

  6. #6
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Trích dẫn Gửi bởi phdang1990
    Cách này em đã thử nhưng ko đc. Nó trả tất cả giá trị điểm ưu tiên về 1 hết, em nghĩ là cái Right kia ko chỉ ra đc cái kí tự thứ nhất tính từ phải vào của SBD. Nên kiểu gì thì nó cũng lấy cái Value if false hết. . Anh BNTT thử test lại cách khác đc ko ạ?
    hôm nay 06:10 PM
    Xin lỗi vì hồi chiều trả lời vội quá, quên mất chuyện phải chuyển kết quả của hàm RIGHT thành số. Bạn chỉ cần bỏ cái số 1, số 2 sau dấu bằng vào trong cái nháy kép là được thôi. Xin sửa lại công thức của tôi đã gửi trên kia:
    40pxNói thêm: Khi chỉ lấy 1 ký tự, bạn chỉ cần dùng RIGHT("ô của sbd") thôi, không cần RIGHT("ô của sbd", 1) đâu.


    Trích dẫn Gửi bởi phdang1990
    Nghĩa là khi nhập 1,2,3... bất kỳ vào thế thì nó là kí tự chứ ko phải số ạ? Tức là sau bất kì toán tử >,<,= ... các thứ thì phải là 1 số thì Excel mới hiểu ạ?
    Không phải như vậy đâu. Mà là: Kết quả của những hàm xử lý ký tự (LEFT, RIGHT, MID, v.v...) luôn luôn là những ký tự.

    RIGHT("ô của sbd") trả về kết quả là ký tự cuối cùng của "ô của sbd", trong khi chúng ta lại đi so sánh với số 1, nên Excel báo lỗi.

    Do đó:
    • hoặc là chuyển RIGHT("ô của sbd") thành số bằng cách cộng trừ nhân chia với một số (mà không làm thay đổi giá trị): RIGHT("ô của sbd")*1, RIGHT("ô của sbd")+0, RIGHT("ô của sbd")^1, dùng hàm VALUE, v.v...
    • hoặc là cho cái số 1 kia thành ký tự bằng cách nhét nó vô trong một cặp dấu nháy kép: "1"

    Khi làm toán tử so sánh (=, >, <...) thì chúng ta phải so sánh số với số, ký tự với ký tự, con mèo với con mèo, con cá với con cá ... Nói chung là hai đối tượng đem đi so sánh phải chung một loài.

    Bạn hiểu chứ ?

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
  •