Dùng ";" hay "," để ngăn cách các đối số trong hàm?

  • Thread starter Tuanktcdcn
  • Ngày gửi
T

Tuanktcdcn

Lão già ham vui
18/6/04
549
52
28
47
Hà Nội
www.bluesofts.net
Có hai cách thể hiện công thức như thế này:
C1 dùng dấu ";"
=Vlookup("HH001";DMKH;2;False)
C2 dùng dấu ","
=Vlookup("HH001",DMKH,2,False)

Thực ra việc dùng ";" hay "," là theo quy định của WINDOWS (List Separator). Đọc các bài viết mình thấy có nhiều người dùng dấu ";" (phần lớn ở khu vực phía Nam) còn lại là dùng dấu "," (khu vực phía Bắc).

Mình muốn hỏi việc sử dụng như trên là có chủ định? Vì sao?
 
Khóa học Quản trị dòng tiền
HongViet

HongViet

Cao cấp
10/11/05
286
10
18
Đà nẵng
Hệ đo nào?

:inlove: :angel: :pepsi:
 
Sửa lần cuối:
T

Tuanktcdcn

Lão già ham vui
18/6/04
549
52
28
47
Hà Nội
www.bluesofts.net
HongViet nói:
Theo ngu í thì khi dùng ',' trong Hàm thì nhập số thập phân lại phải dùng 3.5 & con số >1000 phải FORMAT là 3,500 (chứ không thể 3.500 được), phải vậy không?!
/(/ếu zậy lỡ Sếp (Xếp) không ưng & nổi đoá thì tiêu việc làm (ghế) thì buốn lắm ru!
Đây cũng do 100 đô hộ của mẫu quốc mà ra chắc?!:inlove: :angel: :pepsi:

Cảm ơn bạn! Đọc mình cũng thấy có lý.
Có bác nào có ý kiến khác không?
 
adam_tran

adam_tran

Guitar inspiration
17/5/05
1,374
36
48
46
Goooogle
Theo tiêu chuẩn quốc tế về định dạng số thì dấu thập phân là dấu chấm (dot mark) và dấu phân cách nhóm nghìn, triệu, tỷ (Digit Grouping symbol) là dấu phẩy. Nhưng ở Việt Nam ta lại dùng ngược lại (còn nhiều cái khác không giống chuẩn quốc tế nữa thí dụ định dạng short date của người ta là mm/dd/yy hoặc m/d/yy, nhưng chúng ta lại là dd/mm/yy - điều này gây ra không ít phiền phức mà lát nữa tôi sẽ đề cập). Do đó, dấu phân cách của ta (List seperator) là dấu ; vì trước đây trong một số ngôn ngữ lập trình và một số trình ứng dụng, 2 dấu List seperator và Digit grouping symbol trùng nhau nó sẽ báo lỗi. Dần dà, chúng ta (nhất là phía Nam, ít nhiều tiếp cận với máy tính trước) quen dùng như thế (cũng như quen dùng kiểu gõ VNI, kiểu gõ tiếng Việt cũ không tiện bằng TELEX).
Tôi nhớ có một vài trường hợp ta thua kiện hợp đồng với nước ngoài cũng vì dùng cái dấu chấm phẩy khác chuẩn quốc tế. và nghe đâu trong chuẩn mực kế toán cũng quy định rõ là số liệu của VN cũng dùng dấu thập phân là dấu phẩy, dấu ngăn cách là dấu chấm, và kéo theo, dấu list seperator là dấu chấm phẩy ;.
Một số người chưa rành vi tính khi nhập dữ liệu ngày tháng, họ cứ thế nhập ngày theo dạng d/m/yy trong khi máy hiểu là m/d/yy, thành ra lớp thì ngày bị nhập sai (ngày thành tháng), lớp thì ngày biến thành kiểu chữ. Do đó khi xử lý số liệu dạng này, tôi thường phải mất công kiểm tra lại chứng từ... Theo tôi chuẩn m/d/yy tiện dùng hơn vì trong CSDL, những ký tự chung nhất thường đi trước hoặc nằm bên trái. Tuy nhiên, ngay cả tôi cũng có thói quen dùng theo kiểu VN, định dạng ngày cũng là dd/mm/yy.
 
B

Bình_OverAC

Over Abnormal / Crazy
14/5/04
846
10
18
42
Nha Trang
Thế thì phải làm sao bây giờ nhỉ?
Còn vấn đề dd/mm/yy thì không dám bàn tới. Nhiều lúc bị lỗi mấy cái vụ này tức lắm. Chuyển đổi thì cũng được nhưng mà tốn thời gian quá.
 
adam_tran

adam_tran

Guitar inspiration
17/5/05
1,374
36
48
46
Goooogle
Thế thì phải làm sao bây giờ nhỉ?
Còn vấn đề dd/mm/yy thì không dám bàn tới. Nhiều lúc bị lỗi mấy cái vụ này tức lắm. Chuyển đổi thì cũng được nhưng mà tốn thời gian quá

Cũng phải dùng mẹo một chút. Thí dụ máy có định dạng regional setting là m/d/yy, như thế khi nhập vào:
1. Nhập 6/8/05 nó sẽ hiểu là ngày 8 tháng 6
2. Nhập vào 16/8/05 nó hiểu là text.
- Chuyển định dạng Regional sang dd/mm/yy. Sau đó cộng cả 1 và 2 với 0, ta có 1 trở thành 08/06/05 (sai) còn 2 trở thành 16/08/05 (đúng)
- Nhập vào công thức =IF(DAY(A1)>12;A1;DATE(2005;DAY(A1);MONTH(A1))) với A1 là ô chứa ngày.

Có nhiều khi dữ liệu rất nhiều, cả vài nghìn record nên việc kiểm tra là rất vất vả. Do đó sử dụng 1 chút mẹo vặt trên sẽ tiết kiệm 1 chút thời gian. Sau đó để kiểm tra lại, ở cột kề bên, thí dụ cột C nhập vào =B2-B1. Nếu kết quả chênh lệch quá lớn (thường các nghiệp vụ phát sinh các ngày liền kề hoặc chỉ vài ngày) ta sẽ kiểm tra những chênh lệch này: Lấy chứng từ ra đối chiếu.
 
Sửa lần cuối:
T

Tuanktcdcn

Lão già ham vui
18/6/04
549
52
28
47
Hà Nội
www.bluesofts.net
Vấn đề về gõ dd/mm/yy hay mm/dd/yy thực sự là quan trọng khi nhập dữ liệuvề ngày tháng (date). Mình hay khuyên mọi người là trước khi ngồi làm máy tính thì phải kiểm tra:1-Control Panel định dạng Short Date Format như thế nào, quy định thế nào thì phải gõ như thế, nên thông nhất ;2- Hôm nay là ngày bao nhiêu, so sánh date của máy tính với lịch dương.
HĐH Windows khi cài đặt nó default Short Date Format="mm/dd/yy" theo chuẩn Anh Mỹ, nên người nhập liệu ở các quốc gia như VN, Pháp, Au dùng mà ít kinh nghiệm thì dẽ mắc phải lỗi này.

Lỗi về gõ giá trị kiểu date như các bạn đã nói, rất nguy hiểm. Nếu các giá trị date ta gõ vào mà ngày (dd)<=12 thì rất khó phát hiện lỗi. Còn nếu cẩn thận kiểm tra thì bạn tạo một cột ngoài cùng dùng CT =Month(Ngay) để kiểm tra tháng. Nếu ai đó gõ 27/7/06 trong khi Short Date Format ="mm/dd/yy" thì công thức cho ra lỗi Value! trong cả một CSDL nếu chỉ cần có một lỗi thì công thức mảng sẽ không cho ra giá trị.
 
A

AFC

Guest
18/3/06
135
1
0
HCM
Tuanktcdcn nói:
Có hai cách thể hiện công thức như thế này:
C1 dùng dấu ";"
=Vlookup("HH001";DMKH;2;False)
C2 dùng dấu ","
=Vlookup("HH001",DMKH,2,False)

Thực ra việc dùng ";" hay "," là theo quy định của WINDOWS (List Separator). Đọc các bài viết mình thấy có nhiều người dùng dấu ";" (phần lớn ở khu vực phía Nam) còn lại là dùng dấu "," (khu vực phía Bắc).

Mình muốn hỏi việc sử dụng như trên là có chủ định? Vì sao?
Chủ định dùng "," hay ";" không có gì đâu.
Nếu bạn dùng hệ thống ";" khi bạn ban hành công thức round(3,56;0) thì kết quả là 4
Nếu bạn dùng hệ thống "," khi bạn ban hành công thức round(3,56,0) thì kết quả như thế nào thì bạn hiểu đấy. Công thức này máy mà hiểu được chết liền.
Vậy bạn thấy nên dùng "," hay ";"
 
T

Tuanktcdcn

Lão già ham vui
18/6/04
549
52
28
47
Hà Nội
www.bluesofts.net
AFC nói:
Chủ định dùng "," hay ";" không có gì đâu.
Nếu bạn dùng hệ thống ";" khi bạn ban hành công thức round(3,56;0) thì kết quả là 4
Nếu bạn dùng hệ thống "," khi bạn ban hành công thức round(3,56,0) thì kết quả như thế nào thì bạn hiểu đấy. Công thức này máy mà hiểu được chết liền.
Vậy bạn thấy nên dùng "," hay ";"

Cảm ơn bạn!
Nếu quy ước dùng "," để ngăn cách đối số thì dấu thập phân phải dùng dấu "." chứ. VD =Round(3.56,0)
 
A

AFC

Guest
18/3/06
135
1
0
HCM
Tôi nghĩ bạn nhầm giữa số thập phân và số hàng ngàn.
Ở đây tôi đang nói đến "List seperator"
Bạn mở phần Setting Regional trong Control Panel thấy có 3 box để lựa chọn đấy.
 
HongViet

HongViet

Cao cấp
10/11/05
286
10
18
Đà nẵng
Vậy nước ta xài hệ đo lường nào, Mét hay In?!

Theo thiển í, hệ đo lường mà trong đó chiều dài được đo = mét (chứ không fải = IN) được sự chấp thuận của cả TG; Trong đó có cả việc sử dụng dấu ngăn cách thập phân & ngăn cách hàng ngàn, triệu v.v. . . đi theo).
Một vấn đề cần nhớ rằng: Từ Phổ thông & kể cả tại đại học lúc nào ta cũng được truyền đạt sử dụng dấu ',' để ngăn cách phần thập phân & dấu '.' để làm việc phân cách hàng ngàn, triệu . . .: Điều này sao quên được?!
Nhưng thông dụng của bọn mẽo là in & từ nửa sau thế kỉ trước đến nay bọn này 'Làm mưa làm gió' trên tin học nên ta phải theo thôi! (Nếu bọn Fáp mà 'Làm mưa làm gió' thì giờ ta chẵng biết đến IN nhiều như vậy đâu!:drummer:
 
Sửa lần cuối:
T

Tuanktcdcn

Lão già ham vui
18/6/04
549
52
28
47
Hà Nội
www.bluesofts.net
Cảm ơn các bạn đã quan tâm và trả lời, mình thấy hiện nay các báo cáo của các Cty không thống nhất ở điểm này nhưng BC vẫn được chấp nhận.Xin hỏi các bạn tiếp là không biết có văn bản nào quy định về việc này không nhỉ?
 
Đào Việt Cường

Đào Việt Cường

Moderator
22/11/05
400
4
18
Khánh Hòa
Dear TuanKTCDCN
-----------------
Bác ơi, điều này được quy định cụ thể trong điều 12 - Luật kế toán (số 03/2003/QH1 ngày 17/6/2003).
Luật kế toán nói:
2. Chữ số sử dụng trong kế toán là chữ số ả-Rập: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9; sau chữ số hàng nghìn, triệu, tỷ, nghìn tỷ, triệu tỷ, tỷ tỷ phải đặt dấu chấm (.); khi còn ghi chữ số sau chữ số hàng đơn vị phải đặt dấu phẩy (,) sau chữ số hàng đơn vị.
Em thì chưa biết nếu vi phạm điều luật này thì em bị phạt bao nhiêu tiền ạ?
 
T

Tuanktcdcn

Lão già ham vui
18/6/04
549
52
28
47
Hà Nội
www.bluesofts.net
Đào Việt Cường nói:
Dear TuanKTCDCN
-----------------
Bác ơi, điều này được quy định cụ thể trong điều 12 - Luật kế toán (số 03/2003/QH1 ngày 17/6/2003).

Em thì chưa biết nếu vi phạm điều luật này thì em bị phạt bao nhiêu tiền ạ?

Cảm ơn Cường nha!
 
T

thanhtam348

Guest
4/10/04
23
0
0
61
VN
...Tôi thì chưa quen với cách dùng dấu ";" trong Excel để ngăn cách các đối số, nhưng không hiểu sao máy tôi lại tự động chuyển qua với dấu nầy, anh chị hay các bạn có biết nguyên nhân vì sao không? và cách nào để khắc phục nó ?
 
B

Bình_OverAC

Over Abnormal / Crazy
14/5/04
846
10
18
42
Nha Trang
Chắc chắn là nó không tự động chuyển bác ạh.
Có 2 nguyên nhân khiến nó chuyển:
- Có sự thay đổi trong regional setting --> chuyển từ United State --> sang vùng khác (như Vietnam chẳng hạn)
- Có sự thay đổi Options của excel (menu Tools--> Options--> International --> Number handling)

Bác xem lại 2 chổ này để chỉnh lại nhé.
 
T

thanhtam348

Guest
4/10/04
23
0
0
61
VN
Bình_OverAC nói:
Chắc chắn là nó không tự động chuyển bác ạh.
Có 2 nguyên nhân khiến nó chuyển:
- Có sự thay đổi trong regional setting --> chuyển từ United State --> sang vùng khác (như Vietnam chẳng hạn)
- Có sự thay đổi Options của excel (menu Tools--> Options--> International --> Number handling)

Bác xem lại 2 chổ này để chỉnh lại nhé.

Tôi kiểm tra lại theo hướng dẩn của bạn thì thấy điều bạn nói không bị thay đổi, tôi Format Excel cũng vẩn vậy.
Có khi nào do một PM nào nó làm thai đổi vậy không ?
 

Xem nhiều

Webketoan Zalo OA