Giãi pháp nào cho dấu phân cách công thức "," và ";"

Liên hệ QC

anhtuan1066

Thành viên gạo cội
Tham gia
10/3/07
Bài viết
5,802
Được thích
6,912
Khi tôi tạo 1 công thức trên Excel, tôi dùng dấu phân cách công thức là dấu "," vì trên máy tính của tôi nó quy định như thế... Còn bạn, rất có thể trên máy tính lại quy định dấu phân cách là ";"
Vậy thi khi tôi gữi file, bạn mở lên sẽ bị báo lỗi và ngược lại bạn gữi cho tôi cũng sẽ gặp tình trạng này!
Ko biết có ai có tuyệt chiêu gì cho vấn đề này, đễ tôi có thể mở tất cả các file mà ko bị báo lỗi dù là bạn dùng dấu phân cách nào
Lấy 1 ví dụ như hàm SUBTOTAL chẳng hạn, khi tôi gữi file có dùng hàm này tôi sẽ tạo hàm như sau:
Mã:
IF(INFO("Release")*1<11,SUBTOTAL(3,...),SUBTOTAL(103,...))
Cách này bảo đảm ko bị lỗi dù bạn dùng Version Office nào...
Ko biết đối với dấu phân cách "," và ";" này thì có cách nào tương tự thế ko? Hoặc 1 add-ins gì đó có thể tự động Convert các dấu phân cách cho phù hợp với cấu hình Regional Language Options trên mỗi máy tính
Mong các bạn đóng góp ý kiến!
ANH TUẤN
 
Oh, đúng là chỉ có lỗi khi nhập công thức, còn dấu phân cách tự chuyển đổi khi sang máy tính có Regional Setting khác.
 
Lần chỉnh sửa cuối:
Việc dùng dâú " , " hay ";" chỉ báo lôĩ tại thời điểm đặt công thức. Nếu công thức dùng dấu " , " mà chạy với máy này thì cũng chạy được trên máy khác có dùng dấu ;(ListSeparator = ; ) mà anh.
 
Em cũng nghĩ như bác TuanVNUNI, bác ANHTUAN à.

Dù trong file bác có dùng dấu phân cách gì đi nữa, thì khi mở trong một máy khác, Excel vẫn tự động hiểu được.

Cái này không phụ thuộc vào version của Office đâu, mà chỉ bị ảnh hưởng bởi cái List Seperator trong Control Panel và trong Option của Excel.

File chỉ báo lỗi trong trường hợp, chúng ta copy công thức ngay trong những bài trên diễn đàn này và dán vào trong bảng tính mà thôi. Vì khi copy công thức trên diễn đàn, paste vào bảng tính, cái mình paste vào đó sẽ giữ nguyên định dạng (dấu "," hoặc dấu ";"), và xui xẻo thay, cái mình đang sử dụng lại khác!

Bác có thể tự thử mà.

Giả sử máy đang sử dụng List Separator là dấu "," nghe, bác tạo một file, (dùng dấu phân cách là "," trong công thức) rồi lưu lại, thoát luôn Excel.

Sau đó, bác vào Control panel sửa cái List Separator thành ";" rồi bác lại mở file ra, em bảo đảm trong công thức của bác, tất cả dấu "," lúc trước đã được tự động đổi thành dấu ";" mà không cần phải dùng tuyệt chiêu gì cả!
 
Vấn đề này cũng thường gặp khi down file trên diễn đàn.
Tôi thường làm như sau:
Trong Start\Settings\Control Panel\Regional and Language Options\List Saparator vẫn là dấu ",".(Và không thay đổi gì ở đây cả)
Trong Tool Options của excel thì dấu của Decimal separators là "," và Thousands separators là "." thì dấu của List Saparator là dấu ";".
Còn ngược lại khi ta đảo dấu của Decimal separators và Thousands separators cho nhau thì dấu của List Saparator là dấu ",".
http://www.giaiphapexcel.com/forum/showthread.php?t=4773&page=2
 
SoiBien đã viết:
Oh, đúng là chỉ có lỗi khi nhập công thức, còn dấu phân cách tự chuyển đổi khi sang máy tính có Regional Setting khác.
Làm gì có vụ đó ta? Tôi tải file các bạn về bị lỗi dấu ";".. phải sửa bằng tay chứ nó có tự động hồi nào đâu!

Ah... Ah... Sorry... Tôi nhầm... Hic... hic...
 
Chỉnh sửa lần cuối bởi điều hành viên:
List separator là "," hoặc ";" ? Có thể là "#". "$", ... được không?

anhtuan1066 đã viết:
Làm gì có vụ đó ta? Tôi tải file các bạn về bị lỗi dấu ";".. phải sửa bằng tay chứ nó có tự động hồi nào đâu!

Nếu công thức đã chạy tốt, dù là List separator là "," hay ";" thì Excel tự động chỉnh lại theo khai báo trong Regional and Language Options. anhtuan có thể thử bằng cách viết công thức xong, khai báo lại List separator trong Regional and Language Options và xem lại công thức đã viết.

Nhưng tại sao List separator lại là "," hoặc ";" ? Có thể là "#". "$", ... được không?
Bạn thường quen với công thức =IF(A2=B2,"Dung","Sai") hoặc IF(A2=B2;"Dung";"Sai"). Nhưng =IF(A2=B2#"Dung"#"Sai") cũng là công thức với List separator là "#".

Theo ngầm định (dạng Mỹ) thì khai báo trong Number là:
Decimal symbol (dấu thập phân): "."
Digit grouping symbol (dấu nhóm ngàn): ","
List separator: ","
Theo khai báo này, số một ngàn hai trăm ba mưoi bốn lẻ năm phải nhập là 1234,5 hoặc 1,234.5
Chú ý là Digit grouping symbol và List separator giống nhau nên trong công thức có nhập số thì bạn bạn không nên nhập dấu nhóm ngàn vì Excel có thể hiểu sai, còn Decimal symbol khác với List separator nên được quyền nhập. (Ví dụ nhập =A2*1234.5 chứ không nên nhập =A2*1,2345.5)

Ta khai báo lại số theo dạng Việt Nam trong Number là:
Decimal symbol : ","
Digit grouping symbol : "."
Có 2 trường hợp đối với List separator:
1. Nếu bạn không khai báo List separator mà OK thì Excel sẽ tự chọn List separator là ";" để không trùng với Decimal symbol.
2. Bạn khai báo List separator là ";" hoặc một ký tự khác với Decimal symbol thì Excel vẫn chấp nhận.

Tuy nhiên, vì thói quen, chúng ta chỉ nên khai báo List separatorcác là "," hoặc ";"
 
Web KT

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

Back
Top Bottom