công thức tính giá trị trung bình khi không có điểm thì báo lỗi (5 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

ongtrungducmx25

Thành viên gạo cội
Tham gia
5/2/07
Bài viết
2,077
Được thích
1,987
Nghề nghiệp
GV
công thức tính điểm trung bình của mình nó có vấn đề gì không mình đã dùng hàm =ROUND(AVERAGE(D9:M9,I9:L9,M9),1) lúc nhập điểm thì nó hiện lên ,nhưng khi không có điểm thì nó báo lỗi #DVI/0! không có điểm thì khắc phục như thế nào zậy!
 

File đính kèm

Bác dùng thử hàm ISERROR để nó bỏ lỗi đi.
 
Lần chỉnh sửa cuối:
Dùng ISERROR
=IF(ISERROR(ROUND(AVERAGE(D9:M9,I9:L9,M9),1)),"",ROUND(AVERAGE(D9:M9,I9:L9,M9),1))
 
công thức này dài quá có thể dùng hàm if không các bạn nhé mình thấy nó khá dài có cách nào rút gọn không!
 
Đơn giản hơn thì dùng công thức này:
N8=IF(D8:L8="","",ROUND(AVERAGE(D8:M8,I8:L8,M8),1))
Y8=IF(O8:W8="","",ROUND(AVERAGE(O8:X8,T8:W8,X8),1))
Z8=IF(OR(N8="",Y8=""),"",ROUND((Y8*2+N8)/3,1))
Ctrl + Shift + Enter
Dễ hiểu nhé!
 
Lần chỉnh sửa cuối:
nó báo lỗi gì mà value nhé anh tuấn ơi, có thêm hàm sum đứng sau hàm if(sum.......................như thế nào anh tuấn nhé!)
 
Lần chỉnh sửa cuối:
Anh Tuấn dùng công thức mảng mà anh.
 
Công thức dài nhưng tính toán nhanh hay hơn là công thức ngắn nhưng tính toán chậm bác ơi...
 
Đây... bạn xem file... cái này chỉ là gợi ý, bạn có thể sửa lại cho phù hợp!
ANH TUẤN
 

File đính kèm

Dùng ISERROR tuy nhìn thấy thì dài nhưng nó cũng chủ yếu là IF. Khi IF trả về là sai thì cũng chỉ dùng thêm ISERROR nữa thôi.
 
ongtrungducmx25 đã viết:
công thức tính điểm trung bình của mình nó có vấn đề gì không mình đã dùng hàm =ROUND(AVERAGE(D9:M9,I9:L9,M9),1) lúc nhập điểm thì nó hiện lên ,nhưng khi không có điểm thì nó báo lỗi #DVI/0! không có điểm thì khắc phục như thế nào zậy!
Tôi thấy công thức của bạn hơi lạ. D9:M9 quét lần thứ nhất để lấy hệ số 1 tôi nhất trí, I9:L9 quét lần thứ 2 để lấy hệ số 2, sau đó lại có M9 như vậy M9 cũng quét lần thứ 2, tại sao bạn không quét lần thứ 2 là I9:M9 luôn. Nếu bạn đang thiết lập công thức tính điểm trung bình môn với D9:G9 là hệ số 1, I9:L9 là điểm hệ số 2 còn M9 là điểm thi học kì-hệ số 3 thì công thức của bạn phải sửa là : =ROUND(AVERAGE(D9:M9,I9:M9,M9),1) mới đúng chứ. Tôi học EX theo "phản xạ có điều kiện" nếu không phải xin bạn thông cảm!!!
 
&ui là chính!

công thức này dài quá có thể dùng hàm if không các bạn nhé mình thấy nó khá dài có cách nào rút gọn không!
Dài, đúng là có dư 1 hàm làm tròn không cần thiết trong
=IF(ISERROR(ROUND(AVERAGE(D9:M9,I9:L9,M9),1)),"",ROUND(AVERAGE(D9:M9,I9:L9,M9),1))
Ngoài ra bạn có thể dùng hàm #, như TYPE()<>16 ,

Số kí tự như nhau, nhưng dễ nghía hơn!

&ui thôi nha!--=0
 
SA_DQ đã viết:
Dài, đúng là có dư 1 hàm làm tròn không cần thiết trong
=IF(ISERROR(ROUND(AVERAGE(D9:M9,I9:L9,M9),1)),"",ROUND(AVERAGE(D9:M9,I9:L9,M9),1))
Ngoài ra bạn có thể dùng hàm #, như TYPE()<>16 ,

Số kí tự như nhau, nhưng dễ nghía hơn!

&ui thôi nha!--=0

bạn nói rõ hơn nhé hàm Type()<>16 là sao zậy mình không hiểu
 
F1 trong Excel í!

ongtrungducmx25 đã viết:
bạn nói rõ hơn nhé hàm Type()<>16 là sao zậy mình không hiểu
TYPE

See Also

Returns the type of value. Use TYPE when the behavior of another function depends on the type of value in a particular cell.

Syntax

TYPE(value)

Value can be any Microsoft Excel value, such as a number, text, logical value, and so on.

If value is TYPE returns
Number 1
Text 2
Logical value 4
Error value 16
Array 64

Remarks
TYPE is most useful when you are using functions that can accept different types of data, such as ARGUMENT and INPUT. Use TYPE to find out what type of data is returned by a function or formula.
You cannot use TYPE to determine whether a cell contains a formula. TYPE only determines the type of the resulting, or displayed, value. If value is a cell reference to a cell that contains a formula, TYPE returns the type of the formula's resulting value.
Example

The example may be easier to understand if you copy it to a blank worksheet.

How?

Create a blank workbook or worksheet.
Select the example in the Help topic. Do not select the row or column headers.


Selecting an example from Help

Press CTRL+C.
In the worksheet, select cell A1, and press CTRL+V.
To switch between viewing the results and viewing the formulas that return the results, press CTRL+` (grave accent), or on the Tools menu, point to Formula Auditing, and then click Formula Auditing Mode.

1
2
A
Data
Smith
Formula Description (Result)
=TYPE(A2) Checks the type of the value above (2)
=TYPE("Mr. "&A2) Checks the type of "Mr. Smith" (2)
=TYPE(2+A2) Checks the type of the formula, which returns the error #VALUE! (16)
=TYPE({1,2;3,4}) Checks the type of an array constant (64)
 
Nói rõ thêm 1 chút về hàm TYPE (gọi là "diễn nôm")
TYPE của 1 cell nào đó sẽ trả về các giá trị sau:
Nếu giá trị trả về của TYPE là 1---> Cell có dạng số
Nếu giá trị trả về của TYPE là 2---> Cell có dạng text
Nếu giá trị trả về của TYPE là 4---> Cell có dạng logic (true, false)
Nếu giá trị trả về của TYPE là 6---> Cell có dạng là LỖI (Error)
Nếu giá trị trả về của TYPE là 64---> Cell có dạng là 1 mãng
Từ đó suy ra TYPE()<>16 nghĩa là CELL KO BỊ LỔI (ko bị error)
ANH TUẤN
 
ongtrungducmx25 đã viết:
công thức tính điểm trung bình của mình nó có vấn đề gì không mình đã dùng hàm =ROUND(AVERAGE(D9:M9,I9:L9,M9),1) lúc nhập điểm thì nó hiện lên ,nhưng khi không có điểm thì nó báo lỗi #DVI/0! không có điểm thì khắc phục như thế nào zậy!
Bạn có thể tải chương trình cộng điểm của thầy LePhuongVan trong diễn đàn Ex cho giáo dục này, gỡ bỏ khóa voi mat khau là "van", tôi thấy công thức đơn giản và không thấy lỗi như bạn nói.
 
Ban co the tham khao file
 

File đính kèm

Tính Bình Quân Nhưng Bỏ Đi Giá Trị 0

Mình tính bình quân nhưng trong các giá trị mình tính có chứa giá trị = 0.
Mình muốn giữ nguyên vùng dữ liệu nhưng giá trị 0 thì không tính vào.

Ví dụ:
A1=0
A2=2
A3=4
Tính Average(A1:A3)=2 => Sai => ???? = 3
Các Bác giúp dùm!
 
Bạn xài hàm sau

Mình tính bình quân nhưng trong các giá trị mình tính có chứa giá trị = 0.
Mình muốn giữ nguyên vùng dữ liệu nhưng giá trị 0 thì không tính vào.

Ví dụ:
A1=0
A2=2
A3=4
Tính Average(A1:A3)=2 => Sai => ???? = 3
Các Bác giúp dùm!

PHP:
Option Explicit
Function AVERAGEs(LookUpRange As Range, Optional Not0 As Boolean = True) As Double
 If Not0 Then
   Dim Clls As Range, Dem As Byte
   For Each Clls In LookUpRange
      If Clls.Value <> 0 Then
         Dem = Dem + 1:       AVERAGEs = AVERAGEs + Clls.Value
       End If
   Next Clls
   AVERAGEs = AVERAGEs / Dem
 Else
   AVERAGEs = Application.WorksheetFunction.Average(LookUpRange)
 End If
End Function
Mô tả:
|R|S|T|U|
4 |1|||Công thức tại cột S(S6)|
5 |||| =averages(R4:R6) |
6 |4|2.5|2.5||
7 |7|5.5|5.5|Công thức tại cột T(T6)|
8 |0|5.5|3.667| =averages(R4:R6,FALSE) |
9 |||--=0|. . .|
 
Chỉnh sửa lần cuối bởi điều hành viên:
Web KT

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

Back
Top Bottom