PDA

View Full Version : Xin cho hàm chuyển dữ liệu từ date sang text



Thuyan.acc
14-03-08, 12:53 PM
Kính nhờ Quý Thầy/Cô chỉ giúp dùm em hàm chuyển dữ liệu từ có kiểu dữ liệu là date sang dạng text.

Em đang lập báo cáo thuế mà bị bí chỗ này do chương trình khai thuế mới nhận dữ liệu vùng đó là date trong khi file excel của em vùng đó em định dạng là date

Kính

anhtuan1066
14-03-08, 01:00 PM
Kính nhờ Quý Thầy/Cô chỉ giúp dùm em hàm chuyển dữ liệu từ có kiểu dữ liệu là date sang dạng text.

Em đang lập báo cáo thuế mà bị bí chỗ này do chương trình khai thuế mới nhận dữ liệu vùng đó là date trong khi file excel của em vùng đó em định dạng là date

Kính
Tôi chưa hiểu lắm về câu hỏi này, nhưng nếu muốn chuyển từ Date sang Text thì ta có hàm TEXT...
Cú pháp:
=Text(Cell,"dd/mm/yyyy")
Ví dụ A1 là dử liệu dạng Date, =21/12/2008.. giờ sẽ chuyển nó sang dạng Text bằng hàm:
=Text(A1,"dd/mm/yyyy")
Có điều tôi muốn hỏi: Tại sao phải chuyển? Và khi chuyển xong thì ta dùng dử liệu này vào việc gì? Tại sao ko đễ nguyên định dạng Date?
ANH TUẤN

Thuyan.acc
14-03-08, 01:15 PM
Em kính cám ơn Thầy Anh Tuấn cùng Thầy ptm0412 đã cho em công thức
=Text(Cell,"dd/mm/yyyy")
Sở dĩ em phải hỏi vấn đề này vì hiện Cục thuế đang triển khải chương trình hỗ trợ khai thuế mới. Trong dữ liệu của em trước đây thiết kế từ excel vùng đó là vùng date nhưng import vào chương trình nó không nhận dạng được date.Em có điện thoại hỏi thì cán bộ nói phải chuyển về dạng text mới được.



Kính nhờ Thầy chỉ giúp dùm em hàm chuyển dữ liệu từ có kiểu dữ liệu là date sang dạng text.

Em đang lập báo cáo thuế mà bị bí chỗ này do chương trình khai thuế mới nhận dữ liệu vùng đó là date trong khi file excel của em vùng là em định dạng là date

Thùy An

Em làm theo cách này:

Dùng cột phụ, sau đó xoá đi:
- từ date thành text: =TEXT(A2,"dd/mm/yy")
Copy cột phụ, paste value vào cột chính, rồi xoá cột phụ.

Phần mềm khai thuế mới kỳ vậy nhỉ? phần mềm cũ đâu có bị?

Còn đây là đổi ngược lại:
- từ text ( thí dụ A2='25/02/2008)thành date: =DATE(RIGHT(A2;2);MID(A2;4;2);LEFT(A2;2))

- từ text ( thí dụ A2='25/02/2008)thành date: =DATE(RIGHT(A2;4);MID(A2;4;2);LEFT(A2;2))

Em thấy Quý Thầy lên mạng em mừng quá như vi cú tinh vậy.
Em kính cám ơn Quý Thầy. Em đã thực hiện thành công

Thùy An

hoangdanh282vn
17-03-08, 06:58 PM
Mình Đặt ra câu hỏi ngược lại ở đây.

Chuyển một trị là text sang dạng ngày tháng.
Có một số phần mềm khi xuất ra excel bị lỗi ở định dạng ngày tháng như từ ngày 1 đến 12 trong tháng thì định dạng là ngày nhưng từ ngày 13 trở đi là dạng text, nên gặp khó khăn trong xử lý.
Dạng text có nhiều kiểu như : 3/01/2007, 13/1/07, 13/ 1/2007, 1 3/1/2 007
các bạn xem thêm ơ đây.
http://www.giaiphapexcel.com/forum/showthread.php?p=59822#post59822

phamduylong
18-03-08, 09:39 AM
Có điều tôi muốn hỏi: Tại sao phải chuyển? Và khi chuyển xong thì ta dùng dử liệu này vào việc gì? Tại sao ko đễ nguyên định dạng Date?
Để dạng date để tính toán thì được, nhưng khi ghép chung với chuỗi thì phải chuyển dạng text, nếu không muốn bị xếp đuổi.
Ví dụ C1=18/03/2008, C2 nhập công thức:
="Hôm nay, ngày " & C1 > Hôm nay, ngày 39525
="Hôm nay, ngày " & TEXT(C1;"dd/mm/yyyy") > Hôm nay, ngày 18/03/2008

anhtuan1066
18-03-08, 09:48 AM
Để dạng date để tính toán thì được, nhưng khi ghép chung với chuỗi thì phải chuyển dạng text, nếu không muốn bị xếp đuổi.
Ví dụ C1=18/03/2008, C2 nhập công thức:
="Hôm nay, ngày " & C1 > Hôm nay, ngày 39525
="Hôm nay, ngày " & TEXT(C1;"dd/mm/yyyy") > Hôm nay, ngày 18/03/2008
Tôi thì sẽ ko làm vậy thầy ơi... tại C2 tôi đặt công thức =C1.. tiếp theo định dang Custom cho C2 này... khỏe re
ANH TUẤN

Thuyan.acc
20-03-08, 08:12 PM
Kính nhờ Quý Thầy xem hộ lại dùm em hàm đổi từ date qua text và ngược lại (từ text sang date)

Hôm qua em có viết bài này khá dài và đã uplod file lên để Quý Thầy/Cô hướng dẫn cho em nhưng không rõ sao giờ xem lại bài mất tiêu.

Cột A : Dữ liệu gốc là date
Cột B : Dữ liệu em cần chuyển từ A sang B ở dạng text theo Quý Thầy hướng dẫn, em đã thực hiện được tốt.


=TEXT(A2,"dd/mm/yy")

Cột C : Copy paste value từ B sang C. Sau đó format lại dạng text.
Cột D : Em muốn chuyển dữ liệu từ cột C sang D (Từ text sang date)


=DATE(RIGHT(C2,2),MID(C2,4,2),LEFT(C2,2))


Cột E : Copy paste value từ D sang E. Sau đó format lại dạng date. (dd/mm/yyyy)

Cột E em nhìn thấy kết quả theo code của cột D chuyển qua bị sai về năm
Ví dụ : 30/11/1907 - > Đúng ra là 30/11/2007. Em không rõ phần này em bị sai từ nguyên nhân nào ?
Kính

----
P/S : Hôm qua em xem rõ là phần đính kèm có icon excel của file đính kèm rất đẹp mà - Do giờ GPE mình đã nâng cấp lên nhìn hình ảnh rất đẹp mất nhưng giờ xem lại bài bài bị mất tiêu - Buồn 5 giây.

ptm0412
20-03-08, 08:27 PM
Anh đánh công thức bị sai rồi em ơi, xin lỗi em nhé.
Công thức đúng là:
- từ text ( thí dụ A2='25/02/2008)thành date: =DATE(RIGHT(A2;4);MID(A2;4;2);LEFT(A2;2))

- từ text ( thí dụ A2='25/02/08)thành date: =DATE(RIGHT(A2;2)+2000;MID(A2;4;2);LEFT(A2;2))

Nghĩa là nếu text là năm 2 số phải cộng 08 thêm 2000

anhtuan1066
20-03-08, 08:42 PM
Anh đánh công thức bị sai rồi em ơi, xin lỗi em nhé.
Công thức đúng là:
- từ text ( thí dụ A2='25/02/2008)thành date: =DATE(RIGHT(A2;4);MID(A2;4;2);LEFT(A2;2))

- từ text ( thí dụ A2='25/02/08)thành date: =DATE(RIGHT(A2;2)+2000;MID(A2;4;2);LEFT(A2;2))

Nghĩa là nếu text là năm 2 số phải cộng 08 thêm 2000
Cho công thức tổng quát đối với chỉ số năm là 2 ký tự hoặc 4 ký tự luôn đại ca ơi (đở mất công 2 công thức)
Còn nữa.. nên thêm phần kiểm tra ISTEXT hoặc ISNUMBER để chắc chắn dử liệu ấy dạng gì, tránh sa bẩy... Vì thật sự cũng có 1 số bạn khi nhìn dử liệu ngày tháng năm vẩn chưa có khả năng nhận dạng dc nó đúng là TEXT hay DATE...
ANH TUẤN

Thuyan.acc
20-03-08, 09:15 PM
Cho công thức tổng quát đối với chỉ số năm là 2 ký tự hoặc 4 ký tự luôn đại ca ơi (đở mất công 2 công thức)
Còn nữa.. nên thêm phần kiểm tra ISTEXT hoặc ISNUMBER để chắc chắn dử liệu ấy dạng gì, tránh sa bẩy... Vì thật sự cũng có 1 số bạn khi nhìn dử liệu ngày tháng năm vẩn chưa có khả năng nhận dạng dc nó đúng là TEXT hay DATE...
ANH TUẤN

Em đã làm lại theo sự hướng dẫn của Quý Thầy và đã thành công.

Thầy Tuấn có thể nói thêm ý này


công thức tổng quát đối với chỉ số năm là 2 ký tự hoặc 4 ký tự


Còn muốn kiểm tra vùng đó là dạng text hay date thì dùng công thức như Thầy nói, xin Thầy vui lòng triển khai luôn


ISTEXT hoặc ISNUMBER để chắc chắn dử liệu ấy dạng gì


Xin bí quyết nhìn dữ liệu để phân biệt dạng text hay date,
Em cũng có lần đọc bài của Thầy nói về vấn đề này nhưng chưa nắm hết


1 số bạn khi nhìn dử liệu ngày tháng năm vẩn chưa có khả năng nhận dạng dc nó đúng là TEXT hay DATE...

Thường dạng text dữ liệu nằm góc trái - còn date nằm góc phải - Không rõ nhận xét của em vậy có đúng chưa ?
Nhưng nếu người dùng họ cố tình làm cho đẹp mắt dữ liệu của bảng tính nên đã format toàn bộ là center thì sao ?

Kính

Thùy An

anhtuan1066
20-03-08, 09:24 PM
Ngoài những cách bạn vừa nêu thì cũng có thể vào Format Cell đễ xem... Còn chắc chắn nhất vẫn là dùng hàm ISTEXT hoặc ISNUMBER để kiểm tra
Bạn có thể tham khảo cách tôi làm tại đây nhé:
http://www.giaiphapexcel.com/forum/showthread.php?t=8730
Có thể chấp luôn cả việc nhập liệu bừa bải... Đúng ra tôi còn đang muốn tạo hàm cho phép nhận dạng dc bất kỳ loại ký tự phân cách nào (chẳng hạn là dấu / hay dấu - hay bất cứ dấu gì).. nhưng chưa có thời gian...
ANH TUẤN

le tin
23-12-08, 11:19 AM
Nhờ các bạn giúp tôi đoạn code text sang thời gian
VD : 23/9/08 10:20
Cảm ơn nhiều

ndu96081631
23-12-08, 11:54 AM
Nhờ các bạn giúp tôi đoạn code text sang thời gian
VD : 23/9/08 10:20
Cảm ơn nhiều
Ý bạn có phải là "lấy ra" phần TIME có trong chuổi trên?
- Nếu nó được định dạng DATE thì quá dể, dùng hàm MOD(A1,1) ---> Ra kết quả xong, định dạng Custom hh:mm là xong
- Nếu nó ở dạng chuỏi thì dùng.. các hàm xử lý chuổi thôi (dựa vào khoảng trắng phân cách chẳng hạn)