You are on page 1of 52

Cơ bản về công thức

Công thức (formula) Tham khảo đến ô (cell ref


=<bieu_thuc_tinh_toan> Dạng tương đối
Dạng tuyệt đối
Dạng kết hợp
<bieu_thuc_tinh_toan>:
 Các toán tử (operators)
 Các toán hạng:
- dữ liệu hằng (constants) Tham khảo đến vùng (reg
- tham khảo đến ô, vùng nhiều ô (references)
- kết quả trả về của hàm (functions) Dạng tương đối
Dạng tuyệt đối

Nguyên tắc lập công thức: Cú pháp tham khảo tổng q


[<ten_workbook>]<te
 Dữ liệu chỉ xuất hiện ở một vị trí trên bảng tính
 không dùng dữ liệu trực tiếp trong công thức
 sử dụng các tham khảo dữ liệu  ten_workbook: dùng khi tham
 Công thức của cùng một thao tác tính toán chỉ lập một lần  ten_worksheet: dùng khi tham
 sao chép công thức  vi_tri_tham_khao: tham khảo

Minh họa:
X 2

A B AX + B (A + B)X + B
4 5 13 23
6 4 16 24
3 4 10 18

Thử nghiệm:
Khi sao chép công thức sang vị trí khác:
 Thay đổi dữ liệu A, B, X, quan sá
 Vị trí tham khảo tuyệt đối không đổi
 Chọn các ô công thức, nhấn F2 đ
 Vị trí tham khảo tương đối di chuyển với cùng độ dời như ô công thức
 Nhận xét về sự thay đổi của các t
( vị trí tương đối giữa ô tham khảo và ô công thức không đổi)
 Nhận xét về tiêu đề của cột cuối
ông thức
ham khảo đến ô (cell reference)
Dạng tương đối <ten_cot><ten_dong> A1
Dạng tuyệt đối $<ten_cot>$<ten_dong> $A$1
Dạng kết hợp $<ten_cot><ten_dong> $A1
<ten_cot>$<ten_dong> A$1

ham khảo đến vùng (region reference)


<ten_cot><ten_dong>:<ten_cot><ten_dong>
Dạng tương đối $<ten_cot>$<ten_dong>:$<ten_cot>$<ten_dong>
Dạng tuyệt đối

ú pháp tham khảo tổng quát


[<ten_workbook>]<ten_worksheet>!<vi_tri_tham_khao>

 ten_workbook: dùng khi tham khảo đến workbook khác


 ten_worksheet: dùng khi tham khảo đến worksheet khác
 vi_tri_tham_khao: tham khảo đến ô/vùng dữ liệu (reference, name)

ô lập công thức


ô sao chép công thức

hử nghiệm:
Thay đổi dữ liệu A, B, X, quan sát sự thay đổi ở các ô công thức
Chọn các ô công thức, nhấn F2 để xem nội dung công thức
Nhận xét về sự thay đổi của các tham khảo tương đối
Nhận xét về tiêu đề của cột cuối (đúng/sai)
Các phép toán cơ b
Phép toán số học
A B A+B A-B A*B A/B A^B -A
5 4 9 1 20 1.25 625 -5

Phép toán so sánh


A B A>B A >= B A<B A <= B A <> B A=B
5 6 0 0 1 1 1 FALSE

Lưu ý:
Thứ tự thực hiện các phép toán trong một biểu thức tuân theo độ ưu tiên và luật kết hợp của
các phép toán

A B C A+B*C (A + B) * C A/B*C A / (B * C) A+B^C


3 4 5 23 35 3.75 0.15 1027

Thử nghiệm:
 Thay đổi dữ liệu A, B, C, quan sát sự thay đổi ở các ô công thức
 Nhận xét về thứ tự thực hiện các phép toán ở các công thức có nhiều phép toán
 Sử dụng cặp dấu () để thay đổi thứ tự thực hiện của các phép toán
Các phép toán cơ bản
Phép toán nối chuỗi
A% A B A&B
0.05 Lệnh Hồ Xung Lệnh HồXung

Phép toán so sánh chuỗi


A B A=B
Lệnh Hồ lệnh hồ 1

Lưu ý:
 Có 6 phép toán so sánh chuỗi: <, <=, >, >=, =, <>
 So sánh dựa trên mã số của các ký tự
 Không phân biệt chữ thường/chữ hoa (non case-sensitive)

Độ ưu tiên của các phép toán


A + B% Phép toán Độ ưu tiên
3.04 : Cao
<space>
,
-
%
^
* /
+ -
&
= <> < <= > >= Thấp
A&""&B
Lệnh Hồ Xung

A<B
FALSE

nsitive)
Sử dụng hà
Chọn hàm muốn sử dụng

 Chọn theo nhóm chức năng (chọn hàm sử dụng gần đây trong nhóm "Recently Used")
 Duyệt tìm trên dánh sách liệt kê tên hàm, xem thông tin mô tả chức năng của hàm
 Chọn hàm phù hợp

Các hàm Các nhóm hàm


sử dụng gần đây (phân theo chức năng)

Nhập thông số cho hàm

Có thể tận dụng hộp thoại nhập


thông số để làm quen với các
hàm

 Tìm hiểu công dụng của hàm


 Tìm hiểu ý nghĩa của các thông
số
 Tính toán thử nghiệm

Nhập hàm trong công thức (dùng bàn phím)


 Trong ô nhập công thức, nhập tên hàm muốn sử dụng (đầu công thức nhập dấu =)
 Nhập dấu ( ngay sau tên hàm
-hoặc-
 Nhấp đúp mouse trên tên hàm trong danh sách liệt kê  Excel điền tên hàm và dấu (
 Nhập lần lượt các thông số của hàm theo dòng nhắc của Excel
 Nhập dấu ngăn cách (dấu ,) khi hoàn tất mô tả một thông số
 Nhập dấu ) khi hoàn tất mô tả thông số cuối của hàm  hoàn tất mô tả hàm
 Trong ô nhập công thức, nhập tên hàm muốn sử dụng (đầu công thức nhập dấu =)
 Nhập dấu ( ngay sau tên hàm
-hoặc-
 Nhấp đúp mouse trên tên hàm trong danh sách liệt kê  Excel điền tên hàm và dấu (
 Nhập lần lượt các thông số của hàm theo dòng nhắc của Excel
 Nhập dấu ngăn cách (dấu ,) khi hoàn tất mô tả một thông số
 Nhập dấu ) khi hoàn tất mô tả thông số cuối của hàm  hoàn tất mô tả hàm

=MID( (dòng nhắc)

MID(text, start_num, num_chars)


thông số chờ nhập dấu ngăn cách các thông số
được in đậm
Sử dụng hàm
Tìm kiếm hàm (dùng công cụ trợ giúp)

)  Chọn "Insert Function" (hoặc nhấn nút fx ở đầu thanh công thức)
 Nhập mô tả ngắn gọn về thao tác tính toán cần thực hiện. Chọn "Go"
 Lựa chọn hàm cần dùng trong danh sách các hàm

Mô tả ngắn về hàm

Bài tập (quan trọng):


Có thể tận dụng hộp thoại nhập Nghĩ về một bài toán (nhỏ) muốn giải quyết, thực hiện các bước:
thông số để làm quen với các
hàm  Tìm kiếm hàm liên quan dựa vào các nhóm chức năng
 Tìm kiếm hàm bằng công cụ trợ giúp
 Tìm hiểu công dụng của hàm  Sử dụng hộp thoại nhập thông số để tìm hiểu về hàm tìm được
 Tìm hiểu ý nghĩa của các thông
số
 Tính toán thử nghiệm

Mã báo lỗi
#DIV/0! Lỗi chia cho 0
#VALUE! Lỗi tham khảo dữ liệu không tồn tại
u( #N/A Lỗi do công thức không có kết quả hợp lệ (not available)
u(
#NAME? Lỗi do Excel không nhận biết được tên đang dùng
#NULL! Lỗi tham khảo đến phạm vi rỗng
#NUM! Lỗi giá trị số không hợp lệ
#REF! Lỗi tham khảo không hợp lệ
#VALUE! Lỗi khi điền kết quả vào các ô liền kề
#VALUE! Lỗi do sử dụng loại dữ liệu không được hỗ trợ trong phiên bản
#VALUE! Lỗi thông số không phù hợp
############ Lỗi do giá trị dữ liệu vượt ngoài giới hạn biểu diễn của Excel
Lỗi do độ rộng cột không đủ hiển thị nội dung dữ liệu
g thức)
Chọn "Go"

ước:

được

lệ (not available)
hỗ trợ trong phiên bản

n biểu diễn của Excel


ội dung dữ liệu
Các hàm thao tác trên chuỗi
Hàm trích chuỗi Minh họa
LEFT(text[, num_chars]) MID(text, start_num, num_chars)
RIGHT(text[, num_chars]) LEFT
(vị trí của ký tự đầu tiên trong chuỗi MID
(mặc định num_chars = 1) là 1) RIGHT

Trích chuỗi con dài num_chars ký tự từ đầu trái (LEFT), đầu phải (RIGHT),
hoặc từ vị trí start_num (MID) của chuỗi nguồn text Thử thay đổi các giá trị thông số, quan

Hàm tìm kiếm Minh họa

FIND(find_text, within_text[, start_num])case-sensitive FIND


SEARCH(find_text, within_text[, start_num])
SEARCH
(mặc định start_num = 1)

Tìm vị trí xuất hiện của chuỗi con find_text trong chuỗi within_text Tìm hiểu sự khác biệt giữa hai hàm FIN
Vị trí bắt đầu tìm là start_num

Hàm chuyển đổi Minh họa

TEXT
TEXT(number, format_text)
0: luôn điền số,
#: điền số nếu có (xem thêm thông tin trợ giúp)

Chuyển giá trị số number về dạng biểu diễn bằng chuỗi theo định dạng Thử nghiệm với các chuỗi định dạng (fo
chỉ định format_text
Minh họa
Minh họa

DOLLAR(number[, decimals]) DOLLAR


(mặc định số chữ số lẻ decimals = 2)

Chuyển giá trị số number về dạng biểu diễn bằng chuỗi theo định dạng
tiền tệ, số chữ số sau dấu chấm thập phân (số chữ số lẻ) là decimals

Minh họa

FIXED(number[, decimals] [, no_commas])


(mặc định số chữ số lẻ decimals = 2, no_commas = FALSE)
FIXED(number[, decimals] [, no_commas]) FIXED
(mặc định số chữ số lẻ decimals = 2, no_commas = FALSE)

Chuyển giá trị số number về dạng biểu diễn bằng chuỗi, số chữ số sau
dấu chấm thập phân (số chữ số lẻ) là decimals, mặc định có hiển thị dấu
phân cách ngàn (commas)

Minh họa
VALUE(text)
VALUE

Chuyển chuỗi các ký tự số text về giá trị số tương ứng

Minh họa

LOWER(text) LOWER
UPPER(text) UPPER
PROPER(text) PROPER

Chuyển đổi dạng chuỗi text (chữ thường, chữ hoa, chữ hoa đầu từ)

Các hàm khác Minh họa


EXACT(text1, text2) case-sensitive
EXACT

Kiểm tra hai chuỗi text1 và text2 là giống nhau

Minh họa

TRIM(text)
CLEAN(text)

TRIM
TRIM Xóa các khoảng trắng thừa, các ký hiệu xuống dòng trong CLEAN
chuỗi text

CLEAN Xóa các ký hiệu xuống dòng trong chuỗi text

Minh họa

CONCAT(text1[, text2, ...]) CONCAT


REPT(text, number_times) TEXTJOIN
TEXTJOIN(delimeter, ignore_empty, text1[, text2, ...]) REPT

REPT
CONCAT nối liên tiếp các chuổi text1, text2, ...
REPT nối lặp lại chuỗi text với số lần lặp là number_times

TEXTJOIN nối các chuỗi text1, text2, ... có dấu ngăn cách delimiter
CONCAT nối liên tiếp các chuổi text1, text2, ...

REPT nối lặp lại chuỗi text với số lần lặp là number_times TEXTJOIN
TEXTJOIN nối các chuỗi text1, text2, ... có dấu ngăn cách delimiter
giữa các chuỗi (có thể tùy chọn bỏ qua hay giữ các chuỗi trống trong Chuỗi trống text2 được giữ
chuỗi kết quả) trong kết quả do ignore_empty
= FALSE

REPLACE
REPLACE(old_text, start_num, num_chars, new_text)
SUBSTITUTE(text, old_text, new_text[, instance_num])

SUBSTITUTE
SUBSTITUTE
REPLACEthay thế phần chuỗi dài num_chars bắt đầu từ vị trí
start_num trong chuỗi old_text bởi chuỗi new_text

SUBSTITUTE thay thế chuỗi con old_text tìm thấy ở vị trí thứ
instance_num trong chuỗi text bởi chuỗi new_text Minh họa dùng SUBSTITUTE và LEN để đ
(mặc định thay thế tất cả vị trí tìm thấy)
Chuỗi:
Số từ:

Bài tập:
Tìm hiểu và tạo các ví dụ minh họa cho các hàm TEXTAFTER,
TEXTBEFORE, TEXTSPLIT
Bài tập (quan trọng):
Liên hệ tình huống tính toán thực tế có sử dụng các hàm đã học
tác trên chuỗi
Thông số

Len text Lenh Ho Xung


nh num chars 3
ung start_num 3

ử thay đổi các giá trị thông số, quan sát sự thay đổi ở các ô công thức

Thông số

14 find_text Xung
14 whithin_text Lenh Ho Xung Xung
start_num 10

m hiểu sự khác biệt giữa hai hàm FIND và SEARCH

Thông số

123.00 number 123


format_text #,##0.00

ử nghiệm với các chuỗi định dạng (format_text) khác


Thông số
Thông số

$123.00 number 123


decimals 2

Thông số
12,345.7 number 12345.67
decimals 1

Thông số

1234.56 text 1,234.56

Thông số

lenh ho xung text LeNH ho XuNG


LENH HO XUNG
Lenh Ho Xung

Thông số

FALSE text1 Lenh Ho Xung


text2 Lenh ho Xung

Thông số

Lenh Ho Xung la
text dai de tu
phai Hoa Son
dai de tu
phai Hoa Son
Lenh Ho Xung la dai de tu phai Hoa Son

Thông số

Lenh HoXung text1 Lenh Ho


Lenh Ho Xung text2 Xung
XungXungXung delimiter
number_times 3
Xung...... leader_char .
max_length 10

Mot, , Ba text1 Mot


text2
huỗi trống text2 được giữ text3 Ba
ong kết quả do ignore_empty delimiter ,
FALSE
ignore_empty FALSE

Nhac Sieu Quan old_text Nhac Bat Quan


start_num 6
num_chars 3
new_text Sieu
Hi ban, chao hi text Hi ban, hi hi
Hi ban, chao chao old_text hi
new_text chao
instance_num 1

nh họa dùng SUBSTITUTE và LEN để đếm số từ trong một câu

Lệnh Hồ Xung là đại đệ tử phái Hoa Sơn


10
Các hàm th
DATE & TIME

DATE(year, month, day) trả về dữ liệu dạng Date tương ứng


 year  [1900, 9999], month  [1, 12], day  [1, 31]
 year  [0, 1989]  cộng với 1900, year < 0 hay year > 9999  báo lỗi #NUM!
 month < 1 hay month> 12  tính quy đổi qua các năm kế cận
 day < 1 hay day > ngày cuối tháng  tính quy đổi qua các tháng kế cận
DATEVALUE(date_text) trả về số nguyên (serial number) biểu diễn ngày tương ứng với date
date_text: dữ liệu ngày ở dạng chuỗi ký tự

DAY(date_value) trả về thành phần ngày, tháng, năm tương ứng với date_value
MONTH(date_value) date_value: dữ liệu ngày (dạng Date hoặc số nguyên)
YEAR(date_value)
TODAY() trả về ngày hiện tại

WEEKDAY(serial_number, return_type)
trả về thứ tự trong tuần của ngày tương ứng với serial_number
 return_type = 1: Sunday = 1 ... Saturday = 7
 return_type = 2: Monday = 1 ... Sunday = 7
 return_type = 3: Monday = 0 ... Sunday = 6
EOMONTH(start_date, months) trả về ngày cuối của tháng cách start_date một khoảng months
(kết quả trả về ở dạng serial number)

DAYS(end_date, start_date) trả về số ngày giữa end_date và start_date


NETWORKDAYS(start_date, end_date, [holidays])
trả về số ngày làm việc giữa start_date và end_date, không kể các ngày lễ holidays

Dữ liệu ngày (Date), giờ (Time) trong Excel


 Dạng lưu trữ dữ liệu ngày: số nguyên trình tự (sequential serial number)
 Giới hạn biểu diễn ngày: từ 01/01/1900 đến 12/31/9999 (tương ứng với các số nguyên từ 1 đến 2,958,465)
Excel for Windows mặc định sử dụng hệ 1900
 Dạng lưu trữ dữ liệu giờ: số thực  [0, 1.0) (giờ như một phần lẻ của ngày)
Dữ liệu ngày (Date), giờ (Time) trong Excel
 Dạng lưu trữ dữ liệu ngày: số nguyên trình tự (sequential serial number)
 Giới hạn biểu diễn ngày: từ 01/01/1900 đến 12/31/9999 (tương ứng với các số nguyên từ 1 đến 2,958,465)
Excel for Windows mặc định sử dụng hệ 1900
 Dạng lưu trữ dữ liệu giờ: số thực  [0, 1.0) (giờ như một phần lẻ của ngày)

TIME(hour, minute, second) trả về dữ liệu dạng Time tương ứng


 hour, minute, second  [0, 32767]
 hour > 23  lấy phần dư của phép chia hour/24
 minute < 0 hay minute > 59  tính quy đổi qua các giờ kế cận
 second < 0 hay second> 59  tính quy đổi qua các phút kế cận
TIMEVALUE(time_text) trả về dữ liệu biểu diễn giờ tương ứng với time_text
time_text: dữ liệu giờ ở dạng chuỗi ký tự

HOUR(time_value) trả về thành phần giờ, phút, giây tương ứng với time_value
MINUTE(time_value) time_value: dữ liệu giờ (dạng Time hoặc số)
SECOND(time_value)
NOW() trả về ngày, giờ hiện tại
Các hàm thao tác trên dữ liệu ngày, giờ
Minh họa

DATE
DATEVALUE

Chọn ô N5, đổi dạng hiển thị dữ liệu


thành Date để thấy kết quả ở dạng
9  báo lỗi #NUM! ngày-tháng-năm
cận
háng kế cận
ngày tương ứng với date_text DAY
MONTH
YEAR
ới date_value
guyên)
TODAY

WEEKDAY

ber

EOMONTH

Chọn ô N26, đổi dạng hiển thị dữ liệu


ate một khoảng months tháng thành Date

DAYS
ể các ngày lễ holidays NETWORKDAYS

Excel for Mac, phiên bản trước 2011, biểu diễn dữ


Có thể chọn sử dụng hệ 1904 để tương thích với cá

yên từ 1 đến 2,958,465) File > Options


Advanced
yên từ 1 đến 2,958,465)

Minh họa

TIME
TIMEVALUE

cận Chọn ô N51, đổi dạng hiển thị dữ liệu


thành Time để thấy kết quả ở dạng giờ-
ế cận phút-giây

time_text

HOUR
ới time_value
MINUTE
SECOND

NOW
Thông số

11/13/2021 year 2021


44311 month 11
day 13
date_text 4/25/2021
ô N5, đổi dạng hiển thị dữ liệu
Date để thấy kết quả ở dạng
tháng-năm Sử dụng ký tự ' để nhập dữ liệu
ngày dạng text

28 date_value 3/28/2023
3
2023

4/10/2024

4 serial_number 04/10/24
date_value 4/10/2024
return_type 1

45412 start_date 4/10/2024


months 0

ô N26, đổi dạng hiển thị dữ liệu


h Date

10 end_date 4/10/2024
8 start_date 3/31/2024
holidays 7/5/2023
7/12/2023

or Mac, phiên bản trước 2011, biểu diễn dữ liệu ngày tháng theo hệ 1904
chọn sử dụng hệ 1904 để tương thích với các Mac files phiên bản cũ
Thông số

1:26 PM hour 13
0.0593171296296295 minute 25
second 63
time_text 25:25:25
ô N51, đổi dạng hiển thị dữ liệu
Time để thấy kết quả ở dạng giờ-
giây Sử dụng ký tự ' để nhập dữ liệu
giờ dạng text

13 time_value 13:25:30
25
30

4/10/2024 7:37
ABS, CEILING, FLOOR, ROUND, EVEN, ODD
number ABS (number) CEILING(number, significance) ROUND(number, num_digits)
significance = 2 num_digits = 1
125.5547 125.5547 126 125.6
46.4364 46.4364 48 46.4
-46.4367 46.4367 -46 -46.4
-125.5544 125.5544 -124 -125.6
FLOOR(number, significance) ROUNDDOWN ROUNDUP
significance = 1
125 125.5 125.6
46 46.4 46.5
-47 -46.4 -46.5
-126 -125.5 -125.6

 Chọn xem nội dung các ô công thức để biết cách sử dụng các hàm
 Thay đổi giá trị của các thông số, quan sát sự thay đổi của kết quả tính toán
 Liên hệ tình huống tính toán thực tế có sử dụng các hàm (quan trọng)

MMULT, SUMPRODUCT
array_1 1 2 3 4
Nhân hai ma trận (array hai chiều)
số cột của array_1 = số dòng của array_2 array_2
1
2
3
MMULT(array_1, array_2) 30 4

array_1 1 2 3 4
Tổng các tích của từng cặp phần tử

array_2 1 2 3 4

array_1, array_2 cùng là dòng hoặc cùng là cột


SUMPRODUCT(array_1, array_2) 30

Tìm hiểu các hàm:


 INT, MOD, QUOTIENT, MROUND, GCD, LCM
 POWER, EXP, FACT, COMBIN, SUMSQ
Các hàm toán học

EVEN(number)

126
48 ABS(number)
-48 Trả về trị tuyệt đối của number
-126
CEILING(number, significance), FLOOR(number, significance)
ODD(number)
CEILING trả về số nguyên gần nhất, lớn hơn number đồng thời chia hết ch
FLOOR trả về số nguyên gần nhất, nhỏ hơn number đồng thời chia hết cho s
127
ROUND(number, num_digits)
47
Trả về trị làm tròn của number, số chữ số làm tròn là num_digits (num_digit
-47
ROUNDDOWN(number, num_digits), ROUNDUP(number, num_digits)
ROUNDDOWN trả về trị làm tròn của number theo hướng về gần gốc 0 (z
-127
ROUNDUP trả về trị làm tròn của number theo hướng ra xa gốc 0 (zero)
EVEN(number), ODD(number)
EVEN trả về trị làm tròn lên đến số nguyên chẵn gần nhất so với number
ODD trả về trị làm tròn lên đến số nguyên lẻ gần nhất so với number

Minh họa dùng MMULT để tính điểm trung bình theo số tín chỉ môn học

Sinh viên Toán Lý Hóa Sinh


An 7.50 7.00 6.00 6.00
Bình 7.00 7.50 8.00 5.50
Chi 7.00 6.50 7.50 7.00

Minh họa dùng SUMPRODUCT để tính điểm tổng kết từ điểm thành phần theo tỷ lệ

TN DD GK CK
Sinh viên 10% 5% 35% 50%
An 7.50 7.00 6.00 5.00
Bình 7.00 7.50 8.00 7.00
Chi 7.00 6.50 7.50 6.50

Minh họa
INT, A B A/B INT(A/B)
MOD, 12 18 0.66666666667 0
QUOTIENT 18 12 1.5 1
nce)
er đồng thời chia hết cho significance
đồng thời chia hết cho significance
num_digits (num_digits có thể < 0, > 0 hoặc = 0)
r, num_digits)
o hướng về gần gốc 0 (zero) Up Down
ớng ra xa gốc 0 (zero) 0
Up Down
n nhất so với number
hất so với number

Điểm trung bình Môn học Số tín chỉ


6.71 Toán 4
7.04 Lý 4
6.96 Hóa 3
Sinh 3
Tổng: 14

ần theo tỷ lệ

Điểm tổng kết


100%
5.70
7.38
6.90

QUOTIENT(A,B) MOD(A,B)
0 12
1 6
Hàm kiểm tra điều kiện
IF

IF(condition[, value_if_true][, value_if_false])

Điều kiện Kết quả trả về khi điều kiện sai (mặc định  FALSE)
Kết quả trả về khi điều kiện đúng (mặc định  TRUE)

Điều kiện: Kết quả trả về:


 Dữ liệu luận lý  Dữ liệu
 Tham khảo dữ liệu  Tham khảo dữ liệu
 Kết quả của biểu thức so sánh, hàm luận lý  Kết quả của biểu thức, hàm

Minh họa bài toán sử dụng hàm IF


Quy định xếp loại
Doanh số >= đinh mức: Đạt
ngược lại: Không đạt

Định mức: 2,000

Họ & Tên Doanh số Loại


Lệnh Hồ Xung 3,000 Đạt
Nhậm Doanh Doanh 8,500 Đạt
Nhạc Linh San 4,300 Đạt
Phí Bân 1,900 Không đạt
Tả Lãnh Thiền 1,250 Không đạt

Đây chỉ là các ví dụ đơn giản về hàm IF (có dùng dữ liệu trực tiếp).
Thực tế không dùng dữ liệu trực tiếp trong công thức, dùng mô tả dữ liệu Không nên sử dụng hàm
và tham khảo đến dữ liệu. Với các bài toán có dạng

IFS
 Kiểm tra nhiều điều kiện  thay cho IF lồng nhau nhiều cấp
 Trả về mã báo lỗi #N/A khi không có điều kiện đúng
kết quả trả về khi logical_tes

IFS(logical_test_1, value_if_true_1, logical_test_2, value_if_true_2, ...)

kết quả trả về khi logical_test_1 đúng


kết quả trả về khi logical_test_1 đúng

IFERROR, IFNA

IFERROR(value, value_if_error)
IFNA(value, value_if_NA)
Kết quả trả về khi phát sinh lỗi sai
(có thể là dữ liệu, tham khảo đến dữ liệu, biểu thức tính toán)

Kết quả trả về khi biểu thức không phát sinh lỗi sai

Minh họa sử dụng hàm IFERROR

FIND 11 find_text Xung


IFERROR(FIND…) 11 whithin_text Lenh Xung Xung
start_num 7
(Thử nghiệm với các giá trị khác của thông số để thấy mã báo lỗi của Excel và kết quả xử lý báo lỗi khi dùng IFERROR)

AND, OR, XOR, NOT


A B C NOT(A) AND(A, B, C)
FALSE FALSE FALSE 1 0
FALSE FALSE TRUE TRUE FALSE
FALSE TRUE FALSE TRUE FALSE
FALSE TRUE TRUE TRUE FALSE
TRUE FALSE FALSE FALSE FALSE
TRUE FALSE TRUE FALSE FALSE
TRUE TRUE FALSE FALSE FALSE
TRUE TRUE TRUE FALSE TRUE

Lưu ý về độ ưu tiên của các phép toán luận lý khi biểu diển các biểu thức luận lý phức hợp

A B C Biểu thức luận lý


1 0 0 A or B and C
0 0 1 (A or B) and C
0 0 0 A or not(B) and C
(Xem nội dung các ô công thức, rút ra quy tắc biểu diễn
m kiểm tra điều kiện

u kiện sai (mặc định  FALSE)


TRUE)

trả về:
u
khảo dữ liệu
ả của biểu thức, hàm

Minh họa bài toán sử dụng hàm IF nhiều cấp

Mã khoa Tên Khoa Mã báo lỗi


HS Hoa Sơn Không có
MG Minh Giáo
TS Tung Sơn

MSSV Họ & Tên Mã kKhoa Tên khoa


HS001 Lệnh Hồ Xung HS Hoa Sơn Hoa Sơn
MG001 Nhậm Doanh Doanh MG Minh Giáo Minh Giáo
HS002 Nhạc Linh San HS Hoa Sơn Hoa Sơn
TS001 Phí Bân TS Tung Sơn Tung Sơn
OU001 Lê Thất Tín OU Không có Không có

Không nên sử dụng hàm IF lồng nhau quá nhiều cấp


Với các bài toán có dạng tra bảng (dò tìm) nên sử dụng các hàm lookup

kết quả trả về khi logical_test_2 đúng

if_true_2, ...)
ệu, biểu thức tính toán)

ERROR_CODE
NOT_FOUND

xử lý báo lỗi khi dùng IFERROR)

OR(A, B, C) XOR(A, B, C)
0 FALSE
TRUE TRUE
TRUE TRUE
TRUE FALSE
TRUE TRUE
TRUE FALSE
TRUE FALSE
TRUE TRUE

ức hợp

Công thức Excel FORMULATEXT


1 =OR(B77, AND(C77, D77))
0 =AND(OR(B78, C78), D78)
0 =OR(B79, AND(NOT(C79), D79))
ô công thức, rút ra quy tắc biểu diễn biểu thức luận lý trong Excel)
Các h
VLOOKUP

VLOOKUP(lookup_value, lookup_table, ref_column_index, lookup_type)

Trị dò Bảng dò Chỉ số của cột Cách thức dò


tham khảo

TRUE(1) FALSE(0)
Dò tìm theo phạm vi Dò tìm theo trị
(cách thức mặc định) Tìm trị = trị dò
#N/A: Dò tìm không có kết quả Tìm trị lớn nhất ≤ trị dò

Minh họa bài toán tra từ Việt ® Anh

Trị dò VLOOKUP(…, $M$18:$O$19, 3, 0)


Con mèo Cat
Con voi Elephant
Con cá Fish

 Chọn xem nội dung công thức để biết cách sử dụng hàm VLOOKUP
 Lý giải cách thức sử dụng các dạng tham khảo trong công thức

HLOOKUP

HLOOKUP(lookup_value, lookup_table, ref_row_index, lookup_type)

Trị dò Bảng dò Chỉ số của dòng Cách thức dò


tham khảo

TRUE(1) FALSE(0)
Dò tìm theo phạm vi Dò tìm theo trị
(cách thức mặc định) Tìm trị = trị dò
#N/A: Dò tìm không có kết quả Tìm trị lớn nhất ≤ trị dò

Minh họa bài toán xếp loại sinh viên


[0.0, 5.0)
Điểm HLOOKUP(…, $M$40:$P$41, 2, 1) Mức điểm 0.0
4.0 Yếu Loại Yếu
8.0 Giỏi
7.0 Khá
6.0 Trung bình
10.0 Giỏi

 Chọn xem nội dung công thức để biết cách sử dụng hàm HLOOKUP, lý giải cách thức sử dụng các dạng tham khảo trong c
 Giải thích ý nghĩa của thao tác dò tìm theo phạm vi, suy ra cách thức tổ chức bảng dò tìm

MATCH (trả về vị trí so khớp được)

MATCH(match_value, match_array[, match_type])

Trị so khớp Dãy Cách thức


so khớp so khớp
1 - Tìm trị lớn nhất,  trị so khớp. Dãy tăng d

0 - Tìm trị  trị so khớp. Dãy có thứ tự bất k

-1 - Tìm trị nhỏ nhất,  trị so khớp. Dãy giảm

Minh họa kết quả trả về của hàm MATCH với các cách thức so khớp khác nhau

Vị trí Giá trị


1 10
2 20
3 30
4 30
5 40

Chọn xem nội dung công thức để biết cách sử dụng các hàm. Giải thích về các kết quả có được
XLOOKUP

XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_m

Trị dò Cột/dòng dò Cột/dòng Cách thức dò


tham khảo
· return_array: có thể là nhiều cột/dòng liên tiếp

· result_if_not_found: kết quả trả về khi không tìm thấy


(mặc định: mã lỗi #N/A)

· match_mode: cách thức dò (mặc định = 0)

0: dò tìm chính xác theo trị

-1: chọn đúng theo trị nếu có, ngược lại  chọn phần tử nhỏ hơn kế tiếp nếu

· search_mode: thứ tự dò 1:
tìmchọn
(mặcđúng
địnhtheo
= 1trị- tìm
nếu từ
có, phần
ngượctử  chọn
lại đầu đếnphần
phầntử tử
lớncuối)
hơn kế tiếp nếu c

2: dò tìm có sử dụng wildcards (?, *)

XMATCH (trả về vị trí so khớp được)

XMATCH(match_value, match_array[, match_mode][, search_mode])

Trị so khớp Dãy Cách thức Thứ tự


so khớp so khớp so khớp

match_mode, search_mode: tương tự như đối với hàm XLOOKUP


Các hàm dò tìm
HÌNH 1
Dò theo chiều dọc
(vertical)

FALSE(0)
Dò tìm theo trị
Tìm trị = trị dò
Cột dò
(phải là cột 1)

1 2 3
Lưu ý: Bảng dò không chứa phần tiêu đê
Tiếng Việt Tiếng Pháp Tiếng Anh
Con cá Poisson Fish
Con mèo Chat Cat
Con voi Elephant Elephant

HÌNH 2

Dò theo chiều ngang


(horizontal)

FALSE(0)
ò tìm theo trị
ìm trị = trị dò
Bảng dò

Dò tìm theo phạm vi


[5.0, 6.5) [6.5, 8.0) [8.0, ¥)
5.0 6.5 8.0
Trung bình Khá Giỏi Tổ chức bảng: Các trị dò được sắp xếp theo thứ tự tăng dần
Cách thức dò: Chọn trị lớn nhất nhỏ hơn hay bằng trị dò tìm
TD: Các trị dò trong bảng: 0.0 5.0 6.5 8.0
Trị muốn dò tìm:5.5
Kết quả lựa chọn: 5.0

c dạng tham khảo trong công thức

INDEX (trả về trị tại vị trí chỉ định)

 trị so khớp. Dãy tăng dần (mặc định)

ớp. Dãy có thứ tự bất kỳ

 trị so khớp. Dãy giảm dần

Minh họa cách kết hợp hàm MATCH và INDEX để giải bài toán xác định tỷ

Trị so khớp 30 Ngày bán Tỷ lệ giảm giá


1/15/2022 15%
Cách khớp MATCH(..., $I$66:$I$70, …) 4/5/2022 0%
1 4 6/10/2022 20%
0 3 9/20/2022 0%
-1 #N/A 12/24/2022 10%

Bài toán có thể giải quyết đơn giản bằng hàm VLOOKUP với cách dò = 1

Minh họa cách dùng hàm INDEX, MATCH để giải bài toán tra từ Anh

Từ cần tra Từ tiếng Việt


Fish Con cá
Cat Con mèo
Bài toán không giải quyết được bằng hàm VLOOKUP do cột dò ("Tiếng Anh
đầu tiên của bảng dò (đứng bên phải cột tham khảo).
h_mode], [search_mode])

Minh họa cách dùng hàm XLOOKUP để giải bài toán tra từ Anh
Cách thức dò Thứ tự
dò tìm Từ cần tra Từ tiếng Việt
Cat Con mèo
Fish Con cá
Ghost KHONG_CO

Minh họa hàm XLOOKUP với các cách thức dò tìm khác nhau

search_mode 1

match_mode XLOOKUP
ử nhỏ hơn kế tiếp nếu có
0 2
1 #NAME?
nử tử
lớncuối)
hơn kế tiếp nếu có
-1 #NAME?

Thay đổi các thông số và lý giải về kết quả nhận được để hiểu rõ các cách t

Tạo minh họa để thử nghiệm hàm XMATCH.


Bảng dò

Cột tham khảo


(cột lấy kết quả)

đê

Dòng dò
(phải là dòng 1)

Dòng tham khảo


p xếp theo thứ tự tăng dần
nhỏ hơn hay bằng trị dò tìm
5.0 6.5 8.0

à INDEX để giải bài toán xác định tỷ lệ giảm giá


Quy định giảm giá
Thời điểm Tỷ lệ
Trong T1 1/1/2022 15%
Từ T2 đến T5 2/1/2022 0%
Trong T6 6/1/2022 20%
Từ T7 đên T11 7/1/2022 0%
Trong T12 12/1/2022 10%

ng hàm VLOOKUP với cách dò = 1

CH để giải bài toán tra từ Anh ® Việt

Tiếng Việt Tiếng Pháp Tiếng Anh


Con cá Poisson Fish
Con mèo Chat Cat
hàm VLOOKUP do cột dò ("Tiếng Anh") không phải là cột
cột tham khảo).

ể giải bài toán tra từ Anh ® Việt

Tiếng Việt Tiếng Pháp Tiếng Anh


Con cá Poisson Fish
Con mèo Chat Cat

Mã báo lỗi
KHONG_CO

thức dò tìm khác nhau

lookup_value 30

return_array lookup_array
1 24
2 30
3 38
4 23
5 40

quả nhận được để hiểu rõ các cách thức dò tìm.

ATCH.
Các hàm
SUM

SUM(num_1, num_2, ...)


SUM(sum_range_1, ...)

SUMIF, SUMIFS (tính tổng theo điều kiện)


SUMIF(range, criteria[, sum_range])

Vùng tính tổng (mặc định  range)


Vùng kiểm tra điều kiện Điều kiện muốn kiểm tra (chuỗi, số, biểu thức)

Điều kiện tính tổng

SUMIFS(sum_range, range_1, criteria_1 [, range_2, criteria_2, ...])


Điều kiện tính tổng 1 Điều kiện tính tổng 2
Vùng tính tổng

COUNT, COUNTA, COUNTBLANK

COUNT(range_1, ...) - đếm số ô chứa số


COUNTA(range_1, ...)- đếm số ô có nội dung (khác trống)
COUNTBLANK(range)- đếm số ô trống

COUNTIF, COUNTIFS

COUNTIF(range, criteria)

Vùng kiểm tra điều kiện Điều kiện muốn kiểm tra (chuỗi, số, biểu thức)
COUNTIF(range, criteria)

Vùng kiểm tra điều kiện Điều kiện muốn kiểm tra (chuỗi, số, biểu thức)

Điều kiện đếm

COUNTIFS(range_1, criteria_1 [, range_2, criteria_2, ...])


Điều kiện đếm 1 Điều kiện đếm 2

Các vùng kiểm tra điều kiện phải cùng kích thước (số dòng, số cột)

Các hàm tương tự

AVERAGE, AVERAGEIF, AVERAGEIFS


MAX, MAXA, MAXIFS
MIN, MINA, MINIFS
Các hàm tính toán tổng hợp
Công cụ å AutoSum - tạo nhanh công thức tính toán tổng hợp

 Tự động xác định phạm vi dữ liệu tính toán


 Có thể chọn hàm tính toán: SUM (mặc định), AVERAGE, COUNT NUMBER, MAX, MIN, ...

Alt + = Tạo nhanh công thức tính tổng (dùng hàm SUM)

Minh họa dùng SUMIF, SUMIFS để tính tổng doanh số của từng nhân viên

Nhân viên Doanh số


Lệnh Hồ Xung $ 1,600.00
Nhậm Doanh Doanh $ 2,500.00
ge) Nhạc Linh San $ 2,100.00
Nhậm Doanh Doanh $ 1,900.00
Nhạc Linh San $ 1,200.00
Lệnh Hồ Xung $ 1,100.00
Nhậm Doanh Doanh $ 1,500.00
SUM: $ 11,900.00

 Chọn xem nội dung các ô công thức, lý giải cách sử dụng các hình thức tham khảo trong công thức
 Thử thay đổi các điều kiện tính tổng criteria_2
 Dựa vào dữ liệu minh họa, nêu tình huống tính toán sử dụng hàm SUMIF với thông số sum_range 

 Liên hệ tình huống tính toán trong thực tế (quan trọng)

Minh họa

COUNT 3 ô chứa số
COUNTA 5 ô có nội dung
COUNTBLANK 2 ô trống

Minh họa

Nhân viên Doanh số


Lệnh Hồ Xung $ 1,600.00
Nhậm Doanh Doanh $ 2,500.00
Nhạc Linh San $ 2,100.00
Nhậm Doanh Doanh $ 1,900.00
Nhạc Linh San $ 1,200.00
Lệnh Hồ Xung $ 1,100.00
Nhậm Doanh Doanh $ 1,500.00
SUM: $ 11,900.00

Sử dụng COUNTIF đếm số nhân viên đạt yêu cầu về doanh số


Điều kiện đạt >= 1500
Số nhân viên đạt yêu cầu: 5
ước (số dòng, số cột)

Minh họa
Nhân viên Doanh số criteria
Lệnh Hồ Xung $ 1,600.00 Lệnh Hồ Xung
Nhậm Doanh Doanh $ 2,500.00 Nhậm Doanh Doanh
Nhạc Linh San $ 2,100.00 Nhạc Linh San
Nhậm Doanh Doanh $ 1,900.00
Nhạc Linh San $ 1,200.00 criteria_1
Lệnh Hồ Xung $ 1,100.00 Lệnh Hồ Xung
Nhậm Doanh Doanh $ 1,500.00 Nhậm Doanh Doanh
SUM: $ 11,900.00 Nhạc Linh San

Lập các công thức tính trung bình


tự các hàm SUMIF, SUMIFS)
n tổng hợp

NUMBER, MAX, MIN, ...

criteria SUMIF
Lệnh Hồ Xung $ 2,700.00
Nhậm Doanh Doanh $ 5,900.00
Nhạc Linh San $ 3,300.00

criteria_1 criteria_2 SUMIFS


Lệnh Hồ Xung >=1,100 $ 2,700.00
Nhậm Doanh Doanh >1,500 $ 4,400.00
Nhạc Linh San >1,100 $ 3,300.00

tham khảo trong công thức

MIF với thông số sum_range  range

Data
$ 1,600.00
2,500.00

1900
Lenh Ho Xung
4/10/2024

criteria COUNTIF
Lệnh Hồ Xung 2
Nhậm Doanh Doanh 3
Nhạc Linh San 2
Điều kiện có sử dụng wildcards (*, ?)
criteria COUNTIF
N 5

criteria_1 criteria_2 COUNTIFS


Lệnh Hồ Xung >=1,100 2
Nhậm Doanh Doanh >1,500 2
Nhạc Linh San >1,100 2

MAXIFS AVERAGEIF
$ 1,600.00
m Doanh Doanh $ 2,500.00
$ 2,100.00

criteria_2 AVERGAGEIFS
>=1,100
m Doanh Doanh >1,500
>1,100

các công thức tính trung bình theo điều kiện (cách sử dụng tương
ác hàm SUMIF, SUMIFS)
Các hàm thao tác trên cơ sở
DSUM

DSUM(database, field, criteria)

Vùng tiêu chuẩn


Bảng dữ liệu Tên/Chỉ số của Bao gồm:
(Bao gồm tiêu đề cột) cột tính toán  Vùng tiêu đề cột (tên thuộc tính)
 Vùng điều kiện
 AND điều kiện giữa các ô trên cùng dòng
(ô trống = TRUE)
 OR điều kiện giữa các dòng

Database Criteria 1

Customer Season Revenue Customer


Fabrikam Winter $ 100,508.00
Contoso Summer $ 114,452.00
Contoso Fall $ 118,299.00
Northwind Traders Spring $ 120,666.00
Northwind Traders Summer $ 129,732.00
Fabrikam Spring $ 139,170.00 Criteria 3
Northwind Traders Winter $ 174,336.00
Fabrikam Summer $ 183,632.00 Customer
Contoso Winter $ 183,651.00
Northwind Traders Fall $ 188,851.00
Contoso Spring $ 201,438.00
Fabrikam Fall $ 255,599.00
$ 1,910,334.00

Kết quả đối chiếu Fabrikam $ 678,909.00


Contoso $ 617,840.00  Chọn xem nội dung công thức tính "Sum of Reve
 Nhập điều kiện tính toán cho vùng tiêu chuẩn, q
SUM: $ 1,296,749.00
 Giải thích lý do sử dụng hai cột "Revenue" ở vùn

Microsoft Example
Tree Height Age Yield Profit
=Apple >10
=Pear
Tree Height Age Yield Profit
Apple 18 20 14 $ 105.00
Pear 12 12 10 $ 96.00
Cherry 13 14 9 $ 105.00
Apple 14 15 10 $ 75.00
Pear 9 8 8 $ 77.00
Apple 8 9 6 $ 45.00

DCOUNT, DCOUNTA, DMAX, DMIN, …

 Tìm hiểu ý nghĩa của các hàm


 Lập ví dụ thử nghiệm các hàm tương tự như với hàm DSUM
m thao tác trên cơ sở dữ liệu

huộc tính)

a các ô trên cùng dòng Tổ chức bảng dữ liệu:


 Dữ liệu được chứa theo từng dòng,
ác dòng  Thuộc tính của dữ liệu được chứa theo cột
(Tiêu đề cột  tên thuộc tính)

Criteria 2

Season Revenue Customer

Sum of Revenues: $ 1,910,334.00 Sum of Revenues: $ 1,910,334.00

Season Revenue Revenue

Sum of Revenues: $ 1,910,334.00

m nội dung công thức tính "Sum of Revenues", giải thích kết quả hiện có
ều kiện tính toán cho vùng tiêu chuẩn, quan sát sự thay đổi ở các ô công thức, so sánh với kết quả đối chiếu
h lý do sử dụng hai cột "Revenue" ở vùng tiêu chuẩn "Criteria 3". Rút ra cách thức xây dựng vùng tiêu chuẩn

Height
<16
Sum of Profits: $ 248.00

 Thay đổi các điều kiện tính toán trên vùng tiêu chuẩn, quan sát kết quả
 Giải thích về các kết quả nhận được
RANK (nhóm hàm Statistical)

RANK.AVG(number, ref_list[, order]) xếp hạng dữ liệu number trong danh sách ref_list
RANK.EQ(number, ref_list[, order])  number phải có trong ref_list (nếu không  báo lỗi #N
 order thông số quy định thứ tự xếp hạng (mặc định, order = 0)
 order = 0: dữ liệu lớn có thứ hạng cao
 order  0: dữ liệu nhỏ có thứ hạng cao
 RANK.AVG: hạng của các dữ liệu cùng trị được tính lấy trung bình
 RANK.EQ: các dữ liệu cùng trị có cùng hạng
hạng p.tử sau = hạng p.tử trước + số p.tử cùng hạng

CHOOSE, HSTACK, VSTACK (nhóm hàm Lookup & Reference)

CHOOSE(index_num, item_1, item_2, ...) chọn phần tử có chỉ số index_num trong danh sách c
item có thể là giá trị, array, biểu thức

HSTACK(array_1, array_2, ...) ghép nối tiếp các array (phương ngang)
VSTACK(array_1, array_2, ...) ghép chồng các array (phương đứng)
TOCOL(array [, ignore] [, scan_by_column])chuyển array thành cột (TOCOL)/dòng (TOROW)
TOROW(array [, ignore] [, scan_by_column])  ignore = 0: giữ tất cả các trị trong array (mặc
= 1: bỏ qua các khoảng trống (blank)
= 2: bỏ qua các mã báo lỗi
= 3: bỏ qua các khoảng trống và mã báo lỗi
 scan_by_column
= FALSE chọn các phần tử theo thứ tự dòng trước, cột sau (mặc định)
= TRUE chọn các phần tử theo thứ tự cột trước, dòng sau
Minh họa
Data
3
danh sách ref_list 1
không  báo lỗi #N/A) 4
0) 3
5
2
5
g bình 7
6

CHOOSE(index, array_1, array_2)


x
m trong danh sách các item z
u

VSTACK(array_1, array_2)
#NAME?
#NAME?
/dòng (TOROW) #NAME?
trị trong array (mặc định) #NAME?
#NAME?
#NAME?

HSTACK(array_1, array_2)
(mặc định) #NAME?
#NAME?
#NAME?
RANK.AVG RANK.EQ order 0
6.5 6
9 9
Đổi order thành 1, quan sát
5 5 kết quả
6.5 6
3.5 3
8 8
3.5 3
1 1
2 2

SE(index, array_1, array_2) index 2


y
t array_1
v a b
c d
K(array_1, array_2) e f
#NAME? array_2
#NAME? x y
#NAME? z t
#NAME? u v
#NAME?
#NAME?

K(array_1, array_2)
#NAME? #NAME? #NAME?
#NAME? #NAME? #NAME?
#NAME? #NAME? #NAME?

You might also like