Giáo trình Hàm Excel 2010
Giới thiệu hàm (Function)
Hàm trong Excel được lập trình sẵn dùng tính toán hoặc thực hiện một chức năng
nào đó. Việc sử dụng thành thạo các hàm sẽ giúp chúng ta tiết kiệm được rất nhiều
thời gian so với tính toán thủ công không dùng hàm. Các hàm trong Excel rất đa
dạng bao trùm nhiều lĩnh vực, có những hàm không yêu cầu đối số, có những hàm
yêu cầu một hoặc nhiều đối số, và các đối số có thể là bắt buộc hoặc tự chọn.
Ví dụ:
=Rand(): hàm không có đối số
=If(A1>=5,”Đạt”,”Rớt”): hàm 3 đối số
=PMT(10%,4,1000,,1): hàm nhiều đối số và đối số tùy chọn
Trong Excel 2010 có các hàm chính như sau:
Hàm ngoại: Call, Registed.ID,
Hàm lấy dữ liệu từ SSAS: Cubeset, Cubevalue,
Hàm dữ liệu: Dmin, Dmax, Dcount,
Hàm ngày và thời gian: Time, Now, Date, .
Hàm kỹ thuật: Dec2Bin, Dec2Hex, Dec2Oct,
Hàm tài chính: Npv, Pv, Fv, Rate,
Tóm tắt nội dung tài liệu: Giáo trình Hàm Excel 2010
vanhuuweb@gmail.com 1 Hàm Excel 2010 Chương 3: Giới Thiệu Và Sử Dụng Các Hàm 3.1 Giới thiệu công thức và hàm: Giới thiệu công thức (Formula) Công thức giúp bảng tính hữu ích hơn rất nhiều, nếu không có các công thức thì bảng tính cũng giống như trình soạn thảo văn bản. Chúng ta dùng công thức để tính toán từ các dữ liệu lưu trữ trên bảng tính, khi dữ liệu thay đổi các công thức này sẽ tự động cập nhật các thay đổi và tính ra kết quả mới giúp chúng ta đỡ tốn công sức tính lại nhiều lần. Vậy công thức có các thành phần gì? Công thức trong Excel được nhận dạng là do nó bắt đầu là dấu = và sau đó là sự kết hợp của các toán tử, các trị số, các địa chỉ tham chiếu và các hàm. Ví dụ: Ví dụ về công thức Các toán tử trong công thức Toán tử Chức năng Ví dụ Kết quả + Cộng =3+3 3 cộng 3 là 6 vanhuuweb@gmail.com 2 Hàm Excel 2010 - Trừ =45-4 45 trừ 4 còn 41 * Nhân =150*.05 150 nhân 0.50 thành 7.5 / Chia =3/3 3 chia 3 là 1 ^ Lũy thừa =2^4 =16^(1/4) 2 lũy thừa 4 thành 16 Lấy căn bậc 4 của 16 thành 2 & Nối chuỗi =”Lê” & “Thanh” Nối chuỗi “Lê” và “Thanh” lại thành “Lê Thanh” = Bằng =A1=B1 Ví dụ ô A1=3, ô B1=6 Kết quả: FALSE > Lớn hơn =A1>B1 Ví dụ ô A1=3, ô B1=6 Kết quả: FALSE < Nhỏ hơn =A1<B1 Ví dụ ô A1=3, ô B1=6 Kết quả: TRUE >= Lớn hơn hoặc bằng =A1>=B1 Ví dụ ô A1=3, ô B1=6 Kết quả: FALSE <= Nhỏ hơn hoặc bằng =A1<=B1 Ví dụ ô A1=3, ô B1=6 Kết quả: TRUE Khác =A1B1 Ví dụ ô A1=3, ô B1=6 Kết vanhuuweb@gmail.com 3 Hàm Excel 2010 quả: TRUE , Dấu cách các tham chiếu =Sum(A1,B1) Ví dụ ô A1=3, ô B1=6 Kết quả: 9 : Tham chiếu mãng =Sum(A1:B1) Ví dụ ô A1=3, ô B1=6 Kết quả: 9 khoảng trắng Trả về các ô giao giữa 2 vùng =B1:B6 A3:D3 Trả về giá trị của ô Thứ tự ưu tiên của các toán tử Toán tử Mô tả Ưu tiên : (hai chấm) (1 khoảng trắng) , (dấu phẩy) Toán tử tham chiếu 1 – Số âm (ví dụ –1) 2 % Phần trăm 3 ^ Lũy thừa 4 * và / Nhân và chia 5 + và – Cộng và trừ 6 vanhuuweb@gmail.com 4 Hàm Excel 2010 & Nối chuỗi 7 = = So sánh 8 Giới thiệu hàm (Function) Hàm trong Excel được lập trình sẵn dùng tính toán hoặc thực hiện một chức năng nào đó. Việc sử dụng thành thạo các hàm sẽ giúp chúng ta tiết kiệm được rất nhiều thời gian so với tính toán thủ công không dùng hàm. Các hàm trong Excel rất đa dạng bao trùm nhiều lĩnh vực, có những hàm không yêu cầu đối số, có những hàm yêu cầu một hoặc nhiều đối số, và các đối số có thể là bắt buộc hoặc tự chọn. Ví dụ: =Rand(): hàm không có đối số =If(A1>=5,”Đạt”,”Rớt”): hàm 3 đối số =PMT(10%,4,1000,,1): hàm nhiều đối số và đối số tùy chọn Trong Excel 2010 có các hàm chính như sau: Hàm ngoại: Call, Registed.ID, Hàm lấy dữ liệu từ SSAS: Cubeset, Cubevalue, Hàm dữ liệu: Dmin, Dmax, Dcount, Hàm ngày và thời gian: Time, Now, Date,. Hàm kỹ thuật: Dec2Bin, Dec2Hex, Dec2Oct, Hàm tài chính: Npv, Pv, Fv, Rate, vanhuuweb@gmail.com 5 Hàm Excel 2010 Hàm thông tin: Cell, Thông tin, IsNa, Hàm luận lý: If, And, Or, Hàm tham chiếu và tìm kiếm: Choose, Vlookup, OffSet, Hàm toán và lượng giác: Log, Mmult, Round, Hàm thống kê: Stdev, Var, CountIf, Hàm văn bản: Asc, Find, Text, Chúng ta sẽ cùng nghiên cứu cách sử dụng từng hàm trong các nhóm hàm trên ở các phần sau. Nhập công thức và hàm Nhập công thức trong Excel rất đơn giản, muốn nhập công thức vào ô nào bạn chỉ việc nhập dấu = và sau đó là sự kết hợp của các toán tử, các trị số, các địa chỉ tham chiếu và các hàm. Bạn có thể nhìn vào thanh Formula để thấy được trọn công thức. Một điều hết sức lưu ý khi làm việc trên bảng tính là tránh nhập trực tiếp các con số, giá trị vào công thức mà bạn nên dùng đến tham chiếu. Ví dụ: Minh họa dùng tham chiếu trong hàm Trong ví dụ trên, ở đối số thứ nhất của hàm NPV chúng ta không nhập trực suất chiết tính 10% vào hàm mà nên tham chiếu đến địa chỉ ô chứa nó là I2, vì nếu lãi vanhuuweb@gmail.com 6 Hàm Excel 2010 suất có thay đổi thì ta chỉ cần nhập giá trị mới vào ô I2 thì chúng ta sẽ thu được kết quả NPV mới ngay không cần phải chỉnh sửa lại công thức. Giả sử các ô C2:G2 được đặt tên là DongTien, và ô I2 đặt tên là LaiSuat (Xem lại cách đặt tên vùng ở bài số 1) thì trong quá trình nhập công thức bạn có thể làm như sau: B1. Tại ô B4 nhập vào =NPV( B2. Nhấn F3, cửa sổ Paste Name hiện ra B3. Chọn LaiSuat và nhấn OK B4. Nhập dấu phẩy (,) và gõ F3 B5. Chọn DongTien và nhấn OK B6. Nhập dấu đóng ngoặc rồi nhập dấu + B7. Nhấp chuột vào ô B2 B8. Nhấn phím Enter vanhuuweb@gmail.com 7 Hàm Excel 2010 Chèn tên vùng vào công thức Một trong những cách dễ dàng nhất để sử dụng hàm trong Excel là sử dụng thư viện hàm. Khi bạn muốn sử dụng hàm nào chỉ việc vào thanh Ribbon nhóm Formulas Function Library -> chọn nhóm hàm -> chọn hàm cần sử dụng. Ngoài ra bạn có thể nhấn vào nút để gọi hộp thoại Insert Function một cách nhanh chóng và khi cần tìm hiểu về hàm này bạn chỉ cần nhấn vào Help on this function. Hộp thoại Insert Function Tham chiếu trong công thức Các tham chiếu sử dụng trong công thức giúp cho chúng ta khỏi tốn công sửa chữa các công thức khi các giá trị tính toán có sự thay đổi. Có 3 loại tham chiếu sau: vanhuuweb@gmail.com 8 Hàm Excel 2010 Tham chiếu địa chỉ tương đối: Các dòng và cột tham chiếu sẽ thay đổi khi chúng ta sao chép hoặc di dời công thức đến vị trí khác một lượng tương ứng với số dòng và số cột mà ta di dời. Ví dụ A5:B7, C4 Tham chiếu địa chỉ tuyệt đối: Các dòng và cột tham chiếu không thay đổi khi ta di dời hay sao chép công thức. Ví dụ $A$5:$B$7, $C$4 Tham chiếu hỗn hợp: Phối hợp tham chiếu địa chỉ tương đối và tuyệt đối. Ví dụ A$5 nghĩa là cột A tương đối và dòng 5 tuyệt đối. Lưu ý: Dấu $ trước thứ tự cột là cố định cột và trước thứ tự dòng là cố định dòng. Nhấn phím F4 nhiều lần để (tuyệt đối) cố định/ bỏ cố định dòng hoặc cột. Nhấn phím F4 nhiều lần để (tuyệt đối) cố định/ bỏ cố định dòng hoặc cột. Ví dụ: Tính thành tiền bằng Số lượng nhân Giá. Đổi sang giá trị Thành tiền sang VND. Tính tổng các cột Thành tiền và cột VND. Minh họa địa chỉ tương đối và tuyệt đối vanhuuweb@gmail.com 9 Hàm Excel 2010 B1. Tại ô D2 nhập vào =B2*C2 và Enter. Sau đó quét chọn cả vùng D2:D14 và gõ . Vào các ô D3, D4... D14 ta thấy công thức các dòng tự động được thay đổi tương ứng với khoảng cách so với ô D2. Trường hợp này chúng ta dùng địa chỉ tương đối của B2*C2 là vì chúng ta muốn khi sao chép công thức xuống phía dưới thì địa chỉ các ô tính toán sẽ tự động thay đổi theo. B2. Tại ô E2 nhập vào =D2*B$17 và Enter, sau đó chép công thức xuống các ô E3:E14. Chúng ta cần cố định dòng 17 trong địa chỉ tỷ giá B17 vì ta muốn khi sao công thức xuống thì các công thức sao chép vẫn tham chiếu đến ô B17 để tính toán. B3. Tại ô D15 nhập vào =Sum(D2:D14) và chép sang ô E15. Lưu ý: Tham chiếu đến địa chỉ ở worksheet khác nhưng cùng workbook thì có dạng Tên_sheet!Địa_chỉ_ô. Ví dụ: =A2*Sheet2!A2 =A2*’Thong so’!B4 Khi tên sheet có chứa khoảng trắng thì để trong cặp nháy đơn ‘ ’ Tham chiếu đến địa chỉ trong workbook khác thì có dạng [Tên_Workbook]Tên_sheet!Địa_chỉ_ô. Ví dụ: =A2*[Bai2.xlsx]Sheet3!A4 =A2*’[Bai tap 2.xlsx]Sheet3’!A4 Khi tên Sheet hay Workbook có chứa khoản trắng để trong cặp nháy đơn ‘ ’ vanhuuweb@gmail.com 10 Hàm Excel 2010 =A2*’C:\Tai lieu\[Bai tap 2.xlsx]Sheet3’!A4 Khi tham chiếu đến workbook khác mà workbook này không mở =A2*’\\DataServer\Excel\[Bai tap 2.xlsx]Sheet3’!A4 Khi tham chiếu đến tài nguyên chia sẽ trên máy chủ trong mạng Các lỗi thông dụng (Formulas errors) Các lỗi thông dụng Lỗi Giải thích #DIV/0! Trong công thức có chứa phép chia cho 0 (zero) hoặc chia ô rỗng #NAME? Do dánh sai tên hàm hay tham chiếu hoặc đánh thiếu dấu nháy #N/A Công thức tham chiếu đến ô mà có dùng hàm NA để kiểm tra sự tồn tại của dữ liệu hoặc hàm không có kết quả #NULL! Hàm sử dụng dữ liệu giao nhau của 2 vùng mà 2 vùng này không có phần chung nên phần giao rỗng #NUM! Vấn đề đối với giá trị, ví dụ như dùng nhầm số âm trong khi đúng phải là số dương #REF! Tham chiếu bị lỗi, thường là do ô tham chiếu trong hàm bị xóa #VALUE! Công thức tính toán có chứa kiểu dữ liệu không đúng. vanhuuweb@gmail.com 11 Hàm Excel 2010 3.2 Các hàm trong excel a. Nhóm hàm về thống kê AVEDEV (number1, number2, ...) : Tính trung bình độ lệch tuyệt đối các điểm dữ liệu theo trung bình của chúng. Thường dùng làm thước đo về sự biến đổi của tập số liệu AVERAGE (number1, number2, ...) : Tính trung bình cộng AVERAGEA (number1, number2, ...) : Tính trung bình cộng của các giá trị, bao gồm cả những giá trị logic AVERAGEIF (range, criteria1) : Tính trung bình cộng của các giá trị trong một mảng theo một điều kiện AVERAGEIFS (range, criteria1, criteria2, ...) : Tính trung bình cộng của các giá trị trong một mảng theo nhiều điều kiện COUNT (value1, value2, ...) : Đếm số ô trong danh sách COUNTA (value1, value2, ...) : Đếm số ô có chứa giá trị (không rỗng) trong danh sách COUNTBLANK (range) : Đếm các ô rỗng trong một vùng COUNTIF (range, criteria) : Đếm số ô thỏa một điều kiện cho trước bên trong một dãy COUNTIFS (range1, criteria1, range2, criteria2, ...) : Đếm số ô thỏa nhiều điều kiện cho trước DEVSQ (number1, number2, ...) : Tính bình phương độ lệch các điểm dữ liệu từ trung bình mẫu của chúng, rồi cộng các bình phương đó lại. vanhuuweb@gmail.com 12 Hàm Excel 2010 FREQUENCY (data_array, bins_array) : Tính xem có bao nhiêu giá trị thường xuyên xuất hiện bên trong một dãy giá trị, rồi trả về một mảng đứng các số. Luôn sử dụng hàm này ở dạng công thức mảng GEOMEAN (number1, number2, ...) : Trả về trung bình nhân của một dãy các số dương. Thường dùng để tính mức tăng trưởng trung bình, trong đó lãi kép có các lãi biến đổi được cho trước... HARMEAN (number1, number2, ...) : Trả về trung bình điều hòa (nghịch đảo của trung bình cộng) của các số KURT (number1, number2, ...) : Tính độ nhọn của tập số liệu, biểu thị mức nhọn hay mức phẳng tương đối của một phân bố so với phân bố chuẩn LARGE (array, k) : Trả về giá trị lớn nhất thứ k trong một tập số liệu MAX (number1, number2, ...) : Trả về giá trị lớn nhất của một tập giá trị MAXA (number1, number2, ...) : Trả về giá trị lớn nhất của một tập giá trị, bao gồm cả các giá trị logic và text MEDIAN (number1, number2, ...) : Tính trung bình vị của các số. MIN (number1, number2, ...) : Trả về giá trị nhỏ nhất của một tập giá trị MINA (number1, number2, ...) : Trả về giá trị nhỏ nhất của một tập giá trị, bao gồm cả các giá trị logic và text MODE (number1, number2, ...) : Trả về giá trị xuất hiện nhiều nhất trong một mảng giá trị PERCENTILE (array, k) : Tìm phân vị thứ k của các giá trị trong một mảng dữ liệu vanhuuweb@gmail.com 13 Hàm Excel 2010 PERCENTRANK (array, x, significance) : Trả về thứ hạng (vị trí tương đối) của một trị trong một mảng dữ liệu, là số phần trăm của mảng dữ liệu đó PERMUT (number, number_chosen) : Trả về hoán vị của các đối tượng. QUARTILE (array, quart) : Tính điểm tứ phân vị của tập dữ liệu. Thường được dùng trong khảo sát dữ liệu để chia các tập hợp thành nhiều nhóm... RANK (number, ref, order) : Tính thứ hạng của một số trong danh sách các số SKEW (number1, number2, ...) : Trả về độ lệch của phân phối, mô tả độ không đối xứng của phân phối quanh trị trung bình của nó SMALL (array, k) : Trả về giá trị nhỏ nhất thứ k trong một tập số STDEV (number1, number2, ...) : Ước lượng độ lệch chuẩn trên cơ sở mẫu STDEVA (value1, value2, ...) : Ước lượng độ lệch chuẩn trên cơ sở mẫu, bao gồm cả những giá trị logic STDEVP (number1, number2, ...) : Tính độ lệch chuẩn theo toàn thể tập hợp STDEVPA (value1, value2, ...) : Tính độ lệch chuẩn theo toàn thể tập hợp, kể cả chữ và các giá trị logic VAR (number1, number2, ...) : Trả về phương sai dựa trên mẫu VARA (value1, value2, ...) : Trả về phương sai dựa trên mẫu, bao gồm cả các trị logic và text VARP (number1, number2, ...) : Trả về phương sai dựa trên toàn thể tập hợp VARPA (value1, value2, ...) : Trả về phương sai dựa trên toàn thể tập hợp, bao gồm cả các trị logic và text. vanhuuweb@gmail.com 14 Hàm Excel 2010 TRIMMEAN (array, percent) : Tính trung bình phần trong của một tập dữ liệu, bằng cách loại tỷ lệ phần trăm của các điểm dữ liệu ở đầu và ở cuối tập dữ liệu. b. Nhóm hàm về phân phối xác suất BETADIST (x, alpha, beta, A, B) : Trả về giá trị của hàm tính mật độ phân phối xác suất tích lũy beta. BETAINV (probability, alpha, beta, A, B) : Trả về nghịch đảo của hàm tính mật độ phân phối xác suất tích lũy beta. BINOMDIST (number_s, trials, probability_s, cumulative) : Trả về xác suất của những lần thử thành công của phân phối nhị phân. CHIDIST (x, degrees_freedom) : Trả về xác xuất một phía của phân phối chi- squared. CHIINV (probability, degrees_freedom) : Trả về nghịch đảo của xác xuất một phía của phân phối chi-squared. CHITEST (actual_range, expected_range) : Trả về giá trị của xác xuất từ phân phối chi-squared và số bậc tự do tương ứng. CONFIDENCE (alpha, standard_dev, size) : Tính khoảng tin cậy cho một kỳ vọng lý thuyết CRITBINOM (trials, probability_s, alpha) : Trả về giá trị nhỏ nhất sao cho phân phối nhị thức tích lũy lớn hơn hay bằng giá trị tiêu chuẩn. Thường dùng để bảo đảm các ứng dụng đạt chất lượng... EXPONDIST (x, lambda, cumulative) : Tính phân phối mũ. Thường dùng để mô phỏng thời gian giữa các biến cố... vanhuuweb@gmail.com 15 Hàm Excel 2010 FDIST (x, degrees_freedom1, degrees_freedom2) : Tính phân phối xác suất F. Thường dùng để tìm xem hai tập số liệu có nhiều mức độ khác nhau hay không... FINV (probability, degrees_freedom1, degrees_freedom2) : Tính nghịch đảo của phân phối xác suất F. Thường dùng để so sánh độ biến thiên trong hai tập số liệu FTEST (array1, array2) : Trả về kết quả của một phép thử F. Thường dùng để xác định xem hai mẫu có các phương sai khác nhau hay không... FISHER (x) : Trả về phép biến đổi Fisher tại x. Thường dùng để kiểm tra giả thuyết dựa trên hệ số tương quan... FISHERINV (y) : Tính nghịch đảo phép biến đổi Fisher. Thường dùng để phân tích mối tương quan giữa các mảng số liệu... GAMMADIST (x, alpha, beta, cumulative) : Trả về phân phối tích lũy gamma. Có thể dùng để nghiên cứu có phân bố lệch GAMMAINV (probability, alpha, beta) : Trả về nghịch đảo của phân phối tích lũy gamma. GAMMLN (x) : Tính logarit tự nhiên của hàm gamma HYPGEOMDIST (number1, number2, ...) : Trả về phân phối siêu bội (xác suất của một số lần thành công nào đó...) LOGINV (probability, mean, standard_dev) : Tính nghịch đảo của hàm phân phối tích lũy lognormal của x (LOGNORMDIST) LOGNORMDIST (x, mean, standard_dev) : Trả về phân phối tích lũy lognormal của x, trong đó logarit tự nhiên của x thường được phân phối với các tham số mean và standard_dev. vanhuuweb@gmail.com 16 Hàm Excel 2010 NEGBINOMDIST (number_f, number_s, probability_s) : Trả về phân phối nhị thức âm (trả về xác suất mà sẽ có number_f lần thất bại trước khi có number_s lần thành công, khi xác suất không đổi của một lần thành công là probability_s) NOR ... kiện đúng thì hàm trả về giá trị 1, ngược lại hàm nhận giá trị 2 Cái lập luận: "Nếu tôi đúng thì làm cho tôi cái này, nếu tôi sai thì làm cho tôi cái kia".. Có lẽ trong chúng ta ai cũng hiểu. Một tình huống đơn giản nhất Cú pháp: IF(logical_test, value_is_true) logical_test: Một biểu thức sẽ được xét xem đúng (TRUE) hay sai (FALSE) value_is_true: giá trị trả về khi biểu thức logical_test được kiểm tra là đúng (TRUE) Ví dụ: =IF(A1 >= 1000, "It's big!") Nghĩa là, nếu giá trị ở A1 lớn hơn hoặc bằng 1000, thì kết quả nhận được sẽ là "It's big!", còn không, nếu A1 nhỏ hơn 1000, kết quả sẽ là FALSE. Một ví dụ khác, giả sử bạn có một bảng đánh giá mức độ bán ra, mua vào của một danh mục hàng hóa dài, và bạn muốn theo dõi những mặt hàng có doanh số bán ra không đạt yêu cầu để điều chỉnh chiến lược kinh doanh của mình, bằng cách gán những dấu "<" bên cạnh nó, hễ phần trăm doanh số càng thấp thì những dấu hiệu "<" càng nhiều... Bạn có thể dùng hàm IF(), theo mẫu: vanhuuweb@gmail.com 73 Hàm Excel 2010 =IF(cell<0, flag) Với cell là giá trị doanh số mà bạn muốn theo dõi, và flag là dấu hiệu để mô tả, ví dụ, cell chứa giá trị doanh số là B2: =IF(B2<0, "<<<<<") Để những dấu "<" tỷ lệ thuận với mức sụt giảm doanh số bán hàng, bạn có thể dùng hàm REPT(), với công thức: REPT("<" , B2 * -100) Ở đây, phải nhân giá trị của B2 với -100, bởi vì chúng ta chỉ xét những trường hợp B2<0 Và công thức hoàn chỉnh để thể hiện mức độ sụt giảm doanh số của từng mặt hàng sẽ là: =IF(B2<0, REPT("<" , B2 * -100)) Những hàm IF lồng nhau Trong cuộc sống đời thường, có mấy ai dễ dàng chấp nhận chuyện "một cái nếu", phải không các bạn. Chúng ta thường sẽ dùng kiểu, nếu... rồi nhưng mà nếu... nhiều khi kéo dài đến vô tận! Trong Excel cũng vậy. Giả sử, chúng ta xếp loại học tập, nếu điểm trung bình (ĐTB) lớn hơn 9 thì giỏi, vậy ĐTB nhỏ hơn 9 thì dở? Chưa, ĐTB nhỏ hơn 9 nhưng lớn hơn 7 thì khá cái đã, rồi ĐTB nhỏ hơn 7 nhưng chưa bị điểm 5 thì trung bình, chỉ khi nào ĐTB nhỏ hơn 4 thì mới gọi là dở (cái này tôi chỉ ví dụ thôi, các bạn đừng sử dụng để xếp loại nhé). vanhuuweb@gmail.com 74 Hàm Excel 2010 Khi đó, chúng ta sẽ dùng những hàm IF() lồng nhau, IF() này nằm trong IF() kia. Sau này chúng ta sẽ học cách ghép thêm nhiều điều kiện khác vào nữa. Ví dụ, tôi lấy lại ví dụ đã nói ở bài trước: =IF(A1 >= 1000, "Big!", "Not big") Bi giờ thêm chút, A1 lớn hơn 1000 là "big" rồi, nhưng chẳng lẽ 10000 thì cũng chỉ là "big" ? Có lẽ nên tặng thêm một danh hiệu cao hơn: =IF(A1 >= 1000, IF(A1 >= 10000, "Really big!!", Big!"), "Not big") Hoặc là, đồng ý rằng <1000 là "Not big", nhưng nó khác "Small" chứ (tui không lớn, chưa chắc tui nhỏ), vậy chúng ta thêm một định nghĩa "Small" thử xem: =IF(A1 >= 1000, "Big!", IF(A1 < 100, "Small", "Not big")) Bạn để ý nhé, ở đây tôi đặt cái IF "con" không giống như ở trên, sao cũng, miễn là đừng sai cú pháp của IF(). Và nếu thích, bạn có thể ghép tất cả lại: =IF(A1 >= 1000, IF(A1 >= 10000, "Really big!!", Big!"), IF(A1 < 100, "Small", "Not big")) Chĩ cần một lưu ý, là những dấu đóng mở ngoặc đơn. Nếu bạn đóng và mở không đúng lúc hoặc không đủ, Excel sẽ không hiểu, hoặc là cho các bạn kết quả sai đấy. Hàm IFERROR Trong quá trình thao tác với bảng tính, không ít lần chúng ta gặp lỗi, và cũng khó mà tránh được lỗi. Ví dụ, một công thức đơn giản thôi =A/B có thể gây lỗi #DIV/0! nếu như B bằng 0, hoặc gây lỗi #NAME? nếu A hoặc B không tồn tại, gây lỗi #REF! nếu có ô nào đó liên kết với A hoặc B bị xóa đi... vanhuuweb@gmail.com 75 Hàm Excel 2010 Tuy nhiên, đôi lúc chúng ta lại cần phải lợi dụng chính những cái lỗi này, ví dụ sẽ đặt ra một tình huống: nếu có lỗi thì làm gì đó... Gọi nôm na là BẪY LỖI. Có lẽ vì vậy mà hàm này có hai chữ đầu là IF; IFERROR = nếu xảy ra lỗi (thì)... MS Excel 2003 trở về trước có hàm ISERROR(value), với value là một biểu thức. Nếu biểu thức này gặp lỗi, ISERROR() sẽ trả về giá trị TRUE, còn nếu biểu thức không có lỗi, ISERROR() trả về giá trị FALSE. Và chúng ta thường dùng ISERROR() kèm với IF: =IF(ISERROR(expression), ErrorResult, expression) Nếu như biểu thức (expression) có lỗi, công thức trên sẽ lấy giá trị ErrorResult (một ô rỗng, hoặc một thông báo lỗi, v.v..), ngược lại, sẽ lấy chính giá trị biểu thức đó. Ví dụ: =IF(ISERROR(A/B), "", A/B) Cái bất tiện khi phải dùng vừa IF() vửa ISERROR() là chúng ta phải nhập cái biểu thức hai lần: một lần trong hàm ISERROR() và một lần ở tham số value_is_False của IF() Có thể cái bất tiện vừa nói trên không đáng kể, tuy nhiên cách sử dụng này làm cho công thức của chúng ta trở nên khó dùng hơn, bởi vì nếu thay cái biểu thức(expression), thì chúng ta phải thay đổi nguyên cả công thức. Excel 2010 dường như hiểu được sự bất tiện đó, nên đã gộp hai hàm IF() và ISERROR lại thành một, đó là IFERROR() Cú pháp: IFERROR(value, value_if_error) vanhuuweb@gmail.com 76 Hàm Excel 2010 _____value: Biểu thức có thể sẽ gây ra lỗi _____value_if_error: kết quả trả về nếu value gây ra lỗi Nếu biểu thức value không gây lỗi, IFERROR() sẽ lấy biểu thức đó, còn nếu nó có lỗi thì lấy cái biểu thức value_if_error. Ví dụ, công thức =IF(ISERROR(A/B), "", A/B) nếu dùng IFERROR() thì sẽ là =IFERROR(A/B, "") Bạn thấy đấy, IFERROR() ngắn gọn và dễ hiểu hơn nhiều. =NOT (logical) : Đảo ngược giá trị của các đối số Hàm OR OR có nghĩa là HOẶC. Dùng hàm này khi muốn nói đến cái này hoặc cái này hay cái kia... cái nào cũng được, miễn là phải có ít nhất 1 cái! Cú pháp: OR(logical1 [, logical2] [, logical3]...) logical: Những biểu thức sẽ được xét xem đúng (TRUE) hay sai (FALSE) Nếu tất cả các biểu thức đều sai, hàm OR() sẽ trả về giá trị FALSE, và chỉ cần 1 trong các biểu thức đúng, hàm OR() sẽ trả về giá trị TRUE. Giống như hàm AND(), bạn có thể dùng hàm OR() bất cứ chỗ nào bạn muốn, nhưng thường thì hàm OR() hay được dùng chung với hàm IF(). Ví dụ: =IF(OR(B2 > 0, C2 > 0), "1000", "No bonus") vanhuuweb@gmail.com 77 Hàm Excel 2010 Nếu giá trị ở B2 hoặc ở C2 lớn hơn 0 (tức là chỉ cần 1 trong 2 ô lớn hơn 0), thì (thưởng) 1.000, còn nếu cả 2 ô B2 hoặc C2 đều nhỏ hơn 0, thì không thưởng chi cả. =TRUE(): Có thể nhập trực tiếp TRUE vào trong công thức, Excel sẽ hiểu đó là một biểu thức có giá trị TRUE mà không cần dùng đến cú pháp của hàm này Bỏ qua những ô bị lỗi khi chạy công thức Ví dụ: Cột Gross Margin (cột D) của bảng tính dưới đây có chứa một số ô gặp lỗi chia cho 0 (#DIV/0!), do bên cột C có những ô trống. Để tính trung bình cộng của cột D, kể những ô có lỗi #DIV/0!, phải dùng công thức mảng như sau: {=AVERAGE(IF(ISERROR(D3:D12), "", D3:D12))} (nghĩa là nếu gặp những ô có lỗi thì coi như nó bằng rỗng) Xác định tên của cột (Determining the Column Letter) Trong Excel có hàm COLUMN(), cho ra kết quả là số của cột (ví dụ, gõ hàm này trong cột B thì kết quả sẽ là 2). Nhưng đôi khi bạn muốn kết quả là tên của cột chứ không muốn đó là con số (B chứ không phải là 2), thì làm sao? Đây là một vấn đề đòi hỏi sự khôn khéo một chút, vì tên cột trong bảng tính chạy từ A đến Z, từ AA đến AZ... và cho tới tận cùng là XFD (!) Có một hàm giúp chúng ta tìm địa chỉ tuyệt đối của một cell, đó là hàm CELL("address"), ví dụ $A$2, hoặc $B$10... Hàm CELL(info_type [,reference]) vanhuuweb@gmail.com 78 Hàm Excel 2010 Với info_type là một tham số đã được định nghĩa (sẽ nói kỹ hơn trong những bài sau) Và reference là cell mà bạn chỉ định, nếu bỏ trống thì Excel sẽ lấy ngay cái cell có chứa công thức CELL(). Trong bài này, để tìm địa chỉ tuyệt đối của một cell, chúng ta sẽ dùng công thức CELL() với info_type là "address" Tinh ý một chút, ta thấy tên của cột chính là những chữ cái nằm giữa hai dấu dollar ($) trong cái địa chỉ tuyệt đối này. Bắt đầu làm nhé: dùng hàm MID() trích ra chữ cái từ vị trí thứ 2 trong địa chỉ tuyệt đối của cell: =MID(CELL("Address"), 2, num_chars) Cái khó là cái num_chars này đây, vì tên cột thì có thể là 1, 2, hoặc 3 ký tự (ví dụ: A, AA hoặc AAA). Vận dụng hàm FIND thôi: FIND("$", CELL("address"",A2), 3) - 2 Giải thích chút nhé: Dùng hàm FIND(), tìm vị trí của dấu $ trong cái địa chỉ tuyệt đối của cell, và bắt đầu tìm từ vị trí thứ 3 trong cái địa chỉ này. Tại sao phải trừ đi 2? Công thức trên sẽ chỉ ra vị trí (là một con số) của dấu $ thứ hai trong địa chỉ tuyệt đối của cell, tức là cái dấu $ phía sau tên cột, phải trừ đi 2 tức là trừ bớt đi 2 cái $, lúc này kết quả sẽ chính là số ký tự của tên cột (1 chữ, 2 chữ hoặc 3 chữ) Bây giờ, công thức hoàn chỉnh sẽ như sau: =MID(CELL("Address"), 2, FIND("$", CELL("address"), 3) - 2) vanhuuweb@gmail.com 79 Hàm Excel 2010 Công thức này áp dụng cho chính cell chứa công thức. Nếu muốn tìm tên cột tại một cell nào đó, bạn chỉ việc thêm địa chỉ (hoặc một cái gì đó tham chiếu đến địa chỉ này) của cell muốn tìm vào phía sau cái "address" Ví dụ, muốn tìm tên của cell AGH68, bạn gõ: =MID(CELL("Address", AGH68), 2, FIND("$", CELL("address", AGH68), 3) - 2) → AGH Lập mã số tự động Có nhiều danh mục khách hàng hoặc danh mục hàng hóa được lập mã số bằng cách dùng vài ký tự đầu của tên khách hàng (hoặc tên hàng hóa) kết hợp với một con số. Cách đặt mã số tự động như vậy rất dễ làm trong Excel, bằng cách sử dụng những hàm xử lý văn bản và chuỗi. Giả sử danh mục của chúng ta nằm ở cột A và bắt đầu tại cell A2. Trước tiên, chúng ta hãy tách 3 ký tự đầu tiên của danh mục và định dạng cho nó thành những chữ in hoa, bằng công thức: UPPER(LEFT(A2, 3)) Tiếp theo, tận dụng chính số của những hàng trong bảng tính để lập mã số tự động: ROW(A2), và định dạng sao cho những con số này luôn có 4 chữ số, bằng công thức: TEXT(ROW(A2),"0000") Và đây là công thức hoàn chỉnh: =UPPER(LEFT(A2, 3)) & TEXT(ROW(A2), "0000") vanhuuweb@gmail.com 80 Hàm Excel 2010 Hàm BETADIST() Trả về giá trị của hàm tính mật độ phân phối xác suất tích lũy beta. Thông thường hàm này được dùng để nghiên cứu sự biến thiên về phần trăm các mẫu, ví dụ như khoảng thời gian mà người ta dùng để xem TV trong một ngày chẳng hạn. Cú pháp: = BETADIST(x, alpha, beta, A, B) x : Giá trị giữa A và B, dùng để tính mật độ hàm. alpha & beta : Tham số của phân phối. A : Cận dưới của khoảng x, mặc định là 0. B : Cận trên của khoảng x, mặc định là 1. Lưu ý: * Nếu có bất kỳ đối số nào không phải là số, BETADIST() trả về giá trị lỗi #VALUE! * Nếu alpha ≤ 0 hay beta ≤ 0, BETADIST() trả về giá trị lỗi #NUM! * Nếu x B hay A = B, BETADIST() trả về giá trị lỗi #NUM! * Nếu bỏ qua A và B, nghĩa là mặc định A = 0 và B = 1, BETADIST() sẽ sử dụng phân phối tích lũy beta chuẩn hóa. Hàm BETAINV() Trả về nghịch đảo của hàm tính mật độ phân phối xác suất tích lũy beta. Nghĩa là nếu xác suất = BETADIST(x, ...) thì x = BETAINV(xác suất, ...) vanhuuweb@gmail.com 81 Hàm Excel 2010 Thường dùng trong việc lên kế hoạch dự án, để mô phỏng số lần mở rộng xác suất, biết trước thời gian bổ sung kỳ vọng và độ biến đổi. Cú pháp: = BETAINV(probability, alpha, beta, A, B) Probability : Xác suất của biến cố x trong phân phối xác suất tích lũy beta. alpha & beta : Tham số của phân phối. A : Cận dưới của khoảng x, mặc định là 0. B : Cận trên của khoảng x, mặc định là 1. Lưu ý: * Nếu có bất kỳ đối số nào không phải là số, BETAINV() trả về giá trị lỗi #VALUE! * Nếu alpha ≤ 0 hay beta ≤ 0, BETAINV() trả về giá trị lỗi #NUM! * Nếu probability ≤ 0 hay probability > 1, BETAINV() trả về giá trị lỗi #NUM! * Nếu bỏ qua A và B, nghĩa là mặc định A = 0 và B = 1, BETAINV() sẽ sử dụng phân phối tích lũy beta chuẩn hóa. * BETAINV() sử dụng phương pháp lặp khi tính mật độ phân phối. Với probability cho trước, BETAINV() lặp cho tới khi kết quả chính xác trong khoảng ±0.0000003. Nếu BETAINV() không hội tụ sau 100 lần lặp, nó sẽ trả về giá trị lỗi #NA! Ví dụ: BETAINV(0.6854706, 8, 10, 1, 3) = 2 Hàm BINOMDIST() vanhuuweb@gmail.com 82 Hàm Excel 2010 Trả về xác suất của những lần thử thành công của phân phối nhị phân. BINOMDIST() thường được dùng trong các bài toán có số lượng cố định các phép thử, khi kết quả của các phép thử chỉ là thành công hay thất bại, khi các phép thử là độc lập, và khi xác xuất thành công là không đổi qua các cuộc thử nghiệm. Ví dụ, có thể dùng BINOMDIST() để tính xác suất khoảng hai phần ba đứa trẻ được sinh ra là bé trai. Cú pháp: = BINOMDIST(number_s, trials, probability_s, cumulative) Number_s : Số lần thử thành công trong các phép thử. Trials : Số lần thử. Probability_s : Xác suất thành công của mỗi phép thử. Cumulative : Một giá trị logic để xác định hàm tính xác suất. = 1 (TRUE) : BINOMDIST() trả về hàm tính xác suất tích lũy, là xác suất có số lần thành công number_s lớn nhất. = 0 (FALSE) : BINOMDIST() trả về hàm tính xác suất điểm (hay là hàm khối lượng xác suất), là xác suất mà số lần thành công là number_s. Lưu ý: * Nếu number_s và trials là số thập phân, chúng sẽ được cắt bỏ phần lẻ để trở thành số nguyên. * Nếu number_s, trials hay probability_s không phải là số, BINOMDIST() trả về giá trị lỗi #VALUE! * Nếu number_s trials, BINOMDIST() trả về giá trị lỗi #NUM! vanhuuweb@gmail.com 83 Hàm Excel 2010 * Nếu probability_s 1, BINOMDIST() trả về giá trị lỗi #NUM! Ví dụ: BINOMDIST(6, 10, 0.5, 0) = 0.2050781 BINOMDIST(6, 10, 0.5, 1) = 0.828125 Hàm CHIDIST() Trả về xác xuất một phía của phân phối chi-squared. Phân phối chi-squared kết hợp với phép thử chi-squared dùng để so sánh các giá trị quan sát với các giá trị kỳ vọng. Ví dụ, một thí nghiệm về di truyền có thể giả thiết rằng thế hệ kế tiếp của các cây trồng sẽ thừa hưởng một tập hợp các màu sắc nào đó; bằng cách so sánh các giá trị quan sát được với các giá trị kỳ vọng, có thể thấy được giả thiết ban đầu là đúng hay sai. Cú pháp: = CHIDIST(x, degrees_freedom) x : Giá trị dùng để tính phân phối. degrees_freedom : Số bậc tự do. Lưu ý: * Nếu các đối số không phải là số, CHIDIST() trả về giá trị lỗi #VALUE! * Nếu x < 0, CHIDIST() trả về giá trị lỗi #NUM! * Nếu degrees_freedom không phải là số nguyên, phần thập phân của nó sẽ bị cắt bỏ để trở thành số nguyên. vanhuuweb@gmail.com 84 Hàm Excel 2010 * Nếu degrees_freedom 10^10, CHIDIST() trả về giá trị lỗi #NUM! * CHIDIST() được tính toán theo công thức: CHIDIST = P(X > x), với X là biến ngẫu nhiên chi-squared. Ví dụ: CHIDIST(18.307, 10) = 0.050001 Hàm NORMINV() Trả về nghịch đảo của phân phối tích lũy chuẩn. Cú pháp: = NORMINV(probability, mean, standard_dev) probability : Xác suất ứng với phân phối chuẩn mean : Giá trị trung bình cộng của phân phối standard_dev : Độ lệch chuẩn của phân phối Lưu ý: * Nếu có bất kỳ đối số nào không phải là số, NORMINV() sẽ báo lỗi #VALUE! * Nếu probability nhỏ hơn 0 hoặc lớn hơn 1, NORMINV() sẽ báo lỗi #NUM! * Nếu standard_dev nhỏ hơn hoặc bằng 0, NORMDINV() sẽ báo lỗi #NUM! * Nếu mean = 0 và standard_dev = 1, NORMINV() sẽ dùng phân bố chuẩn. * NORMINV() sử dụng phương pháp lặp đi lặp lại để tính hàm. Nếu NORMINV() không hội tụ sau 100 lần lặp, hàm sẽ báo lỗi #NA!
File đính kèm:
- giao_trinh_ham_excel_2010.pdf