Nhờ giúp đỡ cách tự động thêm một dấu nháy ( ' ) và trước ngày tháng năm trong excel (3 người xem)

  • Thread starter Thread starter Blad01
  • Ngày gửi Ngày gửi

Người dùng đang xem chủ đề này

  • Blad01

    Thành viên thường trực
    Tham gia
    6/10/07
    Bài viết
    350
    Được thích
    28
    Có cách nào để excel tự động thêm một dấu ( ' ) vào phía trước ngày tháng năm không:
    VD: 15/4/2012 ==> '15/4/2012; 4/1/2012 ==> '4/1/2012
    Cảm ơn các bạn nhiều
     

    File đính kèm

    Lần chỉnh sửa cuối:
    Xin lỗi, ý bạn là dùng (') để chuyển date sang text. Nếu vậy bạn dùng hàm text() cũng được.
     
    Lần chỉnh sửa cuối:
    Đơn giản nhất là bạn định dạng ô nhập theo dạng Text, đỡ phải dùng thêm ký tự '.
     
    Mục đích của mình muốn thêm dấu ( ' ) vào phía trước ngày tháng là để khi chuyển file có chứa ngày tháng sang máy khác nó không bị chuyển đổi định dạng lung tung (VD: ở máy mình định dạng ngày tháng là 15/4/2012 ==> máy khác thành 4/15/2012; 4/1/2012 ==> 1/4/2012. Mình cũng đã thử chuyển ngày tháng từ máy mình thành dạng text nhưng sang máy khác nó vẫn bị chuyển định dạng, không mặc định được. Có một cách để khắc phục trường hợp này là chuyển đổi hệ thống thời gian trong máy tính, khốn nỗi mình làm file tiện ích cho nhiều người sử dụng nhưng ở chỗ mình mọi người chưa thông thạo lắm về máy tính vì vậy hướng dẫn cúng gặp nhiều khó khăn. Nên mình muốn thêm dấu ( ' ) vào trước ngày tháng để khi mọi người nhập ở bất kì máy nào nó cũng mặc định được luôn định dạng minh đã chọn ban đầu. Ai biết cách làm cho định dạng ngày tháng mặc định với bất kì máy tính nào thì chỉ giúp mình với nhé.
    Cảm ơn nhiều !.
     
    Mục đích của mình muốn thêm dấu ( ' ) vào phía trước ngày tháng là để khi chuyển file có chứa ngày tháng sang máy khác nó không bị chuyển đổi định dạng lung tung (VD: ở máy mình định dạng ngày tháng là 15/4/2012 ==> máy khác thành 4/15/2012; 4/1/2012 ==> 1/4/2012. Mình cũng đã thử chuyển ngày tháng từ máy mình thành dạng text nhưng sang máy khác nó vẫn bị chuyển định dạng, không mặc định được. .
    Việc nhập ngày tháng năm đã được Excel nhận dạng ngay từ đầu. Ví dụ bạn nhập 04/05/2012 theo dd/mm/yyyy thì sang máy khác nó cũng hiểu định dạng thời gian đó chỉ khác hiển thị (vẫn là ngày 4 thang 5 năm 2012 còn hiển thị là 05/04/2012)
    Bạn có thể thử với hàm Day(), Month() sẽ rõ. Bạn xem lại cách chuyển đổi định dạng của tiện ích bạn làm
    Thân!
     
    Dùng cách này được không nhỉ?
    Mã:
    Private Sub Workbook_Open()
    Sheet1.Range("A:A").Select
    Selection.NumberFormat = "dd/mm/yyyy"
    End Sub
     

    File đính kèm

    Việc nhập ngày tháng năm đã được Excel nhận dạng ngay từ đầu. Ví dụ bạn nhập 04/05/2012 theo dd/mm/yyyy thì sang máy khác nó cũng hiểu định dạng thời gian đó chỉ khác hiển thị (vẫn là ngày 4 thang 5 năm 2012 còn hiển thị là 05/04/2012)
    Bạn có thể thử với hàm Day(), Month() sẽ rõ. Bạn xem lại cách chuyển đổi định dạng của tiện ích bạn làm
    Thân!
    Mình hiểu ý bạn, nó chỉ khác nhau về sự hiển thị nhưng đây lại là vấn đề lớn đối với mình vì với trường hợp ngày tháng năm sinh là 15/4/2012 => 4/15/2012 thì dễ hiểu được đâu là tháng đâu là ngày, tuy nhiên khi đặt công thức để tính tuổi với cách chuyển đổi là 4/15/2012 thì excel lại báo lỗi #Value. Còn trường hợp ngày 1/4/2012 => 4/1/2012 thì người xem khó hiểu đâu là ngày, đâu là tháng.

    Private Sub Workbook_Open() Sheet1.Range("A:A").Select Selection.NumberFormat = "dd/mm/yyyy" End Sub
    Cách này của bạn hay và ngắn gọn, nhưng như mình nói ở trên là đối tượng sử dụng máy vi tính ở chỗ mình không tốt lắm vì vậy việc hướng dẫn để maco hoạt động là khó khăn. Còn cách nào tối ưu hơn không các bạn
     
    Lần chỉnh sửa cuối:
    Nói thì khó, bạn đưa File lên là tôt nhất. Gợi ý cho bạn, nếu chỉ là tìm ngày tháng năm sinh thì bạn đừng tìm theo kiể chuỗi như thế, khả năng sai là rất lớn. Bạn hãy dùng hàm Date (ví dụ: Date(2012,5,15)..) Với kiểu này thì bất cứ định dạng mặc định nào của máy tính dd/mm/yyyy hay mm/dd/yyyy cũng đều cho kết quả chính xác
    Thân!
     
    Nếu không thì bạn làm 3 ô, một ô nhập ngày, một ô nhập tháng, một ô nhập năm là chắc cú nhất. =))
     
    Nói thì khó, bạn đưa File lên là tôt nhất. Gợi ý cho bạn, nếu chỉ là tìm ngày tháng năm sinh thì bạn đừng tìm theo kiể chuỗi như thế, khả năng sai là rất lớn. Bạn hãy dùng hàm Date (ví dụ: Date(2012,5,15)..) Với kiểu này thì bất cứ định dạng mặc định nào của máy tính dd/mm/yyyy hay mm/dd/yyyy cũng đều cho kết quả chính xác
    Thân!
    Không phải mình muốn tìm ngày tháng năm sinh. mà minh muốn mặc định ngày tháng năm sinh với tất cả các máy. Bạn xem giúp mình với nhé. Cảm ơn nhiều.View attachment 92040
     

    File đính kèm

    Lần chỉnh sửa cuối:
    Nếu không dùng VBA, không tùy chỉnh lại hệ thống thì đối với ngu kiến mình chỉ có nước tách ra 3 cột để nhập là ổn thôi. Chờ các thầy xem sao.
     
    Theo tôi thấy thì File của bạn cho nhiều người nhập và bạn khó quản lý việc nhập có đúng hay không do định dạng thời gian các máy khác nhau hoặc vô ý của người dùng (4/5/2012 hoặc 5/4/2012) vậy để khắc phục thì bạn có thể định dạng ô thời gian dạng
    " ngày "dd" tháng "mm" năm "yyyy
    -phần Custom fomat (cái này chắc bạn biết)

    Sau khi nhập dữ liệu chắc người nhập sẽ biết đúng hay sai để sửa lại vì Tiếng Việt mà
    Thân!
     
    Không thì bạn chọn cột đó, format cells chọn text đi. Cũng ổn đó.
     
    Mình hiểu ý bạn, nó chỉ khác nhau về sự hiển thị nhưng đây lại là vấn đề lớn đối với mình vì với trường hợp ngày tháng năm sinh là 15/4/2012 => 4/15/2012 thì dễ hiểu được đâu là tháng đâu là ngày, tuy nhiên khi đặt công thức để tính tuổi với cách chuyển đổi là 4/15/2012 thì excel lại báo lỗi #Value. Còn trường hợp ngày 1/4/2012 => 4/1/2012 thì người xem khó hiểu đâu là ngày, đâu là tháng.

    Dám cá với bạn không bao giờ có chuyện đó, ngoại trừ:
    - Công thức của bạn sai
    - Ngày tháng bạn nhập không đúng chuẩn Date

    Còn lại thì ngày tháng cho dù có hiển thị thế nào thì nó vẫn không bao giờ ảnh hưởng đến độ chính xác của kết quả
    --------------------
    Nói thật là tôi rất lấy làm lạ tại sao vấn đề ngày tháng lại khiến các bạn dùng Excel lúng túng thế nhỉ?
     
    công thức tại ô G6 khi đó là:
    Mã:
    =IF(E6="","",DATEDIF(DATE(RIGHT(E6,4),MID(E6,FIND("/",E6)+1,LEN(E6)-FIND("/",E6)-5),LEFT(E6,FIND("/",E6)-1)),TODAY(),"y")&"N/"&DATEDIF(DATE(RIGHT(E6,4),MID(E6,FIND("/",E6)+1,LEN(E6)-FIND("/",E6)-5),LEFT(E6,FIND("/",E6)-1)),TODAY(),"ym")&"T/"&DATEDIF(DATE(RIGHT(E6,4),MID(E6,FIND("/",E6)+1,LEN(E6)-FIND("/",E6)-5),LEFT(E6,FIND("/",E6)-1)),TODAY(),"md")&"Ng")
     
    Dám cá với bạn không bao giờ có chuyện đó, ngoại trừ:
    - Công thức của bạn sai
    - Ngày tháng bạn nhập không đúng chuẩn Date

    Còn lại thì ngày tháng cho dù có hiển thị thế nào thì nó vẫn không bao giờ ảnh hưởng đến độ chính xác của kết quả
    --------------------
    Nói thật là tôi rất lấy làm lạ tại sao vấn đề ngày tháng lại khiến các bạn dùng Excel lúng túng thế nhỉ?

    Vấn đề mình hỏi là phát sinh từ thực tế mà bạn, mình đã chuyển tất cả ngày tháng thành dạng DATE rồi nhưng công thức vẫn không tính được. mình cũng đã thử chuyển ngày tháng thành dạng text nhưng khi sang máy khác vẫn bị sai định dạng mà mình mong muốn. Vì khó khăn như vậy mình rất mong nhận được sự giúp đỡ từ diễn đàn. Có lẽ phải dùng VBA vậy.
     
    Vấn đề mình hỏi là phát sinh từ thực tế mà bạn, mình đã chuyển tất cả ngày tháng thành dạng DATE rồi nhưng công thức vẫn không tính được. mình cũng đã thử chuyển ngày tháng thành dạng text nhưng khi sang máy khác vẫn bị sai định dạng mà mình mong muốn. Vì khó khăn như vậy mình rất mong nhận được sự giúp đỡ từ diễn đàn. Có lẽ phải dùng VBA vậy.

    Nói phải có bằng chứng! Bạn thử đưa 1 file tương tự lên đây xem (nhớ chỉ ra chổ sai trong file nhé)
     
    Bạn Test thử xem đúng ý chưa
    đầu tiên format 2 cột để nó thành dạng text bằng cách chọn 2 cột => Format cells =>text. khi đó người dùng nhập sẽ toàn là text
    sau đó dùng công thức sửa lại để lấy được thâm niên.
    Hy vọng đúng ý bạn
    Thân
     

    File đính kèm

    công thức tại ô G6 khi đó là:
    Mã:
    =IF(E6="","",DATEDIF(DATE(RIGHT(E6,4),MID(E6,FIND("/",E6)+1,LEN(E6)-FIND("/",E6)-5),LEFT(E6,FIND("/",E6)-1)),TODAY(),"y")&"N/"&DATEDIF(DATE(RIGHT(E6,4),MID(E6,FIND("/",E6)+1,LEN(E6)-FIND("/",E6)-5),LEFT(E6,FIND("/",E6)-1)),TODAY(),"ym")&"T/"&DATEDIF(DATE(RIGHT(E6,4),MID(E6,FIND("/",E6)+1,LEN(E6)-FIND("/",E6)-5),LEFT(E6,FIND("/",E6)-1)),TODAY(),"md")&"Ng")

    Ôi hình như chưa chính xác bạn à. Kết quả khi nhập công thức là 13N/0T/21Ng ==> nhưng tới ngày hôm này thì phải là 13N/0T/10Ng chứ nhỉ
     
    Bạn Test thử xem đúng ý chưa
    đầu tiên format 2 cột để nó thành dạng text bằng cách chọn 2 cột => Format cells =>text. khi đó người dùng nhập sẽ toàn là text
    sau đó dùng công thức sửa lại để lấy được thâm niên.
    Hy vọng đúng ý bạn
    Thân
    Ôi thế còn định dạng từ ngày tháng năm ==> thành số thì bây giờ phải sử lý như thế nào đây ? Như ở cột E ngày tháng chuyển thành: 38720; 40460;...
     
    Ặc, dữ liệu bạn đưa sao mình để vậy, mình chỉ đổi ngày bằng hàm date thôi, đảm bảo 99.99% là không sai.
    những ngày bị đổi ra số vì mình format text nên nó chuyển sang số thôi. Bạn tiến hành bước này trước khi format text
    dùng hàm Text(ô muốn đổi,"dd/mm/yyyy") để đổi dạng text
    copy + paste special, chọn value để biến nó thành giá trị trong ô
    rồi áp dụng công thức
    sau này người dùng chỉ nhập vào text, công thức đổi ra ngày
    bạn hãy kiểm tra lại nhé, mình thấy có sai đâu nhỉ ;))
     
    Không phải mình muốn tìm ngày tháng năm sinh. mà minh muốn mặc định ngày tháng năm sinh với tất cả các máy. Bạn xem giúp mình với nhé. Cảm ơn nhiều.

    File của bạn chỉ yêu cầu
    người nhập Lưu ý: Bắt buộc phải nhập theo định dạng: ngày/tháng/năm
    VD: 30/6/2012 (dùng dấu "/")
    Nhưng muốn nhập ngày/tháng/năm để máy hiểu và hiển thị dd/mm/yyyy thì bạn cần chỉnh hoặc hướng dẫn họ chỉnh trong Control Panel \ Regional and Language Options
    + Chọn thẻ Regional Options -> chọn Customize
    + Trong bảng Customize Regional Options chọn thẻ Date
    + Trong ô Short date format: dd/mm/yyyy

    Nếu hướng dẫn khó khăn và bạn không muốn mất thời gian chỉnh giúp họ để họ có thể dùng sản phẩm (file) của bạn thì tặng bạn file này và double click -> Yes -> OK -> Xem kết quả
     

    File đính kèm

    Có lẽ anh làm việc với những người chịu đổi mới. Đôi khi ta làm việc với những người "ù lì", chỉ họ không nghe, máy thì đóng băng, không chỉnh 1 lần được. Nên mới khổ tâm thế anh à.
     
    Có lẽ anh làm việc với những người chịu đổi mới. Đôi khi ta làm việc với những người "ù lì", chỉ họ không nghe, máy thì đóng băng, không chỉnh 1 lần được. Nên mới khổ tâm thế anh à.

    Dù ù lì thì đằng nào cũng bắt buộc phải NHẬP ĐÚNG ĐỊNH DẠNG
    Thôi thì nhập theo chuẩn yyyy/mm/dd hoặc dd-MMM-yy ---> Bảo đảm với bạn nó luôn đúng trên bất kỳ máy tính nào dùng Windows trên thế giới này
     
    Hà hà, thế thì mấy bà cô lại chê bai làm gì mà bắt người ta nhập kỳ cục, loằng ngoằng, rồi thể nào cũng sai từa lưa. Đôi khi cũng ức chế lắm anh ạ. Nhưng làm riết rồi quen. mình cũng thành lỳ luôn.//**/
     
    Đơn giản thôi, bác kích chuột phải vào ô muốn thêm dấu ('), chọn Format cells.../Number/Custom bác gõ ('dd/mm/yyyy) hoặc bất kỳ kiểu nào bác muốn.
    Xong!
     
    Dám cá với bạn không bao giờ có chuyện đó, ngoại trừ:
    - Công thức của bạn sai
    - Ngày tháng bạn nhập không đúng chuẩn Date

    Còn lại thì ngày tháng cho dù có hiển thị thế nào thì nó vẫn không bao giờ ảnh hưởng đến độ chính xác của kết quả
    --------------------
    Nói thật là tôi rất lấy làm lạ tại sao vấn đề ngày tháng lại khiến các bạn dùng Excel lúng túng thế nhỉ?


    Em cũng đang bối rối về vụ này, Nếu anh thấy đơn giản thì chỉ dúp em, hiện tại em đang làm kế toán hàng tháng báo cáo thuế em kết xuất từ phần mềm kế toán ngày tháng có dạng dd/mm/yyyy, nhưng muốn đưa vào HTKK để khai báo thuế thì phải thêm dấu nháy (') trước ngày tháng, nếu không thêm dấu nháy (') thì ngày tháng đảo ngược. Mà hóa đơn thì cả máy trăm cái, em làm động tác thô rất là lâu và mệt, Các định dạng khác đã thử nhưng không có hiệu quả.
     
    [/B]

    Em cũng đang bối rối về vụ này, Nếu anh thấy đơn giản thì chỉ dúp em, hiện tại em đang làm kế toán hàng tháng báo cáo thuế em kết xuất từ phần mềm kế toán ngày tháng có dạng dd/mm/yyyy, nhưng muốn đưa vào HTKK để khai báo thuế thì phải thêm dấu nháy (') trước ngày tháng, nếu không thêm dấu nháy (') thì ngày tháng đảo ngược. Mà hóa đơn thì cả máy trăm cái, em làm động tác thô rất là lâu và mệt, Các định dạng khác đã thử nhưng không có hiệu quả.

    Thì đó là do HTKK nhận dạng sai hoặc không linh động

    Muốn thêm thì đơn giản

    Ví như A1 là dữ liệu ngày tháng
    Thì ô kết quả muốn thêm dấu ' thì sd ct
    =TEXT(A1,"'dd/mm/yyyy")
    là được

    Muốn trở thành dữ liệu TEXT thui, thì CT là
    =TEXT(A1,"dd/mm/yyyy")
     
    Private Sub Worksheet_Change(ByVal Target As Range)
    If IsDate(Target) Then
    Target = "'" & Format(Target, "dd/mm/yyyy")
    End If
    End Sub
     
    Em cũng đang bối rối về vụ này, Nếu anh thấy đơn giản thì chỉ dúp em;
    Hiện tại em đang làm kế toán hàng tháng báo cáo thuế em kết xuất từ phần mềm kế toán ngày tháng có dạng dd/mm/yyyy, nhưng muốn đưa vào HTKK để khai báo thuế thì phải thêm dấu nháy (') trước ngày tháng, nếu không thêm dấu nháy (') thì ngày tháng đảo ngược. Mà hóa đơn thì cả máy trăm cái, em làm động tác thô rất là lâu và mệt, Các định dạng khác đã thử nhưng không có hiệu quả.

    Kiểu làm của bạn là biến lợn què thành lợn mù!
     
    Có cách nào để excel tự động thêm một dấu ( ' ) vào phía trước ngày tháng năm không:
    VD: 15/4/2012 ==> '15/4/2012; 4/1/2012 ==> '4/1/2012
    Cảm ơn các bạn nhiều
    Có cách nào để excel tự động thêm một dấu ( ' ) vào phía trước ngày tháng năm không:
    VD: 15/4/2012 ==> '15/4/2012; 4/1/2012 ==> '4/1/2012
    Cảm ơn các bạn nhiều
    Bạn ơi, mình cũng đang cần làm như bài viết của bạn. vậy chắc giờ bạn đã biết cách rồi phải không ạ / xin chỉ giúp mình với.
     
    Đã có ai giúp được bạn blad01 chưa, mình cũng cần giúp như vậy, thêm 1 dấu nháy trước ngày tháng, ví dụ 24/12/2019 thành '24/12/2019
    Nếu làm thủ công bằng cách gõ vào từng ô thì cả tháng không xong. Thanks all
    Bài đã được tự động gộp:

    Nếu làm 1 cách khác thì chèn 1 cột vào rồi dùng hàm =" ' "&ô ngày tháng, rồi sau đó copy, paste value vào lại cột cũ
     
    Có cách nào để excel tự động thêm một dấu ( ' ) vào phía trước ngày tháng năm không:
    VD: 15/4/2012 ==> '15/4/2012; 4/1/2012 ==> '4/1/2012
    Cảm ơn các bạn nhiều
    Thêm 1 cột bên cạnh cột ngày tháng bạn muốn thêm dấu ' , dòng đầu tiên bạn gõ tay (VD: '12/03/2026), sau đó bấm Ctrl+ E xuống là tự động các dòng phía dưới thêm dấu ' nhé
     

    Bài viết mới nhất

    Back
    Top Bottom