PART II - HARNESSING THE
POWER OF FUNCTIONS
Phần II - Tận dụng sức mạnh của các hàm
Chapter 6 - UNDERSTANDING FUNCTIONS
Chương 6 - Tìm hiểu các hàm
The formulas that you can construct based on the information presented in Part I,
“Mastering Excel Ranges and Formulas,” can range from simple additions and subtractions to
powerful iteration-based solutions to otherwise difficult problems.
Những công thức mà bạn xây dựng dựa trên những thông tin được trình bày trong phần I,
"Nắm vững các Dãy và Công thức trong Excel", có thể bắt đầu từ những phép tính cộng và
trừ đơn giản đến những lời giải dựa vào sự lặp đi lặp lại phức tạp cho những bài toán khó.
Formulas that combine Excel’s operators with basic operands such as numeric and string
values are the bread and butter of any spreadsheet. But to get to the real meat of a
spreadsheet model, you need to expand your formula repertoire to include Excel’s
worksheet functions. Dozens of these functions exist, and they’re an essential part of
making your worksheet work easier and more powerfully. Excel has various function
categories, including the following:
Những công thức kết hợp với các toán tử của Excel và các toán hạng cơ bản, chẳng hạn như
các giá trị số và chuỗi văn bản, là những thành phần chính của bất kỳ bảng tính nào. Nhưng
để đi vào trung tâm thực sự của một mô hình bảng tính, bạn cần mở rộng nguồn công thức
của mình, cho nó bao gồm thêm các hàm bảng tính của Excel. Có hàng chục hàm, và chúng
là một phần thiết yếu trong việc làm cho bảng tính của bạn làm việc dễ dàng và mạnh mẽ
hơn. Excel có các nhiều hàm khác nhau, bao gồm:
• Text (Chuỗi văn bản)
• Logical (Luận lý)
• Information (Thông tin)
• Lookup and reference (Dò tìm và tham chiếu)
• Date and time (Ngày tháng và thời gian)
• Math and trigonometry (Toán học và lượng giác)
• Statistical (Thống kê)
• Financial (Tài chính)
• Database and table (Dữ liệu và bảng)
This chapter gives you a short introduction to Excel’s built-in worksheet functions. You’ll
learn what the functions are, what they can do, and how to use them. The next six chapters
give you detailed descriptions of the functions in the categories listed earlier. (The
exceptions are the database and table category, which I cover in Chapter 13, “Analyzing
Data with Tables,” and the financial category, which I cover in Part 4, “Building Financial
Formulas.”)
Chương này giới thiệu ngắn gọn cho bạn về các hàm bảng tính có sẵn trong Excel. Bạn sẽ
học các hàm là gì, chúng có thể làm gì, và sử dụng chúng như thế nào. Sáu chương tiếp
theo mô tả chi tiết các hàm trong danh mục trên đây (ngoại trừ các hàm trong nhóm dữ liệu
và bảng, tôi sẽ đề cập đến trong chương 13, "Phân tích dữ liệu với các bảng"; và nhóm hàm
tài chính, tôi sẽ nói đến ở phần IV, "Xây dựng những công thức tài chính".
IN THIS CHAPTER
Trong chương này:
6.1. The Structure of a Function - Cấu trúc của một Hàm
6.2. Typing a Function into a Formula - Nhập một Hàm vào trong một Công thức
6.3. Using the Insert Function Feature - Sử dụng tính năng Insert Function (chèn hàm)
6.4. Loading the Analysis ToolPak - Cài đặt Add-in Analysis ToolPak
You can download the workbook that contains this chapter’s examples here:
Bạn có thể tải về bảng tính với những ví dụ trong chương này tại đây:
www.mcfedries.com/Excel2007Formulas/
6.1. The Structure of a Function
Cấu trúc của một Hàm
Every function has the same basic form:
Mỗi hàm đều có chung một dạng cơ bản:
FUNCTION(
argument1
,
argument2
, ...)
The FUNCTION part is the name of the function, which always appears in uppercase letters
(such as SUM or PMT). Note, however, that you don’t need to type in the function name
using uppercase letters. Whatever case you use, Excel automatically converts the name to
all uppercase. In fact, it’s good practice to enter function names using only lowercase
letters. That way, if Excel doesn’t convert the function name to uppercase, you know that it
doesn’t recognize the name, which means you probably misspelled it.
FUNCTION là tên của hàm, nó luôn luôn xuất hiện ở dạng chữ hoa (ví dụ như SUM hoặc
PMT). Tuy nhiên, bạn không cần phải nhập tên hàm với các chữ hoa, cho dù bạn gõ như thế
nào, Excel cũng tự động chuyển đổi tên hàm thành các chữ hoa. Và thật ra, cách tốt nhất là
nên nhập tên hàm bằng các chữ thường, vì khi Excel không chuyển đổi tên hàm thành các
chữ hoa, bạn biết ngay rằng nó không nhận biết được tên hàm, nghĩa là có thể bạn đã nhập
sai tên hàm.
The items that appear within the parentheses and separated by commas are the function
arguments. The arguments are the function’s inputs — the data it uses to perform its
calculations. With respect to arguments, functions come in two flavors:
Các mục nằm trong cặp dấu ngoặc đơn và cách nhau bằng các dấu phẩy là những đối số
(argument) của hàm. Đối số là các "đầu vào" của hàm — là dữ liệu mà nó dùng để thực
hiện các phép tính. Nếu phân loại theo đối số, thì các hàm bao gồm hai loại như sau:
• No arguments — Many functions don’t require any arguments. For
example, the NOW() function returns the current date and time, and
doesn’t require arguments.
Không cần đối số — Có nhiều hàm không đòi hỏi bất kỳ đối số nào. Ví
dụ, hàm NOW() trả về ngày tháng và thời gian hiện hành, không đòi hỏi
phải có đối số.
• One or more arguments — Most functions accept at least 1 argument,
and some accept as many as 9 or 10 arguments. These arguments fall
into two categories: required and optional. The required arguments must
appear between the parentheses, or the formula will generate an error.
You use the optional arguments only if your formula needs them.
Một hay nhiều đối số — Hầu hết các hàm có tối thiểu một đối số, và một
số hàm khác có nhiều hơn, có thể lên đến 9 hoặc 10 đối số. Những đối số
này được chia thành hai loại: bắt buộc và tùy chọn. Những đối số bắt buộc
phải xuất hiện ở trong cặp dấu ngoặc đơn, nếu không thì hàm sẽ tạo ra
một lỗi. Bạn chỉ sử dụng các đối số tùy chọn khi nào công thức của bạn
cần có chúng.
BNTT: Xin nói rõ thêm về dấu phẩy dùng tách biệt các đối số. Dấu phẩy ở đây không nên
hiểu đơn thuần là dấu phẩy (,) trong bàn phím, mà bạn nên hiểu rằng đây là một seperator,
là dấu phân cách. Dấu này được quy định trong Control Panel của hệ điều hành, và trong
Option của Excel. Đây là sách viết bằng tiếng Anh/Mỹ, do đó sử dụng dấu phẩy làm dấu
phân cách như là mặc định. Ở VN, có một số bạn thích dùng dấu hai chấm (;) làm dấu phân
cách hơn, cho nên nếu bạn dùng dấu phân cách là dấu chấm phẩy, thì bạn nên hiểu dấu
phẩy mà tôi đề cập đến trong loạt bài này chính là dấu chấm phẩy mà bạn đang dùng.
Let’s look at an example. The FV() function determines the future value of a regular
investment based on three required arguments and two optional ones:
Hãy xem một ví dụ. Hàm FV() quyết định giá trị tương lai của một khoản đầu tư thường
xuyên, dựa vào ba đối số bắt buộc và hai đối số tùy chọn:
FV(rate, nper, pmt [, pv] [, type])
This is called the function syntax. Three conventions are at work here and throughout the
rest of this book:
Đây gọi là cú pháp của hàm. Có ba quy ước được thực thi ở đây và trong suốt phần còn lại
của cuốn sách này:
• Italic type indicates a placeholder. That is, when you use the function, you
replace the placeholder with an actual value.
Những chữ in nghiêng biểu thị một placeholder, nghĩa là khi bạn sử dụng
hàm, bạn thay thế cáiplaceholder bằng một giá trị thích hợp.
• Arguments surrounded by square brackets are optional.
Những đối số nằm trong cặp dấu ngoặc vuông là những đối số tùy chọn.
• All other arguments are required.
Những đối số còn lại là bắt buộc phải có.
CAUTION: Be careful how you use commas in functions that have optional arguments. In
general, if you omit an optional argument, you must leave out the comma that precedes the
argument. For example, if you omit just the type argument from FV(), you write the
function like so:
Bạn phải cẩn thận cách sử dụng dấu phẩy trong hàm cho những đối số tùy chọn. Nói chung,
nếu bạn bỏ qua một đối số tùy chọn, bạn phải bỏ đi dấu phẩy đứng trước đối số đó. Ví dụ,
nếu bạn chỉ bỏ bớt đối số type của hàm FV(), bạn nhập công thức như sau
FV(rate, nper, pmt, pv)
However, if you omit just the pv argument, you need to include all the commas so that
there is no ambiguity about which value refers to which argument:
Tuy nhiên, nếu bạn bỏ qua đối số pv, bạn cần phải bao gồm tất cả các dấu phẩy để tránh sự
lẫn lộn giá trị nào là của đối số nào:
FV(rate, nper, pmt, , type)
For each argument placeholder, you substitute an appropriate value. For example, in the
FV() function, you substitute rate with a decimal value between 0 and 1, nper with an
integer, and pmt with a dollar amount. Arguments can take any of the following forms:
Đối với mỗi đối số placeholder, bạn thay thế chúng bằng một giá trị thích hợp. Ví dụ, trong
hàm FV(), bạn thay thế rate băng một giá trị thập phân giữa 0 và 1, thay thế nper bằng
một số nguyên, và thay thế pmt bằng một số tiền. Các đối số có thể có bất kỳ dạng nào
trong số những dạng sau:
• Literal alphanumeric values
Những ký tự, chữ số
• Expressions
Các biểu thức
• Cell or range references
Các tham chiếu đến ô hoặc đến dãy
• Range names
Các tên dãy
• Arrays
Các mảng
• The result of another function
Kết quả của một công thức khác
The function operates by processing the inputs and then returning a result. For example, the
FV() function returns the total value of the investment at the end of the term. Figure 6.1
shows a simple future-value calculator that uses this function. (In case you’re wondering, I
entered the Payment value in cell B4 as negative because Excel always treats any money
you have to pay as a negative number.)
Hàm hoạt động bằng cách xử lý các "đầu vào" và trả về một kết quả. Ví dụ, hàm FV() trả về
tổng giá trị của khoản đầu tư ở cuối kỳ hạn. Hình 6.1 minh họa một ví dụ đơn giản của hàm
này (có thể bạn ngạc nhiên khi thấy tôi nhập giá trị payment trong ô B4 là số âm, bởi vì
Excel luôn luôn coi bất kỳ số tiền nào bạn phải chi ra là một số âm).
Figure 6.1 - Future Value Calculator.xlsx
6.2. Typing a Function into a Formula
Nhập một Hàm vào trong một Công thức
You always use a function as part of a cell formula. So, even if you’re using the function by
itself, you still need to precede it with an equals sign. Whether you use a function on its own
or as part of a larger formula, here are a few rules and guidelines to follow:
Bạn luôn luôn dùng một hàm như là một thành phần của một ô công thức. Do đó, ngay cả
khi bạn chỉ sử dụng hàm, bạn vẫn phải đặt một dấu bằng ở trước nó. Cho dù bạn dùng một
hàm đơn thuần hay dùng một hàm như là một thành phần trong một công thức lớn hơn,
bạn phải theo những quy luật và những hướng dẫn sau đây:
• You can enter the function name in either uppercase or lowercase letters.
Excel always converts function names to uppercase.
Bạn có thể nhập tên hàm bằng chữ hoa hay bằng chữ thường. Excel luôn
luôn chuyển đổi tên hàm thành chữ hoa.
• Always enclose function arguments in parentheses.
Luôn luôn đặt các đối số của hàm trong dấu ngoặc đơn.
• Always separate multiple arguments with commas. (You might want to
add a space after each comma to make the function more readable. Excel
ignores the extra spaces.)
Luôn luôn phân cách các đối số bằng dấu phẩy (bạn có thể thêm một
khoảng trắng sau mỗi dấu phẩy để làm cho hàm dễ đọc hơn, Excel sẽ bỏ
qua các khoảng trắng phụ này).
• You can use a function as an argument for another function. This is called
nesting functions. For example, the function AVERAGE(SUM(A1:A10),
SUM(B1:B15)) sums two columns of numbers and returns the average of
the two sums.
Bạn có thể dùng một hàm như là một đối số của một hàm khác. Đây gọi là
những hàm lồng nhau. Ví dụ, hàm AVERAGE(SUM(A1:A10),
SUM(B1:B15)) tính tổng của hai cột số lại và trả về trung bình cộng của
hai tổng đó.
In Chapter 1, I introduced you to a new Excel 2007 feature called Name AutoComplete that
shows you a list of named ranges that begin with the characters you’ve typed into a cell.
That feature also applies to functions. As you can see in Figure 6.2, when you begin typing a
name in Excel 2007, the program displays a list of the functions that start with the letters
you’ve typed and also displays a description of the currently selected function. Select the
function you want to use, and then press Tab to include it in the formula.
Ở chương 1, tôi đã giới thiệu một tính năng mới của Excel 2007 là Name AutoComplete,
nó sẽ hiển thị một danh sách các dãy có tên bắt đầu bằng những ký tự mà bạn nhập vào
trong ô ngay khi bạn đang nhập. Tính năng đó cũng áp dụng cho các hàm. Như bạn thấy ở
hình 6.2, khi bạn bắt đầu gõ một tên trong Excel, chương trình sẽ hiển thị một danh sách
các hàm bắt đầu với ký tự mà bạn vừa gõ vào, đồng thời cũng hiển thị một mô tả khái quát
về nội dung của hàm mà bạn đang chọn trong danh sách này; và rồi bạn chỉ việc chọn hàm
bạn muốn dùng, nhấn phím Tab để chèn nó vào trong công thức.
➔ For the details on AutoComplete for named ranges, see“Working with Name
AutoComplete”.
Để xem chi tiết về tính năng AutoComplete cho tên dãy, bạn xem lại bài "Sử dụng
AutoComplete để chèn tên dãy".
Figure 6.2
After you select the function from the AutoComplete list (or when you type a function name
followed by the left parenthesis), Excel then displays a pop-up banner that shows the
function syntax. The current argument is displayed in bold type. In the example shown in
Figure 6.3, the nper argument is shown in bold, so the next value (or cell reference, or
whatever) entered will apply to that argument. When you type a comma, Excel bolds the
next argument in the list.
Sau khi bạn đã chọn hàm từ danh sách AutoComplete (hoặc khi bạn nhập xong tên hàm và
bắt đầu mở dấu ngoặc đơn để nhập đối số), Excel sẽ hiển thị một cái "banner" nổi hướng
dẫn cho bạn cú pháp của hàm. Đối số hiện hành sẽ được tô đậm lên. Trong ví dụ ở hình 6.3,
đối số nper được thể hiện bằng chữ đậm, muốn chỉ ra rằng giá trị tiếp theo (hoặc tham
chiếu ô, hoặc bất cứ thứ gì) được nhập vào sẽ sử dụng đối số này. Khi bạn gõ một dấu phẩy,
Excel sẽ tô đậm đối số tiếp theo (nếu còn).
Figure 6.3
6.3. Using the Insert Function Feature
Sử dụng tính năng Insert Function
Although you’ll usually type your functions by hand, sometimes you might prefer to get a
helping hand from Excel:
Mặc dù bạn thường nhập hàm bằng tay, nhưng đôi khi bạn sẽ thích nhận được sự trợ giúp
của Excel hơn:
• You’re not sure which function to use.
Bạn không biết chắc phải sử dụng hàm nào.
• You want to see the syntax of a function before using it.
Bạn muốn biết cú pháp của hàm trước khi sử dụng nó.
• You want to examine similar functions in a particular category before
choosing the function that best suits your needs.
Bạn muốn kiểm tra các hàm tương tự trong một hạng mục cụ thể trước
khi chọn được hàm thích hợp nhất cho nhu cầu của mình.
• You want to see the effect that different argument values have on the
function result.
Bạn muốn biết tác dụng của những giá trị đối số khác nhau đối với kết quả
của hàm.
For these situations, Excel offers two tools: the Insert Function feature and the Function
Wizard.
Đối với những tình huống này, Excel cung cấp cho bạn hai công cụ: Insert
Function và Function Wizard.
You use the Insert Function feature to choose the function you want from a dialog box.
Here’s how it works:
Bạn sử dụng tính năng Insert Function để chọn ra hàm bạn muốn từ một hộp thoại. Sau
đây là cách nó làm việc:
1. Select the cell in which you want to use the function.
Chọn ô mà bạn muốn sử dụng hàm.
2. Enter the formula up to the point where you want to insert the function.
Nhập công thức, cho tới chỗ mà bạn muốn chèn hàm vào.
3. You now have two choices:
Đến đây, bạn có hai lựa chọn:
o If the function you want is one you inserted recently, it might
appear on the list of recent functions in the Name box. Drop
down the Name box list (see Figure 6.4); if you see the name
of the function you want, click it. Skip to step 6.
Nếu hàm mà bạn muốn là một trong những hàm bạn sử dụng
trong thời gian gần đây, nó sẽ xuất hiện trong danh sách
những hàm gần đây nhất trong hộp Name. Nhấn danh sách
xổ xuống của hộp Name (xem hình 6.4), nếu bạn thấy tên của
hàm mà bạn muốn, nhấn vào nó. Chuyển qua bước 6.
Figure 6.4
o To pick any function, choose Formulas, Insert Function. (You
can also click the Insert Function button in the formula bar —
see Figure 6.5 — or press Shift+F3.) In this case, the Insert
Function dialog box appears, as shown in Figure 6.6.
Để chọn bất kỳ một hàm nào, chọn Formulas, Insert
Function (bạn cũng có thể nhấn nút Insert Function trên
thanh công thức — xem hình 6.5 — hoặc nhấnShift+F3).
Trong trường hợp này, hộp thoại Insert Function xuất hiện,
như minh họa ở hình 6.6.
Figure 6.5
Figure 6.6
4.
2. (Optional) In the Or Select a Category list, click the type of function you
need. If you’re not sure, click All.
(Tùy chọn) Trong danh sách Or Select a Category, chọn loại hàm mà bạn
cần. Nếu bạn không biết hàm bạn cần thuộc loại hàm nào, nhấn chọn All.
3. In the Select a Function list, click the function you want to use. (Note that
after you click inside the Select a Function list, pressing a letter moves the
selection down to the first function that begins with that letter.)
Trong danh sách Select a Function, chọn hàm mà bạn muốn dùng. (Lưu
ý: sau khi bạn nhấn vào bên trong danh sách Select a Function, nếu bạn
nhấn một chữ cái trên bàn phím, thanh chọn sẽ di chuyển tới hàm đầu
tiên có tên bắt đầu bằng chữ cái mà bạn vừa nhấn).
4. Click OK. Excel displays the Function Arguments dialog box..
Nhấn OK. Excel sẽ hiển thị hộp thoại Function Arguments.
TIP: To skip the first six steps and go directly to the Function
Arguments dialog box, enter the name of the function in the cell,
and then either select the Insert Function button or press Ctrl+A.
Alternatively, press the equals (=) sign and then click the function
from the list of recent functions in the Name box.
Để bỏ qua 6 bước đầu vừa nói ở trên và đi thẳng đến hộp
thoại Function Arguments, bạn nhập tên hàm trong ô, và hoặc là
nhấn nút Insert Function hoặc là nhấn Ctrl+A; hay là, nhập một
dấu bằng (=) rồi nhấp vào hàm trong danh sách những hàm sử
dụng gần đây nhất trong hộp Name.
5. For each required argument and each optional argument you want to use,
enter a value, expression, or cell reference in the appropriate text box.
Here are some notes to bear in mind when you’re working in this dialog
box (see Figure 6.7):
Đối với mỗi đối số bắt buộc và tùy chọn mà bạn muốn sử dụng, nhập một
giá trị, một biểu thức, hoặc tham chiếu ô thích hợp vào mỗi khung tương
ứng. Sau đây là một số lưu ý bạn cần nhớ khi làm việc với hộp thoại này
(xem hình 6.7):
o The names of the required arguments are shown in bold type.
Tên của các đối số bắt buộc được in đậm.
o When you move the cursor to an argument text box, Excel
displays a description of the argument.
Khi bạn di chuyển con trỏ tới một khung đối số nào, Excel sẽ
hiển thị mô tả về đối số đó (ở ngay bên dưới).
o After you fill in an argument text box, Excel shows the current
value of the argument to the right of the box.
Sau khi bạn nhập một đối số, Excel hiển thị giá trị hiện hành
của đối số đó ở ngay bên phải của mỗi khung đối số.
o After you fill in the text boxes for all the required arguments,
Excel displays the current value of the function value.
Sau khi bạn đã nhập đầy đủ các đối số bắt buộc, Excel hiển thị
giá trị hiện tại (cho tới lúc này) của giá trị hàm (ở góc dưới
bên trái).
Figure 6.7
6.
7. When you’re finished, click OK. Excel pastes the function and its
arguments into the cell.
Khi bạn đã hoàn tất, nhấn OK. Excel dán công thức và các đối số của nó
vào ô.
6.4. Loading the Analysis ToolPak
Nạp Add-In Analysis ToolPak
Excel’s Analysis ToolPak is a large collection of powerful statistical tools. Some of these tools
use advanced statistical techniques and were designed with only a limited number of
technical users in mind. However, many of them have general applications and can be
amazingly useful. I go through these tools in several chapters later in the book.
Analysis ToolPak là một tập hợp lớn các công cụ thống kê mạnh mẽ. Một số công cụ này sử
dụng những kỹ thuật thống kê cao cấp và được thiết kế dành riêng cho một số ít chuyên gia
kỹ thuật. Tuy nhiên, có nhiều cái trong số này có những ứng dụng chung và hữu dụng một
cách đáng kinh ngạc. Những công cụ đó sẽ được đề cập trong các chương tiếp theo của cuốn
sách này.
In previous versions of Excel, the Analysis ToolPak also included dozens of powerful
functions. In Excel 2007, however, all of these functions are now part of the Excel function
library, so you can use them right away. However, if you need to use the Analysis ToolPak
features you need to load the add-in that makes them available to Excel. The following
procedure takes you through the steps:
Trong các phiên bản trước của Excel, Analysis ToolPak bao gồm trong nó hàng chục hàm rất
mạnh. Còn ở Excel 2007, đa số các hàm này trở thành một phần của thư viện hàm Excel, do
đó bạn có thể sử dụng chúng (mà không cần cài đặt Analyisis ToolPak). Tuy nhiên nếu bạn
cần sử dụng các tính năng khác của Analysis ToolPak, bạn cần nạp add-in này để làm cho
chúng có sẵn trong Excel. Bạn theo các thủ tục sau đây:
1. Choose Office, Excel Options to open the Excel Options dialog box.
Chọn Office, Excel Options để mở hộp thoại Excel Options.
2. Click Add-Ins.
Nhấn vào mục Add-Ins.
3. In the Manage list, click Excel Add-ins and then click Go. Excel displays
the Add-Ins dialog box.
Trong danh sách Manage, nhấn Excel Add-Ins rồi nhấn Go. Excel hiển
thị hộp thoại Add-Ins.
4. Activate the Analysis ToolPak check box, as shown in Figure 6.8.
Đánh dấu vào Analysis ToolPak, như minh họa ở hình 6.8.
Figure 6.8 - Analyisis ToolPak
5. Choose OK.
Nhấn OK.
6. If Excel tells you that the feature isn’t installed, click Yes to install it.
Nếu Excel báo rằng tính năng này chưa được cài đặt, bạn nhấn Yes để cài
đặt nó. (Nghĩa là khi cài đặt Excel vào trong máy, bạn không chọn cài theo
chế độ mặc định hoặc chế độ đầy đủ (Full). Do đó sau khi nhấn Yes như
tôi vừa nói, Excel sẽ yêu cầu bạn bỏ đĩa cài đặt Excel 2007 vào, và bạn cứ
theo các hướng dẫn của nó).
Chapter 7 - WORKING WITH TEXT FUNCTIONS
Chương 7 - Làm việc với các hàm xử lý chuỗi văn bản
In Excel, text is any collection of alphanumeric characters that isn’t a numeric value, a date
or time value, or a formula. Words, names, and labels are all obviously text values, but so
are cell values preceded by an apostrophe (‘) or formatted as Text. Text values are also
called strings, and I’ll use both terms interchangeably in this chapter.
Trong Excel, văn bản là một tập hợp gồm những ký tự chữ và số nhưng không phải là một
giá trị số, một giá trị ngày tháng và thời gian, hoặc là một công thức. Các từ, các tên, các
nhãn, đều là những giá trị text, và tất cả các giá trị trong một ô mà có dấu nháy đơn (')
đứng ở trước cũng là những giá trị text. Các giá trị văn bản (text value) còn được gọi là các
chuỗi (string), và tôi sẽ dùng cả hai thuật ngữ đó thay thế cho nhau trong suốt chương này.
In Chapter 3, “Building Basic Formulas,” you learned about building text formulas in Excel —
not that there was much to learn. Text formulas consist only of the concatenation operator
(&) used to combine two or more strings into a larger string.
Ở chương 3, "Thiết lập những công thức (cơ bản)", bạn đã học về các thiết lập những công
thức xử lý văn bản trong Excel, nhưng chưa học được bao nhiêu, mới chỉ là các công thức
dùng dấu "và" (&) để nối hai hoặc nhiều chuỗi nhỏ thành một chuỗi lớn hơn.
Excel’s text functions enable you to take text formulas to a more useful level by giving you
numerous ways to manipulate strings. With these functions, you can convert numbers to
strings, change lowercase letters to uppercase (and vice versa), compare two strings, and
more.
Các hàm xử lý văn bản trong Excel cho phép bạn đưa các công thức liên quan đến văn bản
lên một cấp độ hữu dụng hơn, bằng việc cho bạn rất nhiều cách để xử lý các chuỗi. Với
những hàm này, bạn có thể chuyển đổi một con số thành một chuỗi, đổi những chữ thường
thành những chữ hoa (và ngược lại), so sánh hai chuỗi, và nhiều điều hơn nữa.
IN THIS CHAPTER
Trong chương này:
1. Excel’s Text Functions
Các hàm xử lý chuỗi văn bản trong Excel
2. Working with Characters and Codes
Làm việc với các ký tự và mã ký tự (code)
3. Converting Text
Chuyển đổi kiểu chữ trong văn bản
4. Formatting Text
Định dạng văn bản
5. Manipulating Text
Xử lý các chuỗi văn bản
6. Removing Unwanted Characters from a String
Loại bỏ các ký tự không mong muốn ra khỏi một chuỗi văn bản
7. Extracting a Substring
Trích xuất một chuỗi con
8. Generating Account Numbers
Tạo các số tài khoản
9. Searching for Substrings
Tìm kiếm một chuỗi con
10. Substituting One Substring for Another
Thay thế một chuỗi con bằng một chuỗi khác
You can download the workbook that contains this chapter’s examples here:
Bạn có thể tải về bảng tính với những ví dụ trong chương này tại đây:
www.mcfedries.com/Excel2007Formulas/
Trong chương này, do hầu hết các hàm tôi đã trình bày chi tiết ở topic Các hàm xử lý
văn bản và chuỗi, nên tôi sẽ không trình bày lại cú pháp và chú giải các đối số của
hàm nữa (không theo như nguyên bản cuốn sách này). Trong các bài dịch tiếp theo
đây, khi nói đến một hàm nào, tôi sẽ tạo liên kết (link) đến bài viết về hàm đó. Nếu
muốn tìm hiểu kỹ hơn về cú pháp và cách sử dụng các đối số (argument), các bạn
theo những liên kết này để xem.
7.1. Excel’s Text Functions
Các hàm xử lý văn bản trong Excel
Table 7.1 summarizes Excel’s text functions, and the rest of this chapter gives you the
details and example uses for most of them.
Bảng 7.1. tóm tắt các hàm xử lý văn bản trong Excel, và phần còn lại của chương này sẽ
trình bày chi tiết và những công dụng mẫu của hầu hết các hàm này.
Table 7.1 - Excel’s Text Functions
Bảng 7.1 - Các hàm văn bản trong Excel
• CHAR (number) : Returns the character that corresponds to the ANSI
code given by number.
Trả về một ký tự tương ứng với mã ANSI đã được cho bởi number.
• CLEAN (text) : Removes all nonprintable characters from text.
Loại bỏ tất cả những ký tự không in ra được trong chuỗi text.
• CODE (text) : Returns the ANSI code for the first character in text.
Trả về mã ANSI của ký tự đầu tiên trong chuỗi text.
• CONCATENATE (text1 [, text2], ...) : Joins the specified strings into a
single string.
Nối nhiều chuỗi đã xác định thành một chuỗi đơn.
• DOLLAR (number [, decimals]) : Converts number to a string that uses
the Currency format.
Chuyển đổi number thành một chuỗi sử dụng định dạng kiểu Currency
(tiền tệ).
• EXACT (text1, text2) : Compares two strings to see whether they are
identical.
So sánh hai chuỗi để xem chúng có giống nhau hay không.
• FIND (find_text, within_text [, start_num]) : Returns the character
position of the text find_textwithin the text within_text. FIND() is case
sensitive.
Trả về vị trí bắt đầu của chuỗi find_text trong chuỗi within_text. FIND()
phân biệt chữ thường và chữ hoa.
• FIXED (number [, decimals] [, no_commas]) : Converts number to a
string that uses the Number format.
Chuyển đổi con số number thành một chuỗi, sử dụng loại định dạng
Number.
• LEFT (text [, num_chars]) : Returns the leftmost num_chars characters
from text.
Trả về một hay nhiều ký tự đầu tiên bên trái của chuỗi text
• LEN (text) : Returns the length of text.
Trả về độ dài (số ký tự) của chuỗi text.
• LOWER (text) : Converts text to lowercase.
Chuyển đổi tất cả các ký tự trong chuỗi text thành chữ thường.
• MID (text, start_num, num_chars) : Returns num_chars characters
from text starting atstart_num.
Trả về num_chars ký tự của chuỗi text, bắt đầu tại vị trí start_num.
• PROPER (text) : Converts text to proper case (first letter of each word is
capitalized).
Đổi ký tự đầu tiên trong chuỗi text thành chữ in hoa, và đổi các ký tự còn
lại thành chữ in thường.
• REPLACE (old_text, start_num, num_chars, new_text) : Replaces
the old_text string with thenew_text string.
Thay thế một phần của chuỗi old_text bằng chuỗi new_text, với số lượng
các ký tự được chỉ định.
• REPT (text, times) : Repeats text time times.
Lặp lại chuỗi text với time lần.
• RIGHT (text [, num_chars]) : Returns the
rightmost num_chars characters from text.
Trả về một hay nhiều ký tự tính từ bên phải của một chuỗi text.
• SEARCH (find_text, within_text [, start_num]) : Returns the character
position of the textfind_text within the text within_text. SEARCH() is not
case sensitive.
Tìm vị trí bắt đầu của chuỗi con find_text trong chuỗi within_text.
SEARCH() không phân biệt chữ thường, chữ hoa.
• SUBSTITUTE (text, old_text, new_text [, instance_num]) : In text,
substitutes the new_textstring for the old_text string instance_num times.
Thay thế chuỗi old_text trong chuỗi text bằng
chuỗi new_text, instance_num lần.
• T (value) : Converts value to text.
Chuyển đổi value thành một chuỗi.
• TEXT (value, format_text) : Formats value and converts it to text.
Định dạng value và chuyển đổi nó thành chuỗi.
• TRIM (text) : Removes excess spaces from text.
Xóa tất cả những khoảng trắng vô ích trong chuỗi text.
• UPPER (text) : Converts text to uppercase.
Chuyển đổi tất cả các ký tự trong chuỗi text thành chữ in hoa.
• VALUE (text) : Converts text to a number.
Chuyển đổi chuỗi text thành một số.
7.2. Working with Characters and Codes
Làm việc với các ký tự và mã ký tự
Every character that you can display on your screen has its own underlying numeric code.
For example, the code for the uppercase letter A is 65, whereas the code for the ampersand
(&) is 38. These codes apply not only to the alphanumeric characters accessible via your
keyboard, but also to extra characters that you can display by entering the appropriate
code. The collection of these characters is called the ANSI character set, and the numbers
assigned to each character are called the ANSI codes.
Mỗi ký tự mà bạn có thể hiển thị lên màn hình của bạn đều mang một mã số (numeric code)
riêng của nó. Ví dụ, mã số của chữ A (hoa) là 65, mã số cho dấu và (&) là 38. Những mã số
áp dụng không chỉ cho những ký tự có thể nhập từ bàn phím, mà còn cho cả những ký tự
mở rộng mà bạn có thể hiển thị bằng cách nhập những mã thích hợp. Tập hợp những ký tự
này được gọi là tập hợp ký tự ANSI, và những con số được gán cho mỗi ký tự được gọi là mã
ANSI.
For example, the ANSI code for the copyright character (©) is 169. To display this character,
press Alt+0169, where you use your keyboard’s numeric keypad to enter the digits (always
including the leading zero for codes higher than 127).
Ví dụ, mã ANSI của ký tự bản quyền © là 169. Để hiển thị ký tự này, bạn nhấn Alt+0169,
với những phím mà bạn thường dùng để nhập những con số ở nhóm phím số (luôn luôn
thêm số 0 ở trước cho những mã lớn hơn 127).
The ANSI codes run from 1 to 255, although the first 31 codes are nonprinting codes that
define characters such as carriage returns and line feeds.
Bảng mã ANSI chạy từ 1 đến 255, tuy nhiên 31 mã đầu tiên là những mã ký tự không in ra
được như những mã ký tự trở lui lại đầu dòng (carriage return), những mã ký tự xuống hàng
(line feed).
7.2.1. The CHAR Function — Hàm CHAR
Excel enables you to determine the character represented by an ANSI code using the
CHAR() function:
Excel cho phép bạn chuyển đổi một mã số ANSI thành một ký tự tương ứng, bằng cách sử
dụng hàm CHAR():
CHAR
(number)
For example, the following formula displays the copyright symbol (ANSI code 169):
Ví dụ, công thức sau đây hiển thị ký hiệu bản quyền (có mã ANSI là 169):
=CHAR(169)
Generating the ANSI Character Set
Tạo tập hợp ký tự ANSI
Figure 7.1 shows a worksheet that displays the entire ANSI character set (excluding the first
31 nonprinting characters — note, too, that ANSI code 32 represents the space character).
In each case, the character is displayed by applying the CHAR() function to the value in the
cell to the left.
Hình 7.1 minh họa một bảng tính hiển thị tập hợp các ký tự ANSI (ngoại trừ 31 ký tự không
in ra được — lưu ý thêm: mã ANSI 32 đại diện cho một ký tự trống, một khoảng trắng).
Trong mỗi trường hợp, ký tự được hiển thị bằng cách áp dụng hàm CHAR() cho giá trị của ô
bên trái.
Figure 7.1 - Text Functions.xlsx
NOTE: The actual character displayed by an ANSI code depends on the font applied to the cell. The
characters shown in Figure 7.1 are the ones you see with normal text fonts, such as Arial. However, if you
apply a font such as Symbol or Wingdings to the worksheet, you’ll see a different set of characters.
Ký tự thực tế hiển thị bởi một mã ANSI phụ thuộc vào loại font được áp dụng cho ô. Những ký tự minh
họa ở hình 7.1 mà bạn thấy là một trong những loại font bình thường, như Arial chẳng hạn. Tuy nhiên,
nếu bạn áp dụng một font như Symbol hoặc Wingdings, bạn sẽ thấy một tập hợp những ký tự khác.
To build the character set shown in Figure 7.1, I entered the ANSI code and CHAR() function
at the top of each column, and then filled down to generate the rest of the column.
Để làm được bảng tập hợp các ký tự như minh họa ở hình 7.1, tôi nhập mã ANSI và hàm
CHAR() và đầu của mỗi cột, và rồi kéo xuống (fill down) để tạo ra phần còn lại của cột.
A less tedious method takes advantage of the ROW() function, which returns the row
number of the current cell. Assuming that you want to start your table in row 2, you can
generate any ANSI character by using the following formula:
Một phương pháp ít tốn thời gian hơn là tận dụng hàm ROW(), là hàm trả về số thứ tự hàng
của ô hiện hành. Giả sử bạn muốn bắt đầu bảng này ở hàng 2, bạn có thể tạo bất kỳ ký tự
ANSI nào bằng công thức sau đây:
=CHAR(ROW() + 30)
Figure 7.2 shows the results. The values in column A are generated using the formula:
Hình 7.2 minh họa những kết quả. Các giá trị trong cột A được tạo bằng công thức:
=ROW() + 30
Figure 7.2 - Text Functions.xlsx
(To be continued)
Generating a Series of Letters
Tạo một chuỗi ký tự liên tục
Excel’s Fill handle and Home, Fill, Series command are great for generating a series of
numbers or dates, but they don’t do the job when you need a series of letters (such as a, b,
c, and so on). However, you can use the CHAR() function in an array formula to generate
such a series.
Công cụ Fill handle của Excel và lệnh Home/Fill/Series là công cụ tuyệt vời cho việc tạo ra
một chuỗi liên tục các con số hoặc ngày tháng, nhưng nó không thể làm công việc tạo ra
một chuỗi liên tục các ký tự (như a, b, c, v.v...). Tuy nhiên, bạn có thể dùng hàm CHAR()
trong một công thức mảng để tạo ra một chuỗi như vậy.
We’re concerned with the characters a through z (which correspond to ANSI codes 97 to
122), and A through Z (codes 65 to 90). To generate a series of these letters, follow these
steps:
Chúng ta quan tâm đến những ký tự từ a đến z (tương ứng với các mã ANSI từ 97 đến 122),
và từ A đến Z (mã 65 đến 90). Để tạo một chuỗi liên tục các ký tự, làm theo các bước sau:
1. Select the range you want to use for the series.
Chọn dãy mà bạn muốn tạo chuỗi này.
2. Activate in-cell editing by pressing F2.
Kích hoạt chức năng sửa trực tiếp trong ô bằng cách nhấn phím F2.
3. Type the following formula:
Nhập công thức sau:
=CHAR(97 + ROW(range) - ROW(first_cell))
In this formula, range is the range you selected in step 1, and first_cell is
a reference to the first cell in range. For example, if the selected range is
B10:B20, you would type this:
Trong công thức này, range là dãy mà bạn đã chọn ở bước 1,
và first_cell là một tham chiếu đến ô đầu tiên trong range. Ví dụ, nếu dãy
được chọn là B10:B20, bạn sẽ nhập như vầy:
=CHAR(97 + ROW(B10:B20) - ROW(B10))
NOTE: I’m assuming that you’ve selected a column for your series. If
you’ve selected a row, replace the ROW() functions in the formula with
COLUMN().
Tôi đang giả sử rằng bạn chọn một cột cho chuỗi này. Nếu bạn chọn một
hàng, thì thay thế hàmROW() trong công thức bằng hàm COLUMN().
4. Press Ctrl+Shift+Enter to enter the formula as an array.
Nhấn Ctrl+Shift+Enter để nhập công thức dưới dạng một mảng.
Because you entered this as an array formula, the ROW(range) - ROW(first_cell) calculation
generates a series of numbers (0, 1, 2, and so on) that represent the offset of each cell in
the range from the first cell. These offsets are added to 97 to produce the appropriate ANSI
codes for the lowercase letters, as shown in Figure 7.3. If you want uppercase letters,
replace the 97 with 65 (in Figure 7.3, see the series in row 12).
Bởi vì bạn nhập công thức này ở dạng công thức mảng, cho nên phép tính ROW(range) -
ROW(first_cell) sẽ tạo một chuỗi số (0, 1, 2, v.v...) tượng trưng cho khoảng dịch chuyển của
mỗi ô so với ô đầu tiên trong dãy. Những khoảng dịch chuyển này cộng thêm 97 để tạo ra
các mã ANSI thích hợp cho các ký tự viết ở dạng chữ thường, như minh họa ở hình 7.3. Nếu
bạn muốn các chữ hoa, thay thế con số 97 bằng con số 65 (trong hình 7.3, xem chuỗi ở
hàng 12).
Figure 7.3 - Text Functions.xlsx
7.2.2. The CODE Function — Hàm CODE
The CODE() function is the opposite of CHAR(). That is, given a text character, CODE()
returns its ANSI code value:
Hàm CODE() trái ngược với hàm CHAR(). Nghĩa là, cho trước một ký tự, CODE() trả về giá
trị mã ANSI của ký tự đó.
CODE
(text)
For example, the following formulas both return 83, the ANSI code of the uppercase letter
S:
Ví dụ, cả hai công thức sau đây đều trả về 83, là mã ANSI của chữ S (viết hoa).
=CODE("S")
=CODE("Spacely Sprockets")
Generating a Series of Letters Starting from Any Letter
Tạo một chuỗi các ký tự liên tục bắt đầu bằng bất kỳ ký tự nào
Earlier in this section, you learned how to combine CHAR() and ROW() in an array formula
to generate a series of letters beginning with the letters a or A. What if you prefer a
different starting letter? You can do that by changing the initial value that plugged into the
CHAR() function before the offsets are calculated. I used 97 in the previous example to
begin the series with the letter a, but you could use 98 to start with b, 99 to start with c,
and so on.
Trong phần trước, bạn đã học cách kết hợp giữa hàm CHAR() và hàm ROW() trong một công
thức mảng để tạo một chuỗi lien tục các ký tự bắt đầu bằng ký tự a hoặc ký tự A. Nếu bạn
muốn bắt đầu bằng một ký tự khác thì sao? Bạn có thể làm bằng cách thay đổi giá trị ban
đầu đã được đưa vào hàm CHAR() trước khi nó tính toán các khoảng dịch chuyển. Trong ví
dụ trước tôi đã dùng 97 để bắt đầu chuỗi liên tục với ký tự a, nhưng bạn có thể dùng 98 để
bắt đầu với b, hoặc 99 để bắt đầu với c, v.v...
Instead of looking up the ANSI code of the character you prefer, however, use the CODE()
function to have Excel do it for you:
Thay vì phải tìm mã ANSI cho ký tự mà bạn thích dùng để bắt đầu cho chuỗi liên tục các ký
tự, bạn sử dụng hàm CODE() để Excel làm điều đó dùm cho:
=CHAR(CODE("letter") + ROW(range) - ROW(first_cell))
Here, replace letter with the letter you want to start the series with. For example, the
following formula begins the series with uppercase N (remember to enter this as an array
formula in the specified range):
Ở đây, bạn thay thế letter bằng ký tự mà bạn muốn dùng để bắt đầu cho chuỗi liên tục. Ví
dụ, công thức sau đây bắt đầu chuỗi liên tục với ký tự N (bạn nhớ nhập công thức này với
dạng một công thức mảng trong một dãy đã xác định trước):
=CHAR(CODE("N") + ROW(A1:A13) - ROW(A1))
7.3. Converting Text
Chuyển đổi kiểu chữ trong văn bản
Excel’s forte is number crunching, so it often seems to give short shrift to strings,
particularly when it comes to displaying strings in the worksheet. For example,
concatenating a numeric value into a string results in the number being displayed without
any formatting, even if the original cell had a numeric format applied to it. Similarly, strings
imported from a database or text file can have the wrong case or no formatting.
Sở trường của Excel là xử lý số, do đó dường như các chuỗi thường bị Excel đối xử không
công bằng, đặc biệt là khi nó hoàn thiện các chuỗi trong bảng tính. Ví dụ, việc ghép các giá
trị số vào trong một chuỗi làm cho nó chỉ hiển thị mà không có bất kỳ định dạng nào, ngay
cả khi ô gốc đã được áp dụng một kiểu định dạng số. Tương tự, các chuỗi nhập vào từ một
cơ sở dữ liệu hoặc từ một tập tin văn bản có thể có kiểu chữ sai hoặc không có định dạng.
However, as you’ll see over the next few sections, Excel offers a number of worksheet
functions that enable you to convert strings to a more suitable text format, or to convert
between text and numeric values.
Tuy nhiên, như bạn sẽ thấy trong các phần tiếp theo đây, Excel cũng có cung cấp một số
hàm cho phép bạn chuyển đổi các chuỗi thành một định dạng văn bản thích hợp hơn, hoặc
chuyển đổi giữa các giá trị text và các giá trị số.
7.3.1. The LOWER Function — Hàm LOWER
The LOWER() function converts a specified string to all-lowercase letters:
Hàm LOWER() chuyển đổi một chuỗi xác định thành một chuỗi gồm toàn chữ thường.
LOWER
(text)
For example, the following formula converts the text in cell B10 to lowercase:
Ví dụ, công thức sau đây chuyển đổi những chữ trong ô B10 trở thành chữ thường:
=LOWER(B10)
The LOWER() function is often used to convert imported data, particularly data
importedfrom a mainframe computer, which often arrives in all-uppercase characters.
Hàm LOWER() thường được sử dụng để chuyển đổi dữ liệu nhâp từ ngoài vào, đặc biệt là dữ
liệu được nhập từ một máy tính "mainframe", thường chứa toàn những chữ viết hoa.
7.3.2. The UPPER Function — Hàm UPPER
The UPPER() function converts a specified string to all-uppercase letters:
Hàm UPPER() chuyển đổi một chuỗi xác định thành một chuỗi gồm toàn chữ hoa.
UPPER
(text)
For example, the following formula converts the text in cells A5 and B5 to uppercase and
concatenates the results with a space between them:
Ví dụ, công thức sau đây chuyển đổi những chữ trong ô A5 và B5 trở thành chữ hoa hết và
nối chúng lại với một khoảng trắng ở giữa chúng:
=UPPER(A5) & " " & UPPER(B5)
7.3.3. The PROPER Function — Hàm PROPER
The PROPER() function converts a specified string to proper case, which means the first
letter of each word appears in uppercase and the rest of the letters appear in lowercase:
Hàm PROPER() chuyển đổi một chuỗi xác định thành dạng viết hoa chữ đầu (proper case),
nghĩa là ký tự đầu tiên của mỗi chữ sẽ được viết hoa và phần còn lại của chữ thì viết
thường.
PROPER
(text)
For example, the following formula, entered as an array, converts the text in the range
A1:A10 to proper case:
Ví dụ, công thức sau đây, nhập ở dạng công thức mảng, chuyển đổi các chữ trong dãy
A1:A10 thành dạngproper case:
=PROPER(A1:A10)
7.4. Formatting Text
Định dạng văn bản
You learned in Chapter 3 that you can enhance the results of your formulas by using built-in
or custom numeric formats to control things such as commas, decimal places, currency
symbols, and more. That’s fine for cell results, but what if you want to incorporate a result
within a string? For example, consider the following text formula:
Bạn đã học ở Chương 3 rằng bạn có thể cải tiến kết quả của các công thức bằng cách dùng