Cách nào để format các vùng tính toán được như nhau

Liên hệ QC

Người Đưa Tin

Hạt cát sông Hằng
Thành viên danh dự
Tham gia
12/12/06
Bài viết
3,661
Được thích
18,158
Giám Đốc mình có việc này nhớ các bác chỉ giúp

Giả thuyết thứ nhất :
Giả sử A1 có 1 con số = 7.8569 (Cell A1 = đã format number 0 "Không số lẻ" ==> Kết quả Cell A1 có trị là 8
Cell B1 có trị là 2
Cell C1 = A1 * B1 ===> (8 *2) Kết quả là 15.7138 [Cell C1 không format number 0 "Không số lẻ"]

Cho hỏi trường hợp này do Cell C1 không format number 0 "Không số lẻ" thì kết quà 15.7138, sao không phải là kết quả 16.

Có cách nào để thể hiện kết quả Cell C1 là 16 mà không cần format number 0 "Không số lẻ" và không cần dùng hàm round.

Giả thuyết thứ hai :
Giả sử A1 có 1 con số đã được lấy kết quả của các tính toán của vùng khác đỗ về,
= 7.8569 (Cell A1 = đã format number 0 "Không số lẻ) Kết quả Cell A1 có trị là 8
Cell B1 có trị là 2
Cell C1 = A1 * B1 ===> (8 *2) Kết quả là 15.7138
Cho hỏi trường hợp này do Cell C1 không format number 0 thì kết quà 15.7138, sao không phải là kết quả 16.

Excel 2003 và Excel 2007 cũng cho kết quả là 15.7138

Trong một chừng mức nào đó, người sử dụng quên định dạng cho C1 và in ra giấy trình cho chief xem thì chief thấy kết quả như vậy là không đúng.===>15.7138

Thắc mắc :

Nhấn mạnh đã làm tròn Cell A1 rồi thì kết quả Cell C1 phải hiển nhiên cũng đúng trên màn hình 8*2=16
 
Bác nên phân biệt rõ giữa format number 0 "Không có số lẻ"làm tròn số.
Format là cái nó hiển thị cho ta thấy mà thôi, nhưng bản chất của nó thì chưa hẳn là cái ta thấy.

Cho nên, trong trường hợp này, bác format cho ô A1 chứ không phải là làm tròn số ở Ô A1, muốn làm tròn số theo đúng nghĩa đen thì phải dùng hàm.

Như yêu cầu của bác, nếu không cho format cho cột Ccũng không cho sử dụng hàm Round (là hai cách đơn giản nhất) thì như vậy bác có muốn sử dụng VBA không? Nhưng em xin nói trước, dù có làm VBA thì cũng trên cơ sở Format và hàm Round mà thôi.

Nói thêm: Thậm chí kho format cột C cũng không có số lẻ, cũng chưa chắc đúng!
Hãy thử phép cộng này xem:
8.49 + 2.49 = 10.98 ===> sau khi format không có số lẻ ==> 8 + 2 = 11 (nhìn thấy vô lý quá)
 
Lần chỉnh sửa cuối:
Theo em thì mặc định của MS Office đã như vậy rồi, chỉ còn cách phải cẩn thận khi làm việc thôi Bác ạ.
 
Trong trường hợp này, dùng Format Painter là nhanh nhất ---> Chọn A1, nhấp vào nút Format Painter (hình cây cọ) ---> Quét vào vùng nào ta muốn Format giống A1
 
Thoạt nhìn - người dùng cảm giác office lừa mình sao
Giả sử A1 có 1 con số = 7.8569 (Cell A1 = đã format number 0 "Không số lẻ" ==> Kết quả Cell A1 có trị là 8

Chẳng thà như vậy có nên bỏ chức năng format không ?

Không lẻ kết quả của nhân viên in ra giấy gởi lên cho chief, rồi phải đính kèm chuyển file cho chief để kiểm tra từng cell một bằng cách nhấn nút F2
 
Thoạt nhìn - người dùng cảm giác office lừa mình sao
Giả sử A1 có 1 con số = 7.8569 (Cell A1 = đã format number 0 "Không số lẻ" ==> Kết quả Cell A1 có trị là 8

Chẳng thà như vậy có nên bỏ chức năng format không ?

Không lẻ kết quả của nhân viên in ra giấy gởi lên cho chief, rồi phải đính kèm chuyển file cho chief để kiểm tra từng cell một bằng cách nhấn nút F2
Cho nên, theo kinh nghiệm chinh chiến của em, đối với việc tính toán liên quan đến "Tiền", "Lương" và những vấn đề tương tự, nếu ta biết việc tính toán đó sẽ nảy sinh số lẻ! Thì hãy dùng hàm round để làm tròn kết quả của biểu thức tính toán đó, chí ít là làm tròn đến đơn vị nhỏ nhất (trong tiền tệ VN là đồng)! Còn format là công cụ trình bày dữ liệu, không có giá trị về mặt tính toán!
 
Thoạt nhìn - người dùng cảm giác office lừa mình sao
Giả sử A1 có 1 con số = 7.8569 (Cell A1 = đã format number 0 "Không số lẻ" ==> Kết quả Cell A1 có trị là 8

Chẳng thà như vậy có nên bỏ chức năng format không ?

Không lẻ kết quả của nhân viên in ra giấy gởi lên cho chief, rồi phải đính kèm chuyển file cho chief để kiểm tra từng cell một bằng cách nhấn nút F2
Em nghĩ chức năng Format này vẫn có cái hay của nó chứ... Chẳng hạn trong cell anh gõ ngày tháng năm, nhưng anh lại muốn nó "hiện ra" theo dạng THỨ (Mon, Tue...)...
Hoặc giống như bài này:
http://www.giaiphapexcel.com/forum/showthread.php?t=18657
Vậy nếu anh muốn cell kết quả cũng được Format giống như cell nguồn thì chỉ có 2 cách:
- Dùng Format Painter giống như em nói ở trên
- Dùng VBA ---> Thay vì lấy Range(...).Value, ta lấy Range(...).Text
ví dụ hàm "củ chuối" sau:
PHP:
Function V2V(Cll As Range) As Variant
   V2V = Cll.Text
End Function
Thay vì anh gõ A1*B1, bây giờ anh gõ =V2V(A1)*V2V(B1)
Có điều nếu làm vậy thì thôi thà rằng ROUND xem bộ còn lẹ hơn!
Ẹc... Ẹc...
 
Kết quả này lại càng sai trầm trọng
8.49 + 2.49 = 10.98 ===> sau khi format không có số lẻ ==> 8 + 2 = 11

Không làm tròn thì kết quả như thế này
=8.49+2.49=10.98

Vậy cuối cùng mọi người sử dụng excel hãy lưu ý cho các việc tính toán với các số lẻ nhiều (9,10 số lẻ,...) thì kết quả mới chính xác.

Tạm thời dừng nơi đây, vì mình đang ở công ty của 1 chief. Và viết bài này lên để cho chief thấy được vấn đề.

Chief company Lâm Long xin cám ơn tất cả thành viên GPE - Chúc GPE luôn là diễn đàn giao lưu văn hóa tốt và mọi anh chị một năm mới an khang - thịnh vượng.
 
Web KT

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

Back
Top Bottom