Thông tin tuyển sinh

http://tuyensinhs.com


Các Hàm Quản lý Cơ sở dữ liệu và Danh sách

Bài viết giới thiệu với các bạn về danh mục các hàm quản lý cơ sở dữ liệu và danh sách trong microsoft office excel 2010

DAVERAGE (database, field, criteria) : Tính trung bình các giá trị trong một cột của danh sách hay các trị của một cơ sở dữ liệu, theo một điều kiện được chỉ định.

DCOUNT (database, field, criteria) : Đếm các ô chứa số liệu trong một cột của danh sách hay các trị của một cơ sở dữ liệu, theo một điều kiện được chỉ định.

DCOUNTA (database, field, criteria) : Đếm các ô "không rỗng" trong một cột của danh sách hay các trị của một cơ sở dữ liệu, theo một điều kiện được chỉ định.

DGET (database, field, criteria) : Trích một giá trị từ một cột của một danh sách hay cơ sở dữ liệu, khớp với điều kiện được chỉ định.

DMAX (database, field, criteria) : Trả về trị lớn nhất trong một cột của một danh sách hay của một cơ sở dữ liệu, theo một điều kiện được chỉ định.

DMIN (database, field, criteria) : Trả về trị nhỏ nhất trong một cột của một danh sách hay của một cơ sở dữ liệu, theo một điều kiện được chỉ định.

DRODUCT (database, field, criteria) : Nhân các giá trị trong một cột của một danh sách hay của một cơ sở dữ liệu, theo một điều kiện được chỉ định.

DSTDEV (database, field, criteria) : Ước lượng độ lệch chuẩn của một tập hợp theo mẫu, bằng cách sử dụng các số liệu trong một cột của một danh sách hay của một cơ sở dữ liệu, theo một điều kiện được chỉ định.

DSTDEVP (database, field, criteria) : Tính độ lệch chuẩn của một tập hợp theo toàn thể các tập hợp, bằng cách sử dụng các số liệu trong một cột của một danh sách hay của một cơ sở dữ liệu, theo một điều kiện được chỉ định.

DSUM (database, field, criteria) : Cộng các số trong một cột của một danh sách hay của một cơ sở dữ liệu, theo một điều kiện được chỉ định.

DVAR (database, field, criteria) : Ước lượng sự biến thiên của một tập hợp dựa trên một mẫu, bằng cách sử dụng các số liệu trong một cột của một danh sách hay của một cơ sở dữ liệu, theo một điều kiện được chỉ định.

DVARP (database, field, criteria) : Tính toán sự biến thiên của một tập hợp dựa trên toàn thể tập hợp, bằng cách sử dụng các số liệu trong một cột của một danh sách hay của một cơ sở dữ liệu, theo một điều kiện được chỉ định.

GETPIVOTDATA (data_field, pivot_table, field1, item1, field2, item2,...) : Trả về dữ liệu được lưu giữ trong báo cáo PivotTable. Có thể dùng GETPIVOTDATA để lấy dữ liệu tổng kết từ một báo cáo PivotTable, với điều kiện là phải thấy được dữ liệu tổng kết từ trong báo cáo đó.

Nói chung về Các Hàm Quản lý Cơ sở dữ liệu và Danh sách

Microsoft Excel cung cấp nhiều hàm dùng cho việc phân tích dữ liệu trong danh sách hay cơ sở dữ liệu. Những hàm này bắt đầu bằng chữ D.

Mỗi hàm đều sử dụng 3 đối số là database, field và criteria; những đối số này là các tham chiếu đến các mảng trong bảng tính.

* database : Là một dãy các ô tạo nên danh sách hay cơ sở dữ liệu. Một cơ sở dữ liệu là một danh sách dữ liệu gồm những mẩu tin, và có cột dữ liệu là các trường (field). Dòng đầu tiên trong danh sách luôn chứa tên trường.

* field : Cho biết cột nào được sử dụng trong hàm. field có thể được cho ở dạng text với tên cột được để trong cặp dấu ngoặc kép (như "Age", "Yield"...) hay là số đại diện cho vị trí của cột (1, 2, ...)

* criteria : Là một dãy các ô chứa điều kiện. Có thể dùng bất cứ dãy nào cho phần điều kiện này, miễn là dãy đó có ít nhất một tên cột và một ô bên dưới tên cột để làm điều kiện cho hàm (xem thêm bài Một số ví dụ về cách dùng Criteria để nhập điều kiện ở sau đây).

HÀM NGÀY THÁNG VÀ THỜI GIAN

Một số lưu ý khi sử dụng ngày tháng và thời gian trong Excel:

Excel hỗ trợ tính toán ngày tháng cho Windows và Macintosh. Windows dùng hệ ngày bắt đầu từ 1900. Macitosh dùng hệ ngày bắt đầu từ 1904. Tài liệu này được diễn giải theo hệ ngày 1900 dành cho Windows.

Hệ thống ngày giờ Excel phụ thuộc vào thiết lập trong Regional Options của Control Panel. Mặc định là hệ thống của Mỹ "Tháng/Ngày/Năm" (M/d/yyyy). Bạn có thể sửa lại thành hệ thống ngày của VN "Ngày/Tháng/Năm" (dd/MM/yyyy).

Khi bạn nhập một giá trị ngày tháng không hợp lệ nó sẽ trở thành một chuỗi văn bản. Công thức tham chiếu tới giá trị đó sẽ trả về lỗi.

=NOW() Cho hiện ngày giờ của hệ thống

=TODAY() Cho ngày của hệ thống

=DAY(D) Cho giá trị ngày của D (Trả về thứ tự của ngày trong tháng từ một giá trị kiểu ngày tháng)

=MONTH(D) Cho giá trị tháng của D

=YEAR(D) Cho giá trị năm của D

=DAYS360(BTNT1, BTNT2) Tính số ngày giữa 2 mốc ngày tháng dựa trên cơ sở một năm có 360 ngày.

=EDATE Trả về mốc thời gian xảy ra trước hoặc sau mốc chỉ định

=EOMONTH Trả về ngày cuối cùng của tháng xảy ra trước hoặc sau mốc chỉ định

Hàm HOUR()

Cho biết số chỉ giờ trong một giá trị thời gian

Cú pháp: = HOUR(serial_number)

serial_number: Biểu thức thời gian hoặc là một con số chỉ giá trị thời gian

Ví dụ: HOUR(0.5) = 12 (giờ)

Hàm MINUTE()

Cho biết số chỉ phút trong một giá trị thời gian

Cú pháp: = MINUTE(serial_number)

serial_number: Biểu thức thời gian hoặc là một con số chỉ giá trị thời gian

Ví dụ: Bây giờ là 10:20 PM, MINUTE(NOW()) = 20 (phút)

=MONTH Trả về số tháng của một giá trị kiểu ngày tháng.

=NETWORKDAYS Trả về số ngày làm việc trong mốc thời gian đưa ra sau khi trừ đi ngày nghĩ và ngày lễ.

=NOW Trả về ngày giờ hiện tại trong hệ thống của bạn.

Hàm SECOND()

Cho biết số chỉ giây trong một giá trị thời gian

Cú pháp: = SECOND(serial_number)

serial_number: Biểu thức thời gian hoặc là một con số chỉ giá trị thời gian

Ví dụ: SECOND("2:45:30 PM") = 30 (giây)

Hàm TIME()

Trả về một giá trị thời gian nào đó

Cú pháp: = TIME(hour, minute, second)

hour: Số chỉ giờ, là một con số từ 0 đến 23. Nếu lớn hơn 23, Excel sẽ tự trừ đi một bội số của 24.

minute: Số chỉ phút, là một con số từ 0 đến 59. Nếu lớn hơn 59, Excel sẽ tính lại và tăng số giờ lên tương ứng.

second: Số chỉ giây, là một con số từ 0 đến 59. Nếu lớn hơn 59, Excel sẽ tính lại và tăng số phút, số giờ lên tương ứng.

Ví dụ:

TIME(14, 45, 30) = 2:45:30 PM

TIME(14, 65, 30) = 3:05:30 PM

TIME(25, 85, 75) = 2:26:15 AM

* Cũng như DATE(), hàm TIME() rất hữu dụng khi hour, minute, second là những công thức mà không phải là một con số, nó sẽ giúp chúng ta tính toán chính xác hơn

Hàm TIMEVALUE()

Chuyển đổi một chuỗi văn bản có dạng thời gian thành một giá trị thời gian để có thể tính toán được

Cú pháp: = TIMEVALUE(time_text)

time_text: Chuỗi văn bản cần chuyển đổi

Ví dụ:

TIMEVALUE("26:15") = 0.09375 (= 2:15:00 AM)

=WEEKDAY Trả về số thứ tự của ngày trong tuần từ giá trị ngày tháng.

=WEEKNUM Trả về số thứ tự của tuần trong năm từ giá trị ngày tháng.

=WORKDAY Trả về ngày làm việc xảy ra trước hoặc sau mốc thời gian đưa ra.

Trong công việc hằng ngày, chắc hẳn chúng ta hay nghĩ đến chuyện việc làm này của mình mất hết mấy phần trăm của một năm, ví dụ, một ngày ngủ hết 6 tiếng, là 1/4 ngày, vậy một năm chúng ta ngủ hết 25% (hic) thời gian...

Hoặc một nhân viên của công ty xin nghỉ việc vào tháng 5, lương tính theo năm, vậy công ty phải trả cho người đó bao nhiêu phần trăm lương khi cho nghỉ việc?

Excel có một hàm để tính tỷ lệ của một khoảng thời gian trong một năm, và cho phép tính theo nhiều kiểu (năm 365 ngày, hay năm 360 ngày, tính theo kiểu Mỹ hay theo kiểu châu Âu...):

Hàm YEARFRAC()

(Dịch từ chữ Year: năm, và Frac = Fraction: tỷ lệ)

Cú pháp: = YEARFRAC(start_date, end_date [, basis])

start_date, end_date: Ngày tháng đại diện cho ngày bắt đầu và ngày kết thúc của khoảng thời gian cần tính toán. Nên nhập bằng hàm DATE(), hoặc dùng một kết quả trả về của một công thức khác, vì có thể sẽ xảy ra lỗi nếu bạn nhập trực tiếp ngày tháng dưới dạng text.

basis: Một con số, quy định kiểu tính:

* 0 : (hoặc không nhập) Tính toán theo kiểu Bắc Mỹ, một năm có 360 ngày chia cho 12 tháng, một tháng có 30 ngày.

* 1 : Tính toán theo số ngày thực tế của năm và số ngày thực tế của từng tháng

* 2 : Tính toán theo một năm có 360 ngày, nhưng số ngày là số ngày thực tế của từng tháng

* 3 : Tính toán theo một năm có 365 ngày, và số ngày là số ngày thực tế của từng tháng

* 4 : Tính toán theo kiểu Châu Âu,mỗi tháng có 30 ngày (nếu start_date hoặc end_date mà rơi vào ngày 31 của một tháng thì chúng sẽ được đổi thành ngày 30 của tháng đó)

Ví dụ: Tính tỷ lệ giữa ngày 15/3/2010 và ngày 30/7/2010 so với 1 năm:

YEARFRAC("15/3/2010", "30/7/2010") = 37%

Tính số ngày chênh lệch theo kiểu một năm có 360 ngày

Hiện nay, vẫn còn một số hệ thống kế toán dùng kiểu tính thời gian là một tháng coi như có 30 ngày và một năm coi như có 360 ngày!

Gặp trường hợp này, việc tính toán thời gian sẽ không đơn giản, vì thực tế thì số ngày trong mỗi tháng đâu có giống nhau.

Có lẽ vì nghĩ đến chuyện đó, nên Excel có một hàm dành riêng cho các hệ thống kế toán dựa trên cơ sở một năm có 360 ngày, đó là hàm DAYS360.

Hàm DAYS360()

Cú pháp: = DAYS360(start_date, end_date [, method])

start_date, end_date: Ngày tháng đại diện cho ngày bắt đầu và ngày kết thúc của khoảng thời gian cần tính toán. Nên nhập bằng hàm DATE(), hoặc dùng một kết quả trả về của một công thức khác, vì có thể sẽ xảy ra lỗi nếu bạn nhập trực tiếp ngày tháng dưới dạng text.

method: Một giá trị logic (TRUE, FALSE) để chỉ cách tính toán, theo kiểu châu Âu hay theo kiểu Mỹ.

* FALSE: (hoặc không nhập) Tính toán theo kiểu Mỹ: Nếu start_date là ngày 31 của tháng, thì nó được đổi thành ngày 30 của tháng đó. Nếu end_date là ngày 31 của tháng và start_date nhỏ hơn 30, thì end_date được đổi thành ngày 1 của tháng kế tiếp.

* TRUE: Tính toán theo kiểu châu Âu: Hễ start_date hoặc end_date mà rơi vào ngày 31 của một tháng thì chúng sẽ được đổi thành ngày 30 của tháng đó.

Ví dụ: So sánh số ngày chênh lệch giữa 01/01/2008 và 31/5/2008 theo kiểu một năm có 360 ngày và theo kiểu thường (dùng hàm DATEDIF)

DAYS360("01/01/2008", "31/5/2008") = 150

DAYS360("01/01/2008", "31/5/2008", TRUE) = 149

DATEDIF("01/01/2008", "31/5/2008", "d") = 151

Tính số ngày làm việc giữa hai khoảng thời gian

Bình thường, nếu lấy ngày tháng trừ ngày tháng, kết quả sẽ bao gồm luôn những ngày lễ, ngày nghỉ, v.v... Còn nếu tính số ngày làm việc trong một khoảng thời gian, thì phải trừ bớt đi những ngày không làm việc.

Trong Excel có một hàm chuyên để tính toán những ngày làm việc giữa hai khoảng thời gian mà không bao gồm các ngày thứ Bảy, Chủ Nhật và những ngày nghỉ khác được chỉ định: Hàm NETWORKDAYS (đúng nguyên nghĩa của nó: net workdays).

Dĩ nhiên hàm này chỉ thích hợp với những cơ quan làm việc 5 ngày một tuần, chứ như chúng ta, làm tuốt, có khi là 365 ngày một năm (hic) thì hàm này vô tác dụng!

Hàm NETWORKDAYS()

Cú pháp: = NETWORKDAYS(start_date, end_date [, holidays])

start_date, end_date: Ngày tháng đại diện cho ngày bắt đầu và ngày kết thúc công việc. Nên nhập bằng hàm DATE(), hoặc dùng một kết quả trả về của một công thức khác, vì có thể sẽ xảy ra lỗi nếu bạn nhập trực tiếp ngày tháng dưới dạng text.

holidays: Danh sách những ngày nghỉ ngoài những ngày thứ Bảy và Chủ Nhật. Danh sách này có thể là một vùng đã được đặt tên. Nếu nhập trực tiếp thì phải bỏ trong cặp dấu móc {}.

Ví dụ: Công thức tính số ngày làm việc giữa ngày 1/12/2010 và ngày 10/1/2011, trong đó có nghỉ ngày Noel (25/12) và ngày Tết Tây (1/1):

= NETWORKDAYS("01/12/2010", "10/01/2011", {"12/25/2007", "1/1/2011"})

Hàm DATEDIF()

Có lẽ cách dễ nhất khi muốn tính toán ngày tháng năm là dùng hàm DATEDIF().

Cú pháp: = DATEDIF(start_day, end_day, unit)

start_day: Ngày đầu

end_day: Ngày cuối (phải lớn hơn ngày đầu)

unit: Chọn loại kết quả trả về (khi dùng trong hàm phải gõ trong dấu ngoặc kép)

y : số năm chênh lệch giữa ngày đầu và ngày cuối

m : số tháng chênh lệch giữa ngày đầu và ngày cuối

d : số ngày chênh lệch giữa ngày đầu và ngày cuối

md : số ngày chênh lệch giữa ngày đầu và tháng ngày cuối, mà không phụ thuộc vào số năm và số tháng

ym : số tháng chênh lệch giữa ngày đầu và ngày cuối, mà không phụ thuộc vào số năm và số ngày

yd : số ngày chênh lệch giữa ngày đầu và ngày cuối, mà không phụ thuộc vào số năm

Ví dụ:

DATEDIF("01/01/2000", "31/12/2100", "y") = 100 (năm)

DATEDIF("01/01/2000", "31/12/2100", "m") = 1211 (tháng)

DATEDIF("01/01/2000", "31/12/2100", "d") = 36889 (ngày)

DATEDIF("01/01/2000", "31/12/2100", "md") = 30 (= ngày 31 - ngày 1)

DATEDIF("01/01/2000", "31/12/2100", "ym") = 11 (= tháng 12 - tháng 1)

DATEDIF("01/01/2000", "31/12/2100", "yd") = 365 (= ngày 31/12 - ngày 1/1)

*Tính tuổi (2):

Ở bài trước, tôi đã đưa ra một cái công thức để tính tuổi dài thoòng như vầy:

= YEAR(NOW() - YEAR(Birthdate) - (DATE(YEAR(NOW()), MONTH(Birthdate), DAY(Birthdate)) > TODAY())

Đó là khi chưa biết đến hàm DATEDIF().

Bây giờ, với DATEDIF(), công thức trên chỉ ngắn như vầy thôi, mà ra kết quả vẫn chính xác:

= DATEDIF(Birthdate, TODAY(), "y")

Ví dụ, hôm nay là ngày 09/01/2007:

* Với ngày sinh là 05/01/1969 (đã tổ chức sinh nhật rồi), DATEDIF("05/01/1969", TODAY(), "y") = 39

* Nhưng với ngày sinh là 11/1/1969 (chưa tổ chức sinh nhật), DATEDIF("11/01/1969", TODAY(), "y") = 38

*Tìm một giờ, phút, giây nào đó tính từ lúc này

Như tôi đã nói ở trên, hàm TIME() sẽ tự động điều chỉnh kết quả của một giá trị thời gian khi những thông số trong hàm không hợp lý (giờ > 24, phút và giây > 60). Và do đó, khi cần tính toán hoặc tìm một giá trị thời gian nào đó kể từ lúc này (hoặc bất kỳ lúc nào), người ta thường sử dụng hàm TIME().

Ví dụ, công thức sau đây sẽ cho ra kết quả là thời gian vào 12 tiếng nữa kể từ lúc này:

= TIME(HOUR(NOW()) + 12, MINUTE(NOW()), SECOND(NOW()))

Không giống như hàm DATE(), bạn không thể đơn giản cộng thêm giờ, phút, hay giây trong hàm TIME(). Ví dụ công thức sau đây chỉ làm mỗi chuyện là tăng thêm 1 ngày vào ngày tháng năm và thời gian hiện tại:

= NOW() + 1

Nếu bạn muốn cộng thêm giờ, phút, hay giây vào một giá trị thời gian, bạn phải tính thời gian cộng thêm đó theo một tỷ lệ của một ngày. Ví dụ, bởi vì một ngày thì có 24 giờ, nên một giờ được tính như là 1/24. Cũng vậy, bởi vì một giờ thì có 60 phút, nên một phút sẽ được tính như là 1/24/60 (của một ngày). Và cuối cùng, bởi vì có 60 giây trong một phút, nên 1 giây trong một ngày sẽ được tính bằng 1/24/60/60.

*Tính tổng thời gian

Khi tính tổng thời gian, bạn nên phân biết hai trường hợp sau đây:

* Cộng thêm giờ, phút, giây: Ví dụ, bây giờ là 8 giờ, cộng thêm 2 tiếng nữa, là 10 giờ... Hoặc bây giờ là 23 giờ, cộng thêm 3 tiếng nữa là 2 giờ sáng (chớ không phải 26 giờ)... Nếu cộng kiểu này thì bạn cứ cộng bình thường, dùng hàm TIME() và nếu cần thì theo bảng hướng dẫn ở trên.

* Cộng tổng thời gian làm việc: Mỗi ngày tôi làm việc 18 tiếng, vậy hai ngày tôi làm mấy tiếng? là 36 tiếng. Nhưng nếu bạn dùng format bình thường dạng thời gian thì Excel nó sẽ tự quy ra (36-24) = 12:00... Để được kết quả là 36:00, bạn phải định dạng thời gian cho ô theo kiểu:

[h]:mm:ss (giờ nằm trong một cặp dấu ngoặc vuông)

Lấy lại định dạng ngày tháng

Đôi khi, bạn nhận được một cái database mà không hiểu vì một lý do gì đó, cell chứa ngày tháng năm nó như sau: 20070823,

nghĩa là nó được định dạng theo kiểu YYYYMMDD.

Trường hợp này, không thể dùng Format Cell của Excel để định dạng lại, mà bạn phải dùng đến hàm DATE(year, month, day)

và các hàm xử lý text, ví dụ hàm LEFT(), MID() và RIGHT() để lấy các trị số ngày, tháng, năm cho hàm DATE():

Tôi giả sử con số 20070823 này đang nằm ở cell A1, thì công thức LEFT(A1, 4) sẽ cho ta trị số của năm, MID(A1, 3, 2) sẽ cho trị số của tháng

và RIGHT(A1, 2) sẽ cho trị số của ngày.

Giả sử trong Control Panel của bạn định dạng ngày tháng năm theo kiểu dd/mm/yyyy, và cell nhận kết quả của bạn đã được định dạng theo kiểu ngày tháng năm,

bạn dùng hàm DATE(year, month, day) với 3 tham số là 3 công thức vừa làm ở trên, ta sẽ có:

=DATE(LEFT(A1, 4), MID(A1, 5, 2), RIGHT(A1, 2))→ 23/8/2007

HÀM TÌM KIẾM VÀ THAM CHIẾU

Bao gồm các hàm tìm kiếm và tham chiếu rất hữu ích khi bạn làm việc với CSDL lớn trong EXCEL như kế toán, tính lương, thuế...

=ADDRESS(row_num, column_num [, abs_num] [, a1] [, sheet_text]) Dùng để tạo địa chỉ dạng chuỗi ký tự, theo chỉ số dòng và chỉ số cột được cung cấp.

row_num: Số thứ tự dòng của địa chỉ

column_num: Số thứ tự cột của địa chỉ

abs_num: Kiểu địa chỉ (tuyệt đối hay tương đối) - mặc định là tuyệt đối

a1: Dạng địa chỉ (=TRUE: dạng A1; =FALSE: dạng R1C1) - mặc định là TRUE

sheet_text: Tên của sheet chứa địa chỉ - mặc định là không có

=AREAS(reference) Trả về số vùng tham chiếu trong một tham chiếu. Mỗi vùng tham chiếu có thể là một ô rời rạc hoặc là một dãy ô liên tục trong bảng tính.

reference: Là một hoặc nhiều vùng tham chiếu mà bạn cần đếm. Nếu muốn đưa nhiều vùng rời rạc nhau vào công thức thì bạn phân cách chúng bằng dấu phẩy, nếu không ngăn bằng dấu phẩy, Excel sẽ không đếm (xem ví dụ 3 dưới đây)

=CHOOSE Trả về giá trị trong mảng giá trị tại vị trí được chỉ định.

=COLUMN(reference) Trả về số thứ tự cột của ô đầu tiên ở góc trên bên trái của vùng tham chiếu.

reference: Là ô hoặc một vùng nhiều ô. Nếu reference bỏ trống thì COLUMN() trả về số thứ tự cột của ô chứa công thức.

=COLUMNS(array) Trả về số cột của vùng tham chiếu.

array: Là ô hoặc một vùng nhiều ô, mảng tham chiếu

=HYPERLINK(link_location, friendly_name) Tạo một siêu liên kết, một liên kết để mở một tài liệu...

link_location: Đường dẫn đến tài liệu cần mở, nhập ở dạng chuỗi ký tự. Link_location có thể chỉ đến một ô đặc biệt, tên của một dãy ô trong một trang bảng tính hoặc một bảng tính, hoặc chỉ đến một đánh dấu (bookmark) trong Microsoft Excel. Link_location cũng có thể chỉ đến một tập tin lưu trên ổ cứng, hoặc một đường dẫn truy xuất nội bộ trên một máy chủ hoặc một đường dẫn tài nguyên URL trên mạng intranet, internet.

- Link_location có thể là một chuỗi ký tự đặt trong dấu nháy kép, hoặc một ô nào đó chứa đường dẫn dưới dạng chuỗi ký tự.

- Nếu link_location liên kết đến một tài nguyên không tồn tại, sẽ xuất hiện lỗi khi bạn kích vào ô chứa hàm HYPERLINK() này.

firendly_name: Là nội dung hiển thị trong ô chứa hàm HYPERLINK(), có thể là một số, hoặc chuỗi ký tự. Nội dung này sẽ hiển thị bằng màu xanh và có gạch chân, nếu không có firendly_name thì chính link_location sẽ hiển thị.

- Firendly_name có thể là một giá trị, một chuỗi ký tự, một tên mảng, hoặc một ô liên kết đến một giá trị hoặc một chuỗi văn bản.

- Nếu firendly_name liên kết đến một giá trị bị lỗi, thì chính tên cái lỗi đó sẽ được hiển thị để thay thế cho nội dung bạn cần.

Ví dụ:

=HYPERLINK("http://example.microsoft.com/report/bu dget report.xls", "Click for report")

sẽ hiển thị: Click for report, và khi bạn click vào ô này, Excel sẽ mở bảng tính budget report.xls của trang web http://example.microsoft.com/report

=HYPERLINK("F:\GPE\book2.xls",F10)

sẽ hiển thị nội dung của ô F10 và khi bạn click vào ô này, Excel sẽ mở bảng tính book2.xls ở thư mục GPE của ổ F

=HYPERLINK("F:\GPE\book2.xls",F10)

sẽ hiển thị nội dung của ô F10 và khi bạn click vào ô này, Excel sẽ mở bảng tính book2.xls ở thư mục GPE của ổ F

=MATCH Trả về vị trí của một giá trị trong bảng dữ liệu

=INDEX Trả về một giá trị trong bảng dữ liệu tương ứng với chỉ mục của nó.

Tìm kiếm trong nhiều cột

Đôi khi, các dữ liệu dùng để tìm kiếm không nằm ở một cột mà trong nhiều cột.

Ví dụ, bạn có một danh sách đã được tách sẵn họ và tên riêng ra hai cột.

Người ta yêu cầu dựa vào họ và tên để xác định chức vụ.

Chúng ta có thể dùng một cột phụ để nối họ và tên lại rồi tìm theo cột phụ... Nhưng có lẽ không cần, vì tôi sẽ dùng hàm INDEX() và MATCH() với công thức mảng.

Hàm MATCH() có một cú pháp ít người biết đến, đó là:

=MATCH(value1 & value2, array1 & array2, match_type)

value1 & value2 là các dữ liệu để tìm (ví dụ họ và tên)

array1 & array2 là các cột (hoặc hàng) chứa các dữ liệu dùng để tìm kiếm đó

Và đây là cú pháp dùng INDEX() ghép với MATCH() trong công thức mảng:

{=INDEX(reference, MATCH(value1 & value2, array1 & array2, match_type))}

=INDIRECT(ref_text [, a1])

ref_text là tham chiếu tới một ô (có thể là dạng A1 hoặc dạng R1C1), là tên định nghĩa của một tham chiếu, hoặc là một tham chiếu dạng chuỗi.

-Nếu ref_text không hợp lệ, INDIRECT() sẽ báo lỗi #REF!

-Nếu ref_text chứa tham chiếu đến một bảng tính khác thì bảng tính này phải đang mở, nếu không, INDIRECT() cũng báo lỗi #REF!

a1 là giá trị logic xác định dạng tham chiếu bên trong ref_text.

a1 = TRUE (hoặc là 1, hoặc không nhập) là kiểu tham chiếu A1

a1 = FALSE (hoặc là 2) là kiểu tham chiếu R1C1

Trả về giá trị của một tham chiếu từ chuỗi ký tự. Tham chiếu được trả về ngay tức thời để hiển thị nội dung của chúng. Cũng có thể dùng hàm INDIRECT khi muốn thay đổi tham chiếu tới một ô bên trong một công thức mà không cần thay đổi công thức đó.

=LOOKUP Dò tìm một giá trị

Hàm LOOKUP

Dùng để dò tìm một giá trị từ một dòng hoặc một cột trong một dãy ô hoặc một mảng giá trị.

Hàm LOOKUP() có hai dạng: Vec-tơ (vector form) và Mảng (array form)

* Dạng Vec-tơ: LOOKUP() tìm kiếm trên một dòng hoặc một cột, nếu tìm thấy sẽ trả về giá trị của ô cùng vị trí trên dòng (hoặc cột) được chỉ định.

* Dạng Mảng: LOOKUP() tìm kiếm trên dòng (hoặc cột) đầu tiên của một mảng giá trị, nếu tìm thấy sẽ trả về giá trị của ô cùng vị trí trên dòng (hoặc cột) cuối cùng trong mảng đó.

Vector form (dạng vec-tơ)

Cú pháp: LOOKUP(lookup_value, lookup_vector, result_vector)

lookup_value: Là giá trị LOOKUP() sẽ tìm kiếm trong lookup_vector. Nó có thể là một số, một ký tự, một giá trị logic, một tên đã được định nghĩa của một vùng ô hoặc một tham chiếu đến một giá trị.

lookup_vector: Là một vùng mà chỉ gồm một dòng (hoặc một cột) có chứa lookup_value. Những giá trị chứa trong vùng này có thể là một số, một ký tự hoặc một giá trị logic.

- lookup_vector phải được sắp xếp theo thứ tự tăng dần, nếu không, LOOKUP() có thể cho kết quả không chính xác.

- Nếu không tìm thấy lookup_value trong lookup_vector thì LOOKUP() sẽ lấy giá trị lớn nhất mà nhỏ hơn hoặc bằng lookup_value.

- Nếu lookup_value nhỏ hơn giá trị nhỏ nhất trong lookup_vector thì LOOKUP() sẽ báo lỗi #NA!

result_vector: Là một vùng mà chỉ gồm một dòng (hoặc một cột) chứa giá trị trả về. Kích thước của result_vector bắt buộc phải bằng kích thước của lookup_vector.

^^ Array form (dạng mảng)

Cú pháp: LOOKUP(lookup_value, array)

lookup_value: Là giá trị LOOKUP() sẽ tìm kiếm trong array. Nó có thể là một số, một ký tự, một giá trị logic, một tên đã được định nghĩa của một vùng ô hoặc một tham chiếu đến một giá trị.

- Nếu không tìm thấy lookup_value trong array thì LOOKUP() sẽ lấy giá trị lớn nhất mà nhỏ hơn hoặc bằng lookup_value.

- Nếu lookup_value nhỏ hơn giá trị nhỏ nhất trong cột hoặc hàng đầu tiên trong array thì LOOKUP() sẽ báo lỗi #NA!

array: Là một vùng chứa lookup_value, có thế là số, ký tự, hoặc giá trị logic.

Dạng mảng của LOOKUP() gần tương đương như hàm VLOOKUP() hoặc HLOOKUP().

Khác biệt ở chỗ VLOOKUP() và HLOOKUP() tìm kiếm trên cột (hoặc dòng) đầu tiên, còn LOOKUP() tìm kiếm trên cột hoặc trên dòng tùy thuộc vào dạng mảng được khai báo:

- Nếu array là mảng có số cột nhiều hơn số dòng thì LOOKUP() sẽ tìm trên dòng đầu tiên.

- Nếu array là mảng có số dòng nhiều hơn số cột thì LOOKUP() sẽ tìm trên cột đầu tiên.

- Trường hợp array là mảng có số dòng bằng số cột thì LOOKUP() sẽ tìm trên cột đầu tiên.

- VLOOKUP() và HLOOKUP() lấy kết quả trên cột (hoặc) dòng được chỉ định, còn LOOKUP() luôn luôn lấy kết quả trên dòng (hoặc cột) cuối cùng.

- Các giá trị trên dòng (hoặc cột) đầu tiên của array phải được sắp xếp theo thứ tự tăng dần, nếu không, LOOKUP() có thể cho kết quả không chính xác.

Hàm GETPIVOTDATA()

Trả về dữ liệu được lưu giữ trong báo cáo PivotTable. Có thể dùng GETPIVOTDATA() để lấy dữ liệu tổng kết từ một báo cáo PivotTable, với điều kiện là phải thấy được dữ liệu tổng kết từ trong báo cáo đó.

Để nhanh chóng nhập công thức GETPIVOTDATA(), bạn có thể gõ dấu = vào ô muốn nhận dữ liệu tổng kết, rồi nhấp vào ô chứa số liệu tổng kết của báo cáo PivotTable.

Cú pháp: = GETPIVOTDATA(data_field, pivot_table, field1, item1, field2, item2,...)

data_field : Tên trường chứa dữ liệu tổng kết của báo cáo PivotTable. Tên này phải được đặt trong một cặp dấu nháy kép.

pivot_data : Tham chiếu đến một ô, dãy ô, hoặc tên dãy ô bên trong một báo cáo PivotTable. Thông tin này được dùng để xác định báo cáo PivotTable nào chứa dữ liệu trả về.

field1, item1, field2, item2,... : Có thể có từ 1 đến 126 (với Excel 2003 trở về trước thì con số này chỉ là 14) cặp tên field và item mô tả dữ liệu muốn trả về. Những cặp này có thể thuộc bất cứ loại nào. Nếu tên field và item không là ngày tháng hoặc số liệu, cần phải đặt chúng trong cặp dấu nháy kép. Đối với loại báo cáo OLAP PivotTable, items có thể bao gồm đầy đủ đường dẫn lẫn tên của item. Một cặp field và item của OLAP PivotTable có thể như sau:

"[Product]","[Product].[All Products].[Foods].[Baked Goods]"

Lưu ý:

* Các field hay item tính toán và các phép tính tự tạo có thể được đặt trong phép tính GETPIVOTDATA.

* Nếu pivot_table là một dãy có chứa nhiều hơn 1 báo cáo PivotTable, dữ liệu trả về sẽ là từ báo cáo được tạo ra sau cùng.

* Nếu đối số field và các đối số của item mô tả chỉ mỗi một ô, giá trị của ô đó sẽ được trả về mà không cần biết giá trị đó là chuỗi, là số, là lỗi, hay là một thứ gì đó...

* Nếu item chứa ngày tháng, giá trị phải được biểu diễn dưới dạng một chuỗi số hoặc được thiết lập bằng cách dùng hàm DATE() để giá trị đó sẽ không biến đối khi bảng tính được mở ở một máy khác, có hệ thống định dạng ngày tháng khác với nơi tạo ra nó. Ví dụ, một item tham chiếu tới ngày 5 tháng 3 năm 1999 có thể được nhập là 36224 hay DATE(1999, 3, 5). Thời gian có thể được nhập như một giá trị thập phân hoặc bằng cách dùng hàm TIME().

* Nếu pivot_table không phải là một dãy có chứa báo cáo PivotTable, GETPIVOTDATA() sẽ trả về lỗi #REF!

* Nếu các đối số miêu tả một field không thể thấy được, hoặc nếu chúng gồm một trường không hiển thị, GETPIVOTDATA() cũng sẽ trả về lỗi #REF!

Hàm DGET()

Trích một giá trị từ một cột của một danh sách hay cơ sở dữ liệu, khớp với điều kiện được chỉ định.

Cú pháp: = DGET(database, field, criteria)

=OFFSET(reference, rows, cols [, height] [, width]) Trả về một vùng tham chiếu từ một vùng xuất phát.

Đây là một trong những hàm rất hay của Excel, và được ứng dụng rất nhiều.

Nó dùng để tham chiếu đến một vùng nào đó, bắt đầu từ một ô, hoặc một dãy ô, với một khoảng cách được chỉ định.

reference: Là vùng mà bạn muốn làm điểm xuất phát để tham chiếu đến vùng khác. Reference phải chỉ đến một ô hoặc một dãy ô liên tục, nếu không, hàm sẽ báo lỗi #VALUE!

rows: Số dòng dời lên (hoặc xuống) tính từ reference, nhập số dương nếu muốn dời xuống, hoặc số âm nếu muốn dời lên.

cols: Số cột dời sang phải trái (hoặc phải) tính từ reference, nhập số dương nếu muốn dời sang phải, hoặc số âm nếu muốn dời sang trái.

height: Là số dòng (độ cao) của vùng tham chiếu cần trả về.

width: Là số cột (độ rộng) của vùng tham chiếu cần trả về.

Ghi chú:

* Nếu số dòng (rows) hoặc cột (cols) vượt ra ngoài phạm vi bảng tính, hàm sẽ báo lỗi #REF!

* Độ cao (height) và độ rộng (width) nếu không nhập, thì xem như nó bằng với độ cao và độ rộng của vùng xuất phát (reference)

=ROW(reference) Trả về số thứ tự dòng của ô đầu tiên trong dãy ô. Trả về số thứ tự dòng của ô đầu tiên ở góc trên bên trái của vùng tham chiếu.

reference: Là ô hoặc một vùng nhiều ô. Nếu reference bỏ trống thì ROW() trả về số thứ tự cột của ô chứa công thức.

=ROWS(array) Trả về số dòng của vùng tham chiếu.

array: Là ô hoặc một vùng nhiều ô, mảng tham chiếu

=TRANSPOSE(array) Chuyển một vùng dữ liệu ngang thành dọc và ngược lại.

Hàm TRANSPOSE() luôn luôn được nhập ở dạng công thức mảng (nhấn Ctrl-Shift-Enter sau khi nhập)

array: Là mảng dữ liệu cần hoán chuyển

Nếu số cột trong vùng nhập công thức nhiều hơn số hàng của array, hoặc số hàng trong vùng nhập công thức nhiều hơn số cột của array, hàm sẽ báo lỗi #NA tại những ô bị dư ra.

=VLOOKUP(giá trị tìm, vùng cần tìm, cột cần lấy, cách tìm) Dò tìm một giá trị trên cột đầu tiên và trả về ...

Hàm tìm kiếm và tham chiếu theo cột.

Vùng cần tìm: thường để ở chế độ giá trị tuyệt đối: $

Cột cần lấy: ở vùng cần tìm.

Cách tìm: Tìm theo 2 giá trị:

0: Cột bên trái của vùng cần tìm không sắp xếp (ngầm định)

1: Sắp xếp tăng dần.

=HLOOKUP(giá trị tìm, vùng cần tìm, hàng cần lấy, cách tìm) Dò tìm một giá trị trên hàng đầu tiên và trả về ... - giống hàm VLOOKUP

Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây