Tách giá trị trong cùng một ô để tính tống?

Thảo luận trong 'Ứng dụng Excel' bắt đầu bởi dqc, 27 Tháng chín 2005.

3,711 lượt xem

  1. dqc

    dqc Thành viên hoạt động

    Bài viết:
    19
    Đã được thích:
    0
    Nơi ở:
    viet nam
    Các bạn giúp mình với. Mình đang làm phần tính điểm cho giáo viên trường mình. Muốn cho tiện trong việc nhập liệu, nên mình có ý định cho họ nhập trong cùng một ô. VD : điểm HS1 là : 4 5 6 2 3. Mình muốn cho họ nhập vào chung một ô là : VD ô a2 : 45623. (Nhưng giá trị này có độ dài không cố định). Mình sẽ dùng hàm gì để tách từng giá trị để tính tổng.
    Mình đã thử kết hợp left, len, right... để tách những dài quá. Bạn nào có thể giúp làm cách nào đơn giản hơn không?
    Cám ơn các bạn nhiều!
     
    #1
  2. levanduyet

    levanduyet Welcome

    Bài viết:
    535
    Đã được thích:
    11
    Giới tính:
    Nam
    Nơi ở:
    HCM
    To: dqc,
    Vâng, nếu được bạn thử dùng hàm chấm công của tôi để làm việc này thì thật là dễ dàng (Thật sự ra gọi hàm chấm công vì hàm này dùng để chấm công nhiều hơn. Với hàm này bạn có thể tách ra như sau: Ví dụ tôi có chuỗi ở ô A2 là HSAT:5;HSAV:6... trong ô B2 cũng tương tự...thì bạn có thể dùng hàm này để tách.
    Bạn xem hàm chấm công trên trang web của tôi.
    Bạn cũng có thể sử dụng hàm Split.

    Lê Văn Duyệt
     
    #2
  3. workman

    workman Thành viên hoạt động

    Bài viết:
    372
    Đã được thích:
    0
    Nơi ở:
    Ho Chi Minh
    Thế nhỡ một anh chàng học dốt bị điểm 1, rồi đến điểm 0. Có cách nào để mình biết được. Lỡ Excel hiểu là điểm mười thì sao?
     
    #3
  4. NgânGiang

    NgânGiang Cố lên! Cố lên...

    Bài viết:
    202
    Đã được thích:
    0
    Nơi ở:
    Trong Mây mù
    Mười thì hiểu là 1 và 0 chứ sao!!! Và như thế số môn sẽ dư ra, Ví dụ có 6 môn học đạt 6 điểm 10 thì hóa ra 12 điểm toàn 1 và 0. Lỡ có 1 môn bỏ thi thì chả biết là thiếu môn thứ mấy trong 6 môn ấy cả!!! Nếu nhập mỗi môn cho đủ 2 chữ số: thay vì 9 thì nhập 09, 0 thì nhập 00 ... và cũng mất quá nhiều công sức thay vì gõ 1 số rồi Enter cho qua ô kế tiếp.
    Tóm lại bạn nên quên cái ý tưởng đó đi.
     
    #4
  5. SA_DQ

    SA_DQ Thành viên thân thiết

    Bài viết:
    428
    Đã được thích:
    34
    Nơi ở:
    HCM city
    Ghi dấu điểm 10 # so với 1 & 0!

    Theo mình 10 là mười; còn 1 & không thì phải qui ước nhập là 1; 0; Thì Excel sẽ hiểu ngay tấp lự! :lol:
    To HuongGiang: Không nên khuyên người khác như vậy chớ! Phải biết rằng từ ~ ý kiến điên rồ nhất cũng có & sẽ có ~ phát kiến sáng tạo nhất!
     
    Last edited: 28 Tháng chín 2005
    #5
  6. alovo

    alovo Thành viên thân thiết

    Bài viết:
    95
    Đã được thích:
    0
    Nơi ở:
    Quê huơng là chùm kế ngọt
    :food-smil Tôi thấy dùng hàm left, len, right.. đâu có dài, ví dụ của bạn là 45623 ở ô A1 tôi lấy số 4 đưa vào ô A2=right(A1,len(A1)-1) tương tự cho các ô còn lại. Nếu cần bạn đưa luôn VD đầy đủ lên tôi làm cho.
     
    #6
  7. dqc

    dqc Thành viên hoạt động

    Bài viết:
    19
    Đã được thích:
    0
    Nơi ở:
    viet nam
    Bạn ngangiang thế lại không hiểu ý mình rồi. Điểm 10 ta chỉ cần dùng kí tự thay thế là xong, đâu có phức tạp như bạn nghĩ đâu.
     
    #7
  8. dqc

    dqc Thành viên hoạt động

    Bài viết:
    19
    Đã được thích:
    0
    Nơi ở:
    viet nam
    Cám ơn alovo nha! Nhưng dùng như bạn thì giá trị đâu phải là a2=4.Mà là a2=5623. Cám ơn bạn đã góp ý. Nhưng mình nói ở đây giá trị ô không phải luôn luôn 5 số, có thể 5, 6, 7... Bạn xem dùm mình nha!
     
    #8
  9. dqc

    dqc Thành viên hoạt động

    Bài viết:
    19
    Đã được thích:
    0
    Nơi ở:
    viet nam
    Chào bạn NgânGiang! Đây là điểm hệ số của một môn chứ không phải nhiều môn như bạn nghĩ đâu ạ! Ví dụ : Môn toán: Có 5 con điểm hệ số 1 thì mình đưa hết vào một ô để tiện cho giáo viên nhập liệu!
     
    #9
  10. levanduyet

    levanduyet Welcome

    Bài viết:
    535
    Đã được thích:
    11
    Giới tính:
    Nam
    Nơi ở:
    HCM
    To:workman,
    Vậy là bạn không biết hàm chấm công của mình rồi. Nó có thể làm được hết. Cái quan trọng là bạn nhập liệu có theo nguyên tắc không?
    Hôm nào chắc phải cafe offline với bác quá?!
    Thân,
    Lê Văn Duyệt
     
    #10
  11. workman

    workman Thành viên hoạt động

    Bài viết:
    372
    Đã được thích:
    0
    Nơi ở:
    Ho Chi Minh
    À tôi hiểu rồi! Có phải ý của bác dqc là nếu điểm mười thì ta gõ chữ A, còn các điểm khác thì nhập số bình thường. Ví dụ: 234A9, tức là anh ta được 2,3,4,10,9. Đúng không?

    To bác Duyệt: chắc chắn rồi, bữa nào phải ra mắt bác, xin bác chỉ giáo về VBA chứ. Tôi dốt đặc khoản này.
     
    #11
  12. dqc

    dqc Thành viên hoạt động

    Bài viết:
    19
    Đã được thích:
    0
    Nơi ở:
    viet nam
    Đúng rồi đó. Nhưng hình như trang web của levanduyet không vào được thì phải. Có thể gởi cho mình file đó không? Email : dqc098@yahoo.com. Cám ơn bạn duyệt nhiều nha!
     
    #12
  13. NgânGiang

    NgânGiang Cố lên! Cố lên...

    Bài viết:
    202
    Đã được thích:
    0
    Nơi ở:
    Trong Mây mù
    Có phải bạn định nói:
    Môn toán có các loại hệ số
    Kiểm tra miệng, 15 phút: Nhập chung vào 1 ô (Hs thứ nhất có thể có 5 bài, HS thứ 2 có thể chỉ có 3 bài - Điều này gọi là độ dài không cố định)
    Kiểm tra 1 tiết: Nhập chung vào 1 ô (Ví dụ có 2 bài)
    Thi học kỳ ... nhập riêng?
    ... và các môn khác
    Sau đó mình sẽ tình điểm bình quân cho mỗi môn học dựa vào số lượng bài kiểm tra và kết quả mỗi lần kiểm tra. Như vậy
    Điểm TB môn của Học Sinh 1: [Tổng 5 bài hệ số 1 + (Tổng 2 bài hệ số 2)x2 + (1 bài hệ số 3)x3]/12
    Điểm TB môn của Học Sinh 2: [Tổng 3 bài hệ số 1 + (Tổng 2 bài hệ số 2)x2 + (1 bài hệ số 3)x3]/10
     
    #13
  14. adam_tran

    adam_tran Steel Partner

    Bài viết:
    1,373
    Đã được thích:
    32
    Nơi ở:
    Goooogle
    Trường hợp bạn nói thì dùng User Defined Function là xong mà, giải quyết mấy cái này rất đơn giãn.
    Function Tongdiem(Chuoi As String)
    Dim i As Integer, Dodai As Integer, Diem As Integer
    Chuoi = Trim(Chuoi)
    Dodai = Len(Chuoi)
    Tongdiem = 0
    For i = 1 To Dodai
    If UCase(Mid(Chuoi, i, 1)) = "A" Then
    Diem = 10
    Else
    Diem = Val(Mid(Chuoi, i, 1))
    End If
    Tongdiem = Tongdiem + Diem
    Next
    End Function

    Chú ý: Function sẽ báo lỗi khi bạn nhập vào chuỗi một ký tự khác chữ A. Theo tôi bạn không nên sử dụng cách này để lưu trữ điểm, tuy nó có vẻ tiện nhưng rất dễ sai sót nếu GV nhập thiếu điểm. Mà sai không biết đường nào mà lần! Tốt nhất bạn phải nhập 1 cột 1 điểm, sửa lại Tool-Options-Move Selection after Enter là Right, bạn sẽ nhập số tiện hơn.
     
    Last edited: 29 Tháng chín 2005
    #14
  15. alovo

    alovo Thành viên thân thiết

    Bài viết:
    95
    Đã được thích:
    0
    Nơi ở:
    Quê huơng là chùm kế ngọt
    :food-smil Xin lỗi bạn nhé tôi đánh hơi nhầm, lâu rồi không dùng nên hơi nhầm một chút, công thức sửa lại như thế này thôi:= left( A1,len(A1)-len(A1)-1) vì len đếm đọ dài của ký tự thì tròng ô của bạn dài bao nhiêu nó đều đếm và trừ đi 1. Đây là công thức trước đây tôi dùng tách tên công ty, địa chỉ, số điện thoại... có kết hợp thêm hàm đếm ký tự trống
     
    #15
  16. workman

    workman Thành viên hoạt động

    Bài viết:
    372
    Đã được thích:
    0
    Nơi ở:
    Ho Chi Minh
    Nhờ bác alovo xem lại công thức giúp với. Tôi thấy hình như công thức của bác không được khoa học lắm: len(a1)-len(a1) ???
     
    #16
  17. dqc

    dqc Thành viên hoạt động

    Bài viết:
    19
    Đã được thích:
    0
    Nơi ở:
    viet nam
    Cám ơn các bạn. Cám ơn adam_tran nhiều lắm. Mình sẽ xem xét đề nghị bạn. Nhưng mình nghĩ cách này là tiện cho họ trong cách nhập liệu. Một lần nữa cám ơn nhiều nha!
     
    #17

Chia sẻ trang này