Quy tròn theo số chữ số có nghĩa của các phân tử thành phần ?

Liên hệ QC

Chuotdong

Thành viên thường trực
Tham gia
28/11/06
Bài viết
255
Được thích
60
Cac bạn cho tôi hỏi tình huống cần quy giá trị theo số chữ số có nghĩa thì đặt công thức như thế nào ?
Vi dụ công thức: Ô A1 = (B1 + B2 + + Bn)/2
Trong đó các Bi là giá trị số bất kì ví dụ = 0,3 =40 =5,5 =9,070 ....
 
Bạn tham khảo hàm Round; Roundup và Roundown nhé. Nó sẽ giúp bạn nhiều đấy.
Thân!
 
MrHieu đã viết:
Bạn tham khảo hàm Round; Roundup và Roundown nhé. Nó sẽ giúp bạn nhiều đấy.
Thân!
Hình như bạn ko hiểu ý của tôi ? và hiểu số chữ số có nghĩa là gì (cái này hình như là khái niệm toán của lớp 10 ?)

Ví dụ B1=1,2 (có xx chữ số có nghĩa ?)
B2=1,4

A1=(B1+B2)/3=0,866666 ROUND(A1;1) sẽ =0,9

Nhưng giá trị các ô B1 , B2 là giá trị nhập liệu nên có thể thay đổi tùy ý (có thể =1,2 hoặc là 1,2023 .... thì bạn biết qui tròn tự động như thế nào (tham số thứ 2 của hàm ROUND ở đây là gì sao tôi biết được ?)
Cái này tôi đọc ở đâu đó là có thể đặt ở menu nào đó hoặc dùng hàm nhưng ko tìm lại được, có đứa em nó hỏi mới ngớ ra, bài toán phổ thông mà ứng dụng trong Excel-+*/
 
Lần chỉnh sửa cuối:
Chuotdong đã viết:
Hình như bạn ko hiểu ý của tôi ? và hiểu số chữ số có nghĩa là gì (cái này hình như là khái niệm toán của lớp 10 ?)

Ví dụ B1=1,2 (có xx chữ số có nghĩa ?)
B2=1,4

A1=(B1+B2)/3=0,866666 ROUND(A1;1) sẽ =0,9

Nhưng giá trị các ô B1 , B2 là giá trị nhập liệu nên có thể thay đổi tùy ý (có thể =1,2 hoặc là 1,2023 .... thì bạn biết qui tròn tự động như thế nào (tham số thứ 2 của hàm ROUND ở đây là gì sao tôi biết được ?)
Cái này tôi đọc ở đâu đó là có thể đặt ở menu nào đó hoặc dùng hàm nhưng ko tìm lại được, có đứa em nó hỏi mới ngớ ra, bài toán phổ thông mà ứng dụng trong Excel-+*/

Quả thực là bạn hơi nặng lời rồi bởi vì khi đã không biết thì lớp 1 cũng như lớp 10 thôi, và vì mình không hiểu hết ý của bạn (cho đến cả bây giờ) nên mới đề nghị như thế. Tham số thứ 2 ta hoàn toàn có thể điều khiển được, còn nó có ý nghĩa thế nào thì bạn hãy tìm hiểu, cả 3 hàm này đều là để làm tròn, làm tròn lên, tròn xuống hay làm tròn theo nghĩa thông thường (Cứ lớn hơn 5 thì cộng thêm 1 )
Thân!
 
Xin lỗi bạn, còn thực ra tôi cũng ko hiểu -0-/. - học lâu rồi nên quên, để về hỏi lại thằng em đã.

Còn đến bây giờ tôi tạm hiểu thế này: lấy số chữ số sau dấu phẩy của kết quả ở ô kết quả A1 = số chữ số sau dầu phẩy lớn nhất trong các phần tử tham gia vào phép toán; nghĩa là nếu B1=9 B2=1,3 B3=1,04 B4=15 thì kết quả ở ô A1 sẽ làm tròn lấy đến 2 chữ số thập phân.
 
Một cách thô thiển như sau, mời bạn tham khảo & xài nếu được!:

Biến giá trị các ô thành dạng chuỗi & tính độ dài của chúng;
Tìm giá trị nào có độ dài MAX (?)
Từ đó lập hàm Format() để kết quả cho theo thành phần nào có nhiều kí số nhất!
 
Chuotdong đã viết:
Hình như bạn ko hiểu ý của tôi ? và hiểu số chữ số có nghĩa là gì (cái này hình như là khái niệm toán của lớp 10 ?)

Ví dụ B1=1,2 (có xx chữ số có nghĩa ?)
B2=1,4

A1=(B1+B2)/3=0,866666 ROUND(A1;1) sẽ =0,9

Nhưng giá trị các ô B1 , B2 là giá trị nhập liệu nên có thể thay đổi tùy ý (có thể =1,2 hoặc là 1,2023 .... thì bạn biết qui tròn tự động như thế nào (tham số thứ 2 của hàm ROUND ở đây là gì sao tôi biết được ?)
Cái này tôi đọc ở đâu đó là có thể đặt ở menu nào đó hoặc dùng hàm nhưng ko tìm lại được, có đứa em nó hỏi mới ngớ ra, bài toán phổ thông mà ứng dụng trong Excel-+*/

Bình thường Excel đã thể hiện tất cả những số sau dấu phảy của một số (nếu ta cho phép), ví vậy câu hỏi của bạn nặng về kỹ thuật hơn là ứng dụng.

VD : A1 = 1,2; A2= 2,000005 -> A3=A1+A2 = 3,200005.
Như vậy A3 bao giờ cũng thể hiện số chữ số thập phân lớn nhất trong các phần tử của nó, vì vậy việc làm này là không cần thiết.
Nhưng cứ cho là như vậy thì ta phải làm tròn đến 6 chữ số thập phân. A3 = round(A1+A2;6)
Vậy thì điều khiển con số 6 này như thấy nào đây ? (Tức là nhận thấy sau có sáu chữ số thập phân có nghĩa - số không có nghĩa là những số 0 phía sau cùng : 3,20000500000000).
Tôi đã thử dùng hàm LEN với những con số thập phân để đếm xem có bao nhiêu số thập phân nhưng không được (LEN(A1-round(A1;0))= 17
Giải pháp là biến chữ thành text : = text(A3;"###,#################") = 3,20000500000000000
giả sử là tối đa có 17 số thập phân
và nếu số cuối cùng trong chuỗi đó là 0 thì sẽ xóa đi, sau đó lại tiếp tục.
. . . . . .
Và nếu như vậy thì phải dùng VBA chứ dùng hàm e không được.

Mong được chỉ giáo thêm.

Thân!
 
Cách của mình như thế này không biết có đáp ứng được yêu cầu của bạn không (Không dùng VBA)?
Giả sử cột B là cột nhập liệu
Tại cột C bạn đánh công thức (cụ thể là C1):
Mã:
=IF(ISERROR(SEARCH(".",B1,1)),0,LEN(RIGHT(B1,LEN(B1)-SEARCH(".",B1,1))))
Tại ô A1 thay vì công thức của bạn:
Bạn đánh công thức sau:
Mã:
=Round((B1 + B2 + + Bn)/2, MAX(C:C))
 
Lần chỉnh sửa cuối:
nvson đã viết:
Giả sử cột B là cột nhập liệu
Tại cột C bạn đánh công thức (cụ thể là C1):
Mã:
LEN(RIGHT(B1,LEN(B1)-SEARCH(".",B1,1)))
B1 là một số, như vậy làm sao mà bạn tìm thấy dấu phân cách (.) giữa đơn vị và số thập phân được vì với số thì đây chỉ là vấn đề hiển thị (số 123.456 chính là số 123456). Chính vì vậy hàm Search chỉ có tác dụng khi tìm dấu phân cách trong Text. Mà biến đổi thành Text với bao nhiêu chữ số sau dấu phân cách thì ta lại không biết, vì vậy mới cho đại với giả sử là có tối ta 20 số thập phân.
Vì thế công thức sẽ là : (Không cần cột C nữa)
A1 = (B1 + B2 + + Bn)/2
A2=ROUND(A1;LEN(TEXT(A1;"#,####################"))-SEARCH(",";TEXT(A1;"#,####################");1))

Thân!
 
MrHieu đã viết:
Bình thường Excel đã thể hiện tất cả những số sau dấu phảy của một số (nếu ta cho phép), ví vậy câu hỏi của bạn nặng về kỹ thuật hơn là ứng dụng.

VD : A1 = 1,2; A2= 2,000005 -> A3=A1+A2 = 3,200005.
Như vậy A3 bao giờ cũng thể hiện số chữ số thập phân lớn nhất trong các phần tử của nó, vì vậy việc làm này là không cần thiết.

Ứng dụng nhiều chứ bạn, tôi phát hiện một việc rất cụ thể như sau:

Thông thường các bạn thu thập số liệu sau đó cần nội suy để lấy kết quả, ví dụ dữ liệu đo được A1=1,2 ứng với tham số đầu vào là B1=10
A2=2,000005 ứng với tham số đầu vào là B2=15

Cho hỏi nếu tham số đầu vào bây giờ là Bi= 12,2 thì kết quả là bao nhiêu, có phải bạn sẽ tính = (A2-A2)/(B2-B1)x2,2 = [FONT=.VnTime]0,3520022 sẽ bị dư 1 số sau dấu phẩy ! (số bị dư thừa trong tình huống này không có nghĩa ? ) đấy là tình huống đơn giản (vì là nội suy tuyến tính) còn các tình huống phức tạp hơn nhiều.[/FONT]

Còn về khái niệm số chữ số có nghĩa chợt nhớ ra là được học ở môn "Phương pháp tính" trong trường đại học : http://www.hutech.edu.vn/KDIENTU/dcdtvt.asp?mon=ppt
 
Lần chỉnh sửa cuối:
Chuotdong đã viết:
Ứng dụng nhiều chứ bạn, tôi phát hiện một việc rất cụ thể như sau:

Thông thường các bạn thu thập số liệu sau đó cần nội suy để lấy kết quả, ví dụ dữ liệu đo được A1=1,2 ứng với tham số đầu vào là B1=10
A2=2,000005 ứng với tham số đầu vào là B2=15

Cho hỏi nếu tham số đầu vào bây giờ là Bi= 12,2 thì kết quả là bao nhiêu, có phải bạn sẽ tính = (A2-A2)/(B2-B1)x2,2 = [FONT=.VnTime]0,3520022 sẽ bị dư 1 số sau dấu phẩy ! (số bị dư thừa trong tình huống này không có nghĩa ? ) đấy là tình huống đơn giản (vì là nội suy tuyến tính) còn các tình huống phức tạp hơn nhiều.[/FONT]

UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU!!!!!!!!!!!!!!
Bạn phải cho ra VD như vậy thì mình mới hình dung ra chứ, đến bây giờ mới hiểu, thật là. . . . !!!!
Nếu vậy thì bạn làm theo bác NVSON đi, chỉ khác là bạn phải biến số thành Text trước khi dùng hàm search thôi. Còn cách khác thì để suy nghĩ đã.
Thân!
 
Uh, tôi nghĩ vấn đề đơn giản quá, mới đầu tôi cũng nghĩ bản thân Excel phải có sẵn tính năng này rồi chứ ! , nhưng nghĩ lại thì cũng khó vì Excel không thể biết có bao nhiêu số liệu là INPUT(coi là số liệu đầu vào để mà đánh giá sai số).

Cám ơn bạn nvson, tôi thấy bạn câu hỏi nào bạn cũng đều có thể dùng Excel để giải được. Chỉ mong bạn giải quyết vấn đề nhỏ nên dùng các công cụ nhỏ mà thôi là lý tưởng nhất. Cám ơn bạn lắm lắm, đặc biệt cách bạn giải quyết vấn đề tô mầu luân phiên tôi đã hỏi, mặc dù bạn dùng "con dao" hơi to 1 tý(trong cú pháp của Format Condiction có thì đơn giản biết bao), nhưng còn hơn không có cách nào.
 
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom