Làm thế nào để định dạng số 0 thành - (dấu gạch ngang) mà vẫn tính toán được?

Liên hệ QC

nguyenvinh_excel

Thành viên mới
Tham gia
22/11/08
Bài viết
19
Được thích
9
Mình thấy những trang báo cáo kế toán những ô chứa giá trị 0, hoặc ô đó có công thức và trả về kết quả = 0.
Nhưng họ định dạng thế nào mà số 0 thành - (dấu gạch ngang) trông rất dễ nhìn, chú ý dấu gạch ngang đó vẫn mang giá trị số có thể tính toán được theo kiểu số.
Rất mong các bạn hướng dẫn.
Cảm ơn nhé!
 
Chọn vùng cần định dạng, nhấn nút dấu phẩy trên thanh công cụ, hoặc vào Menu Format - Style - chọn style Comma [0]
 
Lần chỉnh sửa cuối:
Nhưng nếu là 1 dãy dữ liệu cần định dạng thì sao bạn? Trong đó có những ô không phải là số 0, vậy khi nhấn dấu (,) cho cả cột thì ô chứa số không sẽ hiển thị dấu (-), còn những số khác sẽ không còn như định dạng ban đầu nữa mà hình như là những số khác sẽ thêm 2 số sau dấu phẩy thì phải.
Có cách nào định dạng vùng dữ liệu mà số 0 hiển thị dấu (-), còn những ô không phải số không sẽ hiển thị số bình thường như đã định dạng trước không?
Cảm ơn các bạn nhé!
 
- Cách 1: chọn các ô chứa số bị 2 số không: nhấn nút decrease decimal 2 lần. Nhưng mỗi khi nhán dấu phẩy là phải làm lại.
- Cách 2: chỉ làm 1 lần: vào control panel, Regional language setting, chọn customize, chọn No. of Digits after decimal là 0, nhớ chọn cả trong 2 tab Number và Currency.
 
Chọn vùng cần định dạng > menu Format > Cells > Number > Custom :
Nhập vào Type:
#.##0;-#.##0;-
Định dạng này có 3 phần:
#.##0 : định dạng số dương có dấu ngàn
-#.##0 : định dạng số âm có dấu ngàn, dấu âm phía trước
- : định dạng số không là dấu gạch
 
Chọn vùng cần định dạng > menu Format > Cells > Number > Custom :
Nhập vào Type:
#.##0;-#.##0;-
Định dạng này có 3 phần:
#.##0 : định dạng số dương có dấu ngàn
-#.##0 : định dạng số âm có dấu ngàn, dấu âm phía trước
- : định dạng số không là dấu gạch
Thầy Long ơi! Hình như vẩn chưa đạt yêu cầu của tác giả:
- Các cell có số 0 thì định dạng thành dấu -
- Các cell khác giữ nguyên định dạng
 
Nếu đọc lại bài 1, thì tác giả nói rằng: "bạn ấy thấy người ta làm..."
Và cái người ta làm đó, đã được anh Ptm0412 trả lời rất rõ ràng, xin nói lại:


Chọn nguyên cột chứa số, (1) nhấn nút Comma Style một lần, (2) nhấn tiếp nút Decrease Decimal 2 lần

000-121.gif

Và "người ta" chỉ làm có vậy mà thôi.
 
Xin được thêm với BNTT:
Các bạn hãy xem khi mình ghi Macro các thao tác của BNTT

Mã:
Sub Macro1()

    Range("A1:A6").Select
    Selection.Style = "Comma"
    Selection.NumberFormat = "_(* #,##0.0_);_(* (#,##0.0);_(* ""-""??_);_(@_)"
    Selection.NumberFormat = "_(* #,##0_);_(* (#,##0);_(* ""-""??_);_(@_)"
End Sub

Mục của việc định dạng như trên là
Selection.NumberFormat = "_(* #,##0_);_(* (#,##0);_(* ""-""??_);_(@_)"
Vậy chủ động hơn và hiểu bản chất của việc nhấn thanh công cụ như trên là:

Chọn vùng sau đó vào Format-->Cells-->customs Nhập vào ô Type:
_(* #,##0_);_(* (#,##0);_(* ""-""??_);_(@_)

Đây là bản chất cách định dạng này.
 
Để hiểu @, #, * ... thì xem thêm

[FONT=&quot]ĐỊNH DẠNG KIỂU CHO GIÁ TRỊ LÀ SỐ[/FONT]

Mã định dạng​
|
Giải thích​
|
General|Hiển thị số theo định dạng tổng quát|
#|Biểu thị cho 1 con số. Chỉ hiển thị số có nghĩa trong ô (không hiển thị số 0|
0 (số không)|Biểu thị cho 1 con số. Hiển thị số kể cả 0 (số không) và nếu giá trị trong ô là số thập phân thì chỉ hiển thị là số không có phần thập phân. VD: 12.4 thì hiển thị là 12, còn nếu 12.5 thì hiển thị là 13|
?|Biểu thị cho 1 con số. Thêm khoảng trống phía trước hoặc phía sau của con số. Dùng để canh thẳng theo đơn vị, chục, trăm … cho các ô liền kề trên và dưới. |
| |
. (dấu chấm)|Dấu chấm phân cách thập phân. VD: Nếu nhập 12.4 vào một ô có mã định dạng là #.00 thì ô đó sẽ hiển thị là 12.40|
%|Dấp phần trăm. VD: 12.4%|
, (dấu phẩy)|Dấu phân cách hàng ngàn. VD: 124,000|
|Nếu đặt phía sau của mã định dạng là số thì nó sẽ hiển thị theo đơn vị là ngàn (chú ý: giá trị của ô không thay đổi, nó chỉ thay đổi hiển thị) VD: Nếu nhập 15000000 vào một ô có mã định dạng là #,, thì ô đó sẽ hiển thị là 15. Như vậy, nếu muốn định dạng theo đơn vị là tỉ thì sẽ định dạng là #,,,|
E- E+ e- e+|Dạng số khoa học. VD: 1E+01 (10 mũ +1 hay bằng 10), 3E-02 (3 nhân với 10 mũ -2 hay bằng 0.03)|
$ - + / ( ) : khoảng trắng|Tất cả các ký tự này sẽ hiển thị trong ô niếu như nó xuất hiện trong mã định dạng. VD: Nếu nhập 12.4 vào một ô có kiểu định dạng là #.0$ thì ô đó sẽ được hiển thị là 12.4$|
\|Hiển thị ký tự tiếp theo trong định dạng. VD: Nếu nhập 12.4 vào một ô có kiểu định dạng là #.0\Đ thì ô đó sẽ được hiển thị là 12.4Đ|
*|Hiển thị lập đi lập lại ký tự kế tiếp cho đến khi nội dụng của ô tràn đầy chiều rộng của ô đó. VD: Nếu nhập 12.4 vào một ô có định dạng là #.0*’ thì ô đó sẽ hiển thị 12.4```````|
_ (dấu gạch dưới)|Cho một khoảng trắng có chiều rộng bằng với chiều rộng của ký tự kế tiếp. VD: Nếu nhập 12.4 vào một ô có kiểu định dạng là (__#.0) thì ô đó sẽ hiển thị là ( 12.4)|
“văn bản”|Hiển thị văn bản bên trong dấu ngoặc kép.|
|VD: Nếu nhập 12.4 vào một ô có kiểu định dạng là #.0 “đồng” thì ô đó sẽ hiển thị là 12.4 đồng|
@|Biểu thị cho dạng văn bản. VD: Nếu nhập vào chữ USD vào một ô có kiểu định dạng là @*’ thì ô đó sẽ hiển thị là USD’’’’’’’|
[màu]|Số liệu trong ô sẽ được hiển thị màu theo như mã định dạng. Các mã màu có thể dùng là: Black, Blue. Cyan, Green, Magenta, Red, White, Yellow. VD: Nếu nhập 12.4 vào một ô có kiểu định dạng là [Red] thì ô đó sẽ hiển thị là 12.4 có màu đỏ|
[màu thứ n]|Hiển thị màu có số tương ứng trên tấm dãy màu pallet. Số n có giá trị từ 0 đến 56|
[điều kiện giá trị]|Cho phép định dạng theo tiêu chuẩn thỏa mãn giá trị nào đó. Có thể áp dụng cho 3 phần đầu trong 4 phần của cấu trúc của mã định dạng. VD: Nếu nhập 12.4 vào một ô có mã định dạng là [<11]"Low"* 0;[>20]"High"* 0;"Average"* 0;@*' thì ô đó sẽ hiển thị là |Average 12| (chú ý là do định dạng không có thập phân nên khi nhập vào 12.4 thì chỉ hiển thị là 12). Nếu nhập vào 25 thì hiển thị là |High 25|. Nếu nhập vào 0 thì hiển thị là |Low 0|. Còn nếu nhập vào là FETP thì hiển thị là |FETP’’’’’’’||
m|Hiển thị số theo định dạng là tháng (từ 1 à 12). VD: Khi nhập 8/12/2007 vào ô có định dạng là m thì ô đó hiển thỉ là 8|
mm|Hiển thị số theo định dạng là tháng (từ 01 à 12). VD: Khi nhập 8/12/2007 vào ô có định dạng là mm thì ô đó hiển thỉ là 08|
mmm|Định dạng là tháng (từ Jan à Dec). VD: Khi nhập 8/12/2007 vào ô có định dạng là mmm thì ô đó hiển thỉ là Aug|
mmmm|Định dạng là tháng (từ January à December). VD: Khi nhập 8/12/2007 vào ô có định dạng là mmmm thì ô đó hiển thỉ là August|
mmmmm|Định dạng là tháng (từ J à D). VD: Khi nhập 8/12/2007 vào ô có định dạng là mmmmm thì ô đó hiển thỉ là A (hiển thị ký tự đầu tiên)|
d|Hiển thị là ngày (từ 1à 31). VD: 8/12/2007 hiển thị 12|
dd|Hiển thị là ngày (từ 01à 31). VD: 8/1/2007 hiển thị 01|
ddd|Hiển thị là ngày trong tuần (từ sun à sat). VD: 8/1/2007 hiển thị Wed|
dddd|Hiển thị là ngày trong tuần (từ sunday à saturday). VD: 8/1/2007 hiển thị Wednesday|
yy or yyyy|Hiển thỉ là năm. VD: 8/1/2007 hiển thị 07 or 2007|
h or hh|Hiển thị là giờ. VD: 9:30 AM hiển thị là 9 or 09|
m or mm|Hiển thị là phút. VD: 9:05 AM hiển thị là 5 or 05|
s or ss|Hiển thị là giây. VD: 9:05:08 hiển thị là 8 or 08|
AM/PM|Hiển thị giờ sử dụng 12 giờ. Nếu không có định dạng này thì khi nhập vào ô dữ liệu dạng giờ thì nó sẽ hiển thị giờ là 24 giờ trong ngày. |
 
Bài số #3 tác giã nói rằng:
Nhưng nếu là 1 dãy dữ liệu cần định dạng thì sao bạn? Trong đó có những ô không phải là số 0, vậy khi nhấn dấu (,) cho cả cột thì ô chứa số không sẽ hiển thị dấu (-), còn những số khác sẽ không còn như định dạng ban đầu nữa mà hình như là những số khác sẽ thêm 2 số sau dấu phẩy thì phải.
Có cách nào định dạng vùng dữ liệu mà số 0 hiển thị dấu (-), còn những ô không phải số không sẽ hiển thị số bình thường như đã định dạng trước không?
!
Yêu cầu này tôi thấy rất hợp lý... nhưng chả lẻ không có cách (Đương nhiên VBA thừa sức làm điều này)
 
Thầy Long ơi! Hình như vẩn chưa đạt yêu cầu của tác giả:
- Các cell có số 0 thì định dạng thành dấu -
- Các cell khác giữ nguyên định dạng
Muốn giữ nguyên định dạng ban đầu, phải xem định dạng số dương, số âm như thế nào. Khi chuyển định dạng mới (số 0 là dấu -) phải vào Format chỉnh lại cho đúng.
Nút Comma Style sẽ chuyển về định dạng:
_(* #.##0,00_);_(* (#.##0,00);_(* "-"??_);_(@_)
chứ không thể giống định dạng ban đầu được.
 
Nhưng nếu là 1 dãy dữ liệu cần định dạng thì sao bạn? Trong đó có những ô không phải là số 0, vậy khi nhấn dấu (,) cho cả cột thì ô chứa số không sẽ hiển thị dấu (-), còn những số khác sẽ không còn như định dạng ban đầu nữa mà hình như là những số khác sẽ thêm 2 số sau dấu phẩy thì phải.
Có cách nào định dạng vùng dữ liệu mà số 0 hiển thị dấu (-), còn những ô không phải số không sẽ hiển thị số bình thường như đã định dạng trước không?
Cảm ơn các bạn nhé!
Mơi đọc qua, mình thấy format ô theo định dạng Accounting thì thỏa mãn điều kiện của bạn. Tất cả ô có giá trị bằng 0 thì hiển thị thành dấu (-), những ô khác giữ nguyên định dạng.
 
Định dạng ban đầu theo tôi hiểu là không có số thập phân nào, vì:
tác giả đã viết:
còn những số khác sẽ không còn như định dạng ban đầu nữa mà hình như là những số khác sẽ thêm 2 số sau dấu phẩy thì phải.
Vậy thì đơn giản là decrease decimal hoặc là chỉnh Regional Language Setting như bài trên tôi hướng dẫn. Cá nhân tôi ưu tiên dùng cách chỉnh Regional Language Setting trong control panel, vì thường dùng tiền Việt, không có xài số lẻ!
 
Lần chỉnh sửa cuối:
Như đã trình bày trước đây, bạn chỉ định đạng ở phần Format Cells/Number/Chọn Customs và gõ vào #;-#;- hoặc general;-general;-

Thân
 
Định dạng số 0 thành dấu -

Xin ae chỉ giúp cách định dạng số 0 thành dấu -, vì bảng số liệu của mình rất nhiều số 0 nhìn trông rất rối. mình đã mò trong Fomat/conditionnal fomating mà chưa ra. Trân trọng cảm ơn
 
định dạng

trường hợp này dùng định dạng accounting (mình đang làm kế toán) và vẫn dùng như thế
 
Xin ae chỉ giúp cách định dạng số 0 thành dấu -, vì bảng số liệu của mình rất nhiều số 0 nhìn trông rất rối. mình đã mò trong Fomat/conditionnal fomating mà chưa ra. Trân trọng cảm ơn
chào bạn, bạn có thể posst file của bạn lên đc ko ?
vì vấn đề bình thường chỉ cẩn giải quyết bằng cách: Bôi đen vùng cần định dạng, rồi định dạng nó ở accounting, để none nhé !
 
Bạn tham khảo để dịnh dạng trong Custom nhaPicture1.jpg
 
Chào các bạn. Chuyển từ "0" thành dấu gạch ngang thì mình làm được rồi như các bạn hướng dấn bấm váo dấu phẩy ở trên, nhưng chỉ khi nào ta đánh số "0" vào 1 cell nào đó thì được chứ mình mình dùng công thức mà ô công thức trả KQ là "0" thì số "0" vẫn cứ trơ trơ, không chuyển thành dấu gạch ngang được. Mong các cao thủ giúp. Mình dùng Excell 2003.
Thanks./
 
Web KT
Back
Top Bottom