PDA

View Full Version : 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?



nguyenvinh_excel
07-12-08, 11:17 AM
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é!

ptm0412
07-12-08, 11:28 AM
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]

nguyenvinh_excel
07-12-08, 11:55 AM
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é!

ptm0412
07-12-08, 01:01 PM
- 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.

phamduylong
07-12-08, 08:47 PM
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

ndu96081631
07-12-08, 09:45 PM
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

BNTT
07-12-08, 10:04 PM
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

http://i216.photobucket.com/albums/cc49/BNTT_photos/000-121.gif

Và "người ta" chỉ làm có vậy mà thôi.

sealand
07-12-08, 11:40 PM
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


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.

Trương Tam Phong
07-12-08, 11:48 PM
Để hiểu @, #, * ... thì xem thêm

ĐỊNH DẠNG KIỂU CHO GIÁ TRỊ LÀ SỐ


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. |

ndu96081631
08-12-08, 06:08 AM
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)

phamduylong
08-12-08, 08:20 AM
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.

DOSNET
08-12-08, 12:02 PM
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.

ptm0412
08-12-08, 12:06 PM
Định dạng ban đầu theo tôi hiểu là không có số thập phân nào, vì:

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ẻ!

solomon2211
08-12-08, 01:21 PM
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

hoanghai03
18-10-11, 10:53 PM
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

hoamattroicoi
18-10-11, 11:36 PM
Bạn có thể tham khảo tại link này nhé :
http://www.giaiphapexcel.com/forum/showthread.php?16974-L%C3%A0m-th%E1%BA%BF-n%C3%A0o-%C4%91%E1%BB%83-%C4%91%E1%BB%8Bnh-d%E1%BA%A1ng-s%E1%BB%91-0-th%C3%A0nh-%28d%E1%BA%A5u-g%E1%BA%A1ch-ngang%29-m%C3%A0-v%E1%BA%ABn-t%C3%ADnh-to%C3%A1n-%C4%91%C6%B0%E1%BB%A3c&

buithitam
20-10-11, 03:15 PM
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ế

mrhack
22-10-11, 06:59 PM
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é !

phihndhsp
22-10-11, 10:07 PM
Bạn tham khảo để dịnh dạng trong Custom nha72389

oitroi
05-07-13, 02:57 PM
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./

vanle33
05-07-13, 03:19 PM
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./
Bạn thử định dạng này : _-* #.##0 _₫_-;-* #.##0 _₫_-;_-* "-" _₫_-;_-@_-
trong Formatcells/custom/OK
thỏa cả 2 yêu cầu của bạn khi nhập số 0 và dùng công thức ra kết quả =0 thì đều ra dấu -

suongblack
01-08-13, 10:56 AM
#.###,00;-#.###,00;- định dạng theo kiểu này, mình đã thử

huyhoang1768
01-08-13, 10:59 AM
#.###,00;-#.###,00;- định dạng theo kiểu này, mình đã thử
Tại ô chứa công thức bạn kết xuất cũng làm định dạng tương tự như cái dấu phảy kia là ok rồi, tại sao nó ko nhảy vì lý do, tại ô kết xuất chưa được định dạng như thế

suongblack
01-08-13, 11:13 AM
Các bạn thử định dạng theo kiểu này thử nhé: ##.##0,00;-##.##0,00;-

hieuxd
02-08-13, 08:02 AM
Không cần biết các giá trị khác 0 có kiểu định dạng như thế nào chỉ thay đổi định dạng của mỗi số 0 thôi thì dùng định dạng có điều kiện
Điều kiện là: =$B3=0
Format\Number\Type : gõ dấu - hay dấu + hay dấu gì vào thì tùy