Đăng ký học Excel và VBA cùng GPE tháng 11 - TPHCM

Mua sách "VBA trong Excel - Cải thiện và tăng tốc" tái bản

hỏi cách thêm số 0 vào đầu dãy số?

Thảo luận trong 'Cấu trúc dữ liệu Excel và việc Xử lý dữ liệu' bắt đầu bởi xuanhoaspt, 15 Tháng tư 2009.

  1. xuanhoaspt

    xuanhoaspt Thành viên mới

    Mình có 1 cột bao gồm có các ô có 5 số và 6 số như trong file mình đính kèm theo. giờ có cách nào thêm số 0 vào trước những số có 5 chữ số không ạ?(vì mình muốn tất cả các ô đều có 6 số) ai biết chỉ mình với vì cái này mình nhiều quá không thể thêm bằng tay được. Cảm ơn các bạn nhiều!
     

    Các file đính kèm:

  2. huuthang_bd

    huuthang_bd Thay thái độ đổi cuộc đời

    Quét hết cột dữ liệu - Format cells (Ctrl + 1) - Number - Custom
    Tại Type bạn nhập vào 000000
     
  3. ndu96081631

    ndu96081631 Ăn cùng GPE, Ở cùng GPE, Sống cùng GPE Staff Member Super Moderator

    Chọn toàn bộ dử liệu, click phải chuột, chọn Format Cells ---> Tab Number, mục Custom bạn gõ 6 số 0 vào là xong!
     
  4. xuanhoaspt

    xuanhoaspt Thành viên mới

    Mình làm như các bác chỉ dẫn và đã hiển thị đúng là 6 số, nhưng mà khi đó mình sử dụng hàm DATE(RIGHT(C3,2),MID(C3,3,2),LEFT(C3,2)) thì ở những ô có 5 chữ số đó thì lại không ra kết quả ngày chính xác. Có cách nào thêm vào trước những ô có 5 số đó dạng 6 số: '0xxxxx không ạ? như thế thì công thức kia của mình mới chạy chính xác. Rất mong được giúp đỡ!
     
  5. ndu96081631

    ndu96081631 Ăn cùng GPE, Ở cùng GPE, Sống cùng GPE Staff Member Super Moderator

    Làm vậy đâu có được!
    Bạn sửa lại công thức thành:
    =DATE(RIGHT(C3,2),MID(C3,LEN(C3)-3,2),LEFT(C3,LEN(C3)-4))
    Tuy nhiên, tôi vẫn không khoái LEFT, RIGHT khi xử lý các hàm thời gian
    Tôi thường dùng cách sau:
    =DATE(MOD(C3,100)+(MOD(C3,100)<30)*2000,INT(MOD(C3,10000)/100),INT(C3/10000))
    Bảo đãm đúng cho cả các trường hợp NĂM từ 2000 trở lên
     
  6. xuanhoaspt

    xuanhoaspt Thành viên mới

    hi cảm ơn nhiều mình đã làm được rồi!
     
  7. rosy84

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

    bạn dùng công thức này đi, mình đảm bảo đúng 100% nếu cần macro thì bảo mình nha, khó thì mình không làm được nhưng cái này chắcmình làm đươc.

    IF(LEN(C3)=5,"0"&C3,C3)
     
  8. paulsteigel

    paulsteigel A Fool!

    Mọi người không để ý cái hàm TEXT() của Excel rồi! Vì mục đích tác giả về sau là sẽ dùng chuỗi vậy sao ta không dùng ngay hàm Text.
    =TEXT(A1;"000000")
    Hàm này giống như hàm Format trong VBA - có điều kết quả là thành chuỗi và không còn là số nwã đâu nhé!
     
  9. ndu96081631

    ndu96081631 Ăn cùng GPE, Ở cùng GPE, Sống cùng GPE Staff Member Super Moderator

    Mục đích của tác giả có phải là muốn dùng chuổi hay không tôi không dám chắc, nhưng thấy tác giả đề cập đến DATE --> Vậy tức kết quả sau này phải là DATE
    Quan điểm của tôi, đã là DATE thì phải DATE cho đàng hoàng (tức phải tính toán được ... việc hiển thị không quan trọng) ---> Vì thế dùng hàm TEXT trong trường hợp này là thứ dở ẹt nhất
    Bạn đừng nói sau khi dùng TEXT xong thì lại LEFT(..) & "/" & MID(...) & "/" & RIGHT (...) nhé !!! ---> Khó coi lắm
    Ẹc.. Ẹc...
     
    Lần chỉnh sửa cuối: 16 Tháng tư 2009
  10. paulsteigel

    paulsteigel A Fool!

    Tác giả muốn thế này:
    Đây là bình luận thêm của bạn:
    Tác giả đã hỏi ta là họ cần giúp gì với cái kết quả đó đâu, họ chỉ cần việc có chuỗi đó thôi...
    Suy cho cùng làm gì, và như thế nào và tại sao chung quy lại là cách chúng ta nhìn nhận sự việc của người khác trong phạm vi quan điểm của mình.
    Việc đưa thêm một cách làm cũng đâu có phải là gì quá xa xỉ và lỗi lầm (hoặc dở ẹc) nhỉ.
    Tại hạ xin có thiển ý như thế!
     
  11. ndu96081631

    ndu96081631 Ăn cùng GPE, Ở cùng GPE, Sống cùng GPE Staff Member Super Moderator

    Vậy là bạn đọc không hết yêu cầu của tác giả rồi (mới đọc có bài số #1) ---> Bạn đọc tiếp bài số #4 xem
    Ẹc... Ẹc...
     
  12. paulsteigel

    paulsteigel A Fool!

    Câu hỏi là thế mà! Họ có cần bạn nói về điều gì khác đâu? Vế sau của câu chỉ có giá trị bổ sung thông tin mà thôi.
    Quả thật, mình đâu có bàn về cách xử lý dữ liệu về ngày giờ, mình chỉ có ý nói về môt cách khác dùng hàm TEXT để đưa kết quả về dạng theo yêu cầu của tác giả.
    Công nhận bác chuyên gia hiểu "sâu và xa" quá!
    Tại hạ không dám bàn thêm nữa
     
  13. laohacpt

    laohacpt Thành viên mới

    Format Cell ->Custome-> Định đạng ô theo kiểu 0######. OK Bao nhiêu số quyết định ở dạng #. Nếu có 10 số như Số điện thoại thì: 0### ### ###. Bạn cứ thử coi sao nhé !~
     
  14. htbngoc2709

    htbngoc2709 Thành viên mới

    cho em hỏi nếu bây giờ mình nhập số không có nguyên tắc, ví dụ số đó không bắt buộc là phải có 6 chữ số mà có thể là 7,8,9,... thì mình làm sao, em muốn hỏi cách để excel giữ nguyên con số mình đã nhập và định dạng của nó phải là number
     
  15. thuylinh1234

    thuylinh1234 Thành viên mới

    May quá, trc mình toàn tự nhập tay số 0 vào đằng trc, rất mất công may seach trên google được chủ toppic hỏi thay, giờ mình đã làm đc roài. Thanks cả nhà
     
  16. minhtrang1978

    minhtrang1978 Thành viên mới

    Trước tiên cám ơn paulsteigel thật nhiều ,câu trả lời của bạn rất đúng trong trường hợp của mình , con số "0" nó làm mình nhức đầu khi công thức có hàm "countifs","right","left".......hay "mid' thì áp dụng Format Cell ->Custome-> Định đạng ô theo kiểu 0###### cũng không xong ,chỉ có cách của bạn đă gỡ rối cho mình ...thank.(mình đang ngâm cứu Soi cầu miền nam)
     
  17. Nguyễn Hoàn Hảo

    Nguyễn Hoàn Hảo Thành viên mới

    cách đơn giản và chính xác nhất.
    chọn Format Cells--> number--> custom --> chọn 0########( số dấu thân tương đương với số mình muốn )
    Vd : 909789990 thì 0######### --> 0909789990
     

Chia sẻ trang này