You are on page 1of 39

3.13.

Giới thiệu về hàm


• Cách nhập hàm vào bảng tính
– Nhập hàm từ bàn phím:
• Di chuyển ô hiện thời đến ô cần nhập
• Nhập dấu =
• Nhập tên hàm, nhập đối số của hàm theo đúng quy
định
– Chọn trong bảng liệt kê tên hàm:
• Di chuyển ô hiện thời đến ô cần nhập
• Thực hiện Insert → Function hoặc kích chuột vào biểu
tượng trên thanh công thức hoặc ấn Shift +F3

12/26/2015 1
3.13. Giới thiệu chung về hàm trong
EXCEL
Khái niệm: Là các công thức được xây dựng trước
Phục vụ một số tính toán thông dụng
– Dạng tổng quát của một hàm:
=<Tên hàm>([Danh sách đối số])
• Tên hàm: theo quy ước của Excel (không phân biệt
hoa / thường)
• Đối số có thể là:
– Số, kí tự, giá trị kiểu logic,…
– Địa chỉ ô, địa chỉ vùng,
– Công thức, tên các hàm khác.

12/26/2015 2
3.13. Giới thiệu về Hàm
• Các nhóm hàm cơ bản
– Nhóm hàm toán học
– Nhóm hàm thống kê
– Nhóm hàm ký tự
– Nhóm hàm ngày tháng
– Nhóm hàm logíc
– Nhóm hàm tìm kiếm
– Hàm dữ liệu

12/26/2015 3
3.13.1 Các hàm toán học
Công thức Công dụng
ABS(number) Trả về giá trị tuyệt đối của một số
PI() Kết quả là số pi 3.1415…
Trả về số ngẫu nhiên trong khoảng
Rand()
(0,1)
Fact() Tính giai thừa của 1 giá trị số
SQRT(number) Tính căn bậc hai
MOD(n,d) =n – d * int(n/d)
INT(number) kết quả là số nguyên <number

12/26/2015 4
3.13.1 Các hàm toán học
Công thức Công dụng

POWER(number, power) Tính luỹ thừa của một số

PRODUCT(number1,
phép nhân một loạt các số
number2, …)
làm tròn trên đến số nguyên lẻ
ODD(number)
cách xa so với trục tọa độ
ROUND(number,num_digit
giá trị làm tròn một số
s)
COS(number) kết quả là hàm cos/sin (theo
SIN(number) radian)

12/26/2015 5
3.13.3 Nhóm hàm ký tự
Công thức Công dụng
LEN(text) Trả về độ dài của xâu kí tự
LEFT/RIGHT Trả về num_chars kí tự bên
(text,num_chars) trái/phải xâu kí tự
Trả về num_chars kí tự từ
MID(text, start_num,
dãy kí tự text bắt đầu từ kí
num_chars )
tự thứ start_num.
chuyển xâu ký tự dạng số
VALUE(text)
sang dữ liệu kiểu số.
TRIM(text) Loại bỏ các kí tự trống thừa

12/26/2015 6
Công thức Công dụng

PROPER(text) Định dạng viết tên


LOWER/UPPER(text) Chuyển chữ thường/hoa
Trả về kí tự trong bảng mã
CHAR(number)
ASCII tương ứng
Trả về mã ASCII của kí tự
CODE(text)
đầu tiên
FIND(find_T,within_T Tìm xâu find_T ở within_T,
[,start_num]) trả về vị trí tìm thấy
REPT(text,times) Lặp lại xâu kí tự

12/26/2015 7
Công thức Công dụng
FIND(find_T,within_T Tìm xâu find_T ở within_T,
[,start_num]) trả về vị trí tìm thấy
Tương tự như hàm FIND
SEARCH(find_T,within_
nhưng không phân biệt
T [,start_num])
hoa/thường
Thay thế một phần của xâu
REPLACE(old_T,start_n old_T bằng xâu new_T bắt
um,num_chars,new_T) đầu từ vị trí start_num và với
số kí tự bằng num_chars
TEXT(value,format_T) một giá trị số sang dạng kí tự.

12/26/2015 8
3.13.3 Nhóm hàm ngày tháng
Công thức Công dụng
Trả về dạng ngày tháng từ
DATE(year,month,day)
chuỗi giá trị dạng số.
Hàm trả về giá trị ngày giờ
NOW()
hiện thời của hệ thống
trả về giá trịngày hiện thời
TODAY()
của hệ thống.
Hàm trả về giá trị số tương
DAY/MONTH/YEAR(sir
ứng với ngày của biểu thức
ial_number)
ngày tháng.

12/26/2015 9
3.13.4 Nhóm hàm logic
Công thức Công dụng
Hàm trả về giá trị TRUE nếu tất
AND(logical1, logical2,...)
cả các đối số có giá trị TRUE
Hàm trả về giá trị FALSE nếu
OR(logical1, logical2,...) tất cả các đối số có giá trị
FALSE
Hàm cho giá trị FALSE nếu
NOT(logical)
biểu thức logic có giá trị TRUE
TRUE /FALSE() Hàm cho giá trị True/False
Nếu biểu thức điều kiện là
IF(logical_test,value_if_tr TRUE hàm trả về kết quả là giá
ue,value_if_false) trị value_if_true, ngược lại
hàm nhận giá trị value_if_false.
12/26/2015 10
3.13.5 Nhóm hàm tìm kiếm
• Hàm Vlookup: tìm kiếm theo cột
Vlookup(lookup_value,table_array,col_index_num,range_loo
kup)
– Lookup_value: Giá trị tìm kiếm
– Table_array: Vùng tìm kiếm có cột đầu tiên
chứa giá trị tìm kiếm
– Col_index_num: Chỉ số cột tham chiếu kết qủa
– Range_lookup: Quy định cách tìm kiếm và là
một giá trị logic.
(True / 1: tìm gần đúng – mặc định – yêu cầu sắp
xếp tăng; False / 0: tìm chính xác)

12/26/2015 11
Nhóm hàm tìm kiếm

12/26/2015 12
Nhóm hàm tìm kiếm
Hàm Hlookup: tìm kiếm theo dòng
Hlookup(lookup_value,table_array,row_index_nu
m, range_lookup)
– Lookup_value: Giá trị tìm kiếm
– Table_array: Vùng tìm kiếm có dòng đầu tiên chứa
giá trị tìm kiếm
– Row_index_num: Chỉ số dòng tham chiếu kết qủa
– Range_lookup: Quy định cách tìm kiếm và là một
giá trị logic. Mặc định hoặc true/1 là tìm kiếm tương
đối
12/26/2015 13
Nhóm hàm tìm kiếm

12/26/2015 14
Nhóm hàm tìm kiếm

•Hàm Match:Trả về giá trị là vị trí trong mảng


– Match(lookup_value, lookup_array, match_type)
– Lookup_value: Giá trị tìm kiếm
– Lookup_array: Khối dữ liệu dùng để tìm kiếm
– Match_type: Cách tìm kiếm và có thể nhận:
– = 1: TK tương đối, dãy phải sắp xếp tăng; mặc định
– = 0: Tìm kiếm chính xác;
– = -1: Dãy phải được sắp xếp giảm.

12/26/2015 15
Nhóm hàm tìm kiếm

12/26/2015 16
Nhóm hàm tìm kiếm
•Hàm Index:
INDEX(Array, Row_num, column_num)
INDEX(reference, row_num, column_num, area_num)
– Array: Gồm một mảng/ma trận dùng để tìm kiếm
giá trị
– Row_num: Số thứ tự hàng trong mảng
– Column_num: Số thứ tự cột trong mảng
– Công dụng: Hàm trả về giá trị ô trong mảng tìm
kiếm

12/26/2015 17
Nhóm hàm tìm kiếm

12/26/2015 18
3.13.2 Nhóm hàm thống kê
Công thức Công dụng
SUM(number1, ...,
Tính tổng n số.
numbern)
SUMPRODUCT(Array1,A Tính tổng các tích tương ứng
rray2,…) của các số trong dãy
Average(Number1, …, Trả về GT trung bình cộng của
Numbern) các số
Trả về kết quả là giá trị trung
AVERAGEA(value1,
bình cộng của các số và giá trị
value2,...., valuen)
logic trong phạm vi

12/26/2015 19
3.13.2 Nhóm hàm thống kê
Công thức Công dụng
Count(Value1, Value2,…) Đếm số các giá trị số
COUNTA(value1,value2...
Đếm số các giá trị không trống
..)
Đếm các dữ liệu trong một
Countif(Range, Criteria)
phạm vi thỏa mãn điều kiện
MIN/MAX(number1, ...,
Trả về giá trị nhỏ/lớn nhất
numbern)
LARGE/SMALL(array,k) Trả về giá trị lớn/nhỏ thứ k

RANK(number,ref,order) Trả về thứ hạng của một số

12/26/2015 20
3.13.2 Nhóm hàm thống kê
Công thức Công dụng
Đếm dữ liệu trong Vùng dl thỏa
Countif(Vùng dl, Đk)
mãn Đk.
Đếm dữ liệu thỏa mãn đồng
CountifS(Vùng dl 1, Đk1,
thời các đk i đối với từng
Vùng dl 2, Đk2,…)
Vùngdl i.
Tính tổng dữ liệu trong Vùng
SumIf(Vùng dl, Đk, Vùng tính tổng với các phần tử
tính tổng) tương ứng ở Vùng dl thỏa mãn
Đk.
SumIfS(Vùng tính tổng, Tính tổng dữ liệu trong Vùng
Vùng dl 1, Đk1, Vùng dl tính tổng với các phần tử
2, Đk2,…) tương ứng ở Vùng dl I thỏa
mãn Đk i.
12/26/2015 21
A B C D E F G
ST Số
Ngày xuất Mã HĐ Tên KH Tên hàng Thành tiền
1 T lượng

2 1 2/10/2010 MTK1041 Khách hàng 1 Máy tính 75 547500000


3 2 10/2/2010 MIK2012 Khách hàng 2 Máy in 5 29500000
4 3 10/2/2010 MIK1032 Khách hàng 1 Máy in 7 41300000

5 4 2/5/2010 MCK3031 Khách hàng 3 Máy chiếu 6 90000000

6 5 2/16/2010 MTK1053 Khách hàng 1 Máy tính 15 109500000

7 6 3/18/2010 MTK2023 Khách hàng 2 Máy tính 8 60000000

8 7 3/21/2010 MCK2111 Khách hàng 2 Máy chiếu 11 157300000

9 8 3/21/2010 MTK2152 Khách hàng 2 Máy tính 5 37500000

10 9 3/21/2010 MTK1053 Khách hàng 1 Máy tính 14 102200000


11 10 2/19/2010 MIK3173 Khách hàng 3 Máy in 15 85500000
12/26/2015 22
• Vùng dl i là một vùng dữ liệu, thường là
các giá trị trong một trường. Excel sẽ lấy
từng giá trị trong Vùng dl này để so sánh
với điều kiện ở Đk. Do đó Đk là một biểu
thức so sánh khuyết một vế và được đặt
trong cặp dấu “”.
• Ví dụ Đếm số hóa đơn có số lượng >=15?
thì: TL: Số hóa đơn có số lượng >=15 là:
B20= COUNTIF(F2:F11, “>=15”)
• Số hóa đơn có số lượng =15 là:
B20= COUNTIF(F2:F11, “=15”)
12/26/2015 23
• Đếm số hóa đơn có số lượng lớn hơn số
lượng trung bình:
B20= COUNTIF(F2:F11, “>” &
AVERAGE(F2:F11))
Ở đây AVERAGE(F2:F11)=16.1 nên câu
trên trở thành:
B20= COUNTIF(F2:F11, “>16.1”)
Chú ý & là phép toán cộng xâu.

12/26/2015 24
• Tính số lượng máy tính bán được:
• =sumif(E2:E11,”Máy tính”, F2:F11)
• =SUMIF(C2:C11, “MT*”, F2:F11)
• Tính tổng tiền máy tính bán trong tháng
2/2012:
• =SUMIFS(G2:G11,E2:E11,”Máy tính”,
B2:B11,”>=“ & DATE(2012,2,1),B2:B11,”<“
& DATE(2012,3,1))
• Tính tổng tiền máy tính bán trong tháng 2?
Thì sumifs thông thường không làm được.

12/26/2015 25
• Chú ý khi tạo Các Đk hoặc các Đk i:
1.Với trường ký tự được sử dụng các dấu *
để thay thế cho nhiều ký tự; dấu ? để thay
thế cho một ký tự.
2.Nếu là so sánh bằng thì có thể bỏ dấu =
3.Nếu là so sánh bằng và là số thì không
cần cặp dấu “” và dấu =
VD:Số hóa đơn có số lượng =15 là:
• B20= COUNTIF(F2:F11, “=15”)
• B20= COUNTIF(F2:F11, 15)

12/26/2015 26
Sử dụng hàm D để thống kê dữ liệu:
Cấu trúc các hàm D đều có dạng:
D_(Vùng CSDL, trường, Vùng ĐK)
DAVERAGE: Tính trung bình
DMAX/DMIN: Tính giá trị lớn/nhỏ nhất
DCOUNT: Đếm trên trường số
DCOUNTA: Đếm trên trường có giá trị khác
trống.
DSUM: Tính tổng
DGET: Trả lại giá trị

12/26/2015 27
A B C D E F G
ST Số
Ngày xuất Mã HĐ Tên KH Tên hàng Thành tiền
1 T lượng

2 1 2/10/2010 MTK1041 Khách hàng 1 Máy tính 75 547500000


3 2 10/2/2010 MIK2012 Khách hàng 2 Máy in 5 29500000
4 3 10/2/2010 MIK1032 Khách hàng 1 Máy in 7 41300000

5 4 2/5/2010 MCK3031 Khách hàng 3 Máy chiếu 6 90000000

6 5 2/16/2010 MTK1053 Khách hàng 1 Máy tính 15 109500000

7 6 3/18/2010 MTK2023 Khách hàng 2 Máy tính 8 60000000

8 7 3/21/2010 MCK2111 Khách hàng 2 Máy chiếu 11 157300000

9 8 3/21/2010 MTK2152 Khách hàng 2 Máy tính 5 37500000

10 9 3/21/2010 MTK1053 Khách hàng 1 Máy tính 14 102200000


11 10 2/19/2010 MIK3173 Khách hàng 3 Máy in 15 85500000
12/26/2015 28
Cách tạo vùng đk trong Hàm D:
•Dòng 1: Ghi tên các trường tham gia điều kiện;
•Dòng 2 trở đi ghi điều kiện
1.– Nếu tên trường trùng với tên trường trong
CSDL, phần đk này giống như cách tạo điều
kiện của sumifs nhưng bỏ cặp dấu “”.
2.Nếu tên trường khác với tên trường trong
CSDL, phần điều kiện này là một hàm logic trả
lại giá trị True/false. Và viết công thức cho ô dữ
liệu đầu tiên của những trường muốn tham gia
điều kiện.
12/26/2015 29
• Khác với hàm Sumifs là phạm vi vùng dữ liệu
được chỉ ra rõ ràng, ở đây, Vùng đk trong
hàm D dùng tên trường để so sánh.
• Ví dụ Đếm số hóa đơn có số lượng >=15?
• Cách 1: B20= COUNTIF(F2:F11, “>=15”)
Cách 2: Tạo vùng điều kiện:
A
25 Số lượng
26 >=15

B26= DCOUNTA(A1:G11,D1,A25:A26)

12/26/2015 30
• Tính tổng số lượng bán Máy tính và Máy in:
Cách 1: =sumif(E2:E11,”Máy tính”, F2:F11) +
sumif(E2:E11,”Máy in”, F2:F11)
Cách 2: Tạo vùng điều kiện
D
30 Tên hàng
31 Máy tính
32 Máy in

D33=DSUM(A1:G11,F1,D30:D32)

12/26/2015 31
• Khác với hàm Sumifs là phạm vi vùng dữ liệu
được chỉ ra rõ ràng, ở đây, Vùng đk trong
hàm D dùng tên trường để so sánh.
• Tính số lượng máy tính bán được:
Cách 1: =sumif(E2:E11,”Máy tính”, F2:F11)
Cách 2: Tạo vùng điều kiện(2 cách như nhau):
A B
30 Mã HĐ 30 Tên hàng
31 MT* 31 Máy tính

A32=DSUM(A1:G11,F1,A30:A31)
Hoặc B32=DSUM(A1:G11,F1,B30:B31)
12/26/2015 32
• Tính tổng tiền máy tính bán trong tháng
2/2012:
Cách 1:
=SUMIFS(G2:G11,E2:E11,”Máy tính”,
B2:B11,”>” & Date(2012,2,1),B2:B11,”<“ &
DATE(2012,3,1))

12/26/2015 33
• Tính tổng tiền máy tính bán trong tháng
2/2012:
Cách 2: Tạo vùng điều kiện:
A B
33 Tên hàng Tháng 2/2012
34 Máy tính =and(month(b2)=2,year(b2)=2012)
B30=DSUM(A1:G11,G1,A33:B34)
Chú ý: Nên dùng cách 2 hoặc 3.

12/26/2015 34
• Tính tổng tiền máy tính bán trong tháng 2:
C1: SUMIFS thông thường không làm được.
Cách 2: Tạo vùng điều kiện:
A B
36 Tên hàng ĐK
37 Máy tính =MONTH(B2)=2

A38=DSUM(A1:G11,G1,A36:B37)
C
Cách 3: Tạo vùng điều kiện: 36 ĐK 1
37

C37=AND(E2=“Máy tính”, MONTH(B2)=2)


C38=DSUM(A1:G11,G1,C36:C37)
12/26/2015 35
• Chú ý đối với phần trả về (tên/ mã…)
1.Kiểu 1: điều kiện dùng 1 trường để biểu
diễn thì dùng hàm index và match
Ví dụ: Trả lại một Mã HĐ có thành tiền lớn
(nhỏ) thứ 2.
=index(C2:C11,MATCH(LARGE(G2:G11,2),G
2:G11,0),1)
=index(C2:C11,MATCH(LARGE(G2:G11,2),G
2:G11,0))

12/26/2015 36
• Chú ý đối với phần trả về (tên/ mã…)
2.Kiểu 2: Điều kiện không thể biểu diễn trên
một trường dữ liệu thì dùng DGET.
Ví dụ: Trả lại một Mã HĐ bán Máy tính có
thành tiền lớn (nhỏ) nhất.
A B
40 Tên hàng Thành tiền
41 Máy tính =DMax(A1:G11,G1,A40:A41)

A42 = DGET(A1:G11,C1,A40:B41)

12/26/2015 37
• Chú ý đối với phần trả về (tên/ mã…)
2.Kiểu 2: Điều kiện không thể biểu diễn trên
một trường dữ liệu thì dùng DGET.
Trả lại một Mã HĐ bán Máy tính của Khách
hàng 1 có thành tiền nhỏ nhất.
A B C
44 Tên hàng Khách hàng Thành tiền
45 Máy tính Khách hàng 1 =DMIN(A1:G11,G1,A44:B45)

A42 = DGET(A1:G11,C1,A44:C45)

12/26/2015 38
Thanks for reading!
Mọi ý kiến góp ý xin gửi về:
Ms Liễu
Bộ môn Tin học cơ sở - Học viện Tài chính.
Email: lieuhtt@hvtc.edu.vn

12/26/2015 39

You might also like