false( ) - Michael A. Karls Home Page

advertisement
259 Lecture 4 Spring 2010
Logical Functions and Conditional
Formatting in Excel
Logical Functions
 Excel’s built-in logical functions are useful for introducing
conditional statements, i.e. “decision making” functions
into a spreadsheet!
 The functions are:
 TRUE
 FALSE
 NOT
 AND
 OR
 IF
 IFERROR (new in Excel 2007)
 Information on each of these functions can be found in
the Help File or at Microsoft’s Office Web pages:
http://office.microsoft.com/en-us/excel/HP100791861033.aspx
2
The TRUE Function
 Syntax: TRUE( )
 Returns the logical value TRUE.
 TRUE can be entered directly into
cells and formulas without using this
function.
3
The FALSE Function
 Syntax: FALSE( )
 Returns the logical value FALSE.
 FALSE can be entered directly into
cells and formulas without using this
function.
4
The NOT Function
 Syntax: NOT(logical)
 logical is a value or expression that
can be evaluated to TRUE or FALSE.
 Reverses the logical value of its
argument.
 If logical is FALSE, NOT returns TRUE.
 If logical is TRUE, NOT returns FALSE.
5
Example 1
 Try NOT on the following: 0, 1, a,
FALSE, 1+1=2.
6
Example 1 (cont.)
7
The AND Function
 Syntax: AND(logical1,logical2, ...)
 logical1, logical2, ... are 1 to 255
conditions you want to test that can be
either TRUE or FALSE.
 Returns TRUE if all its arguments are
TRUE.
 Returns FALSE if one or more argument
is FALSE.
8
The AND function (cont.)
 The arguments must evaluate to logical values
such as TRUE or FALSE, or the arguments must
be arrays (i.e. rectangular blocks of cells) or
references that contain logical values.
 If an array or reference argument contains text
or empty cells, those values are ignored.
 If the specified range contains no logical
values, AND returns the #VALUE! error value.
9
Example 2
 Make an AND truth table in Excel!
AND
TRUE
FALSE
TRUE
TRUE
FALSE
FALSE
FALSE
FALSE
10
Example 2 (cont.)
11
The OR Function
 Syntax: OR(logical1,logical2,...)
 logical1, logical2, ... are 1 to 255
conditions you want to test that can
be either TRUE or FALSE.
 Returns TRUE if any argument is
TRUE.
 Returns FALSE if all arguments are
FALSE.
12
The OR Function (cont.)
 The arguments must evaluate to logical values
such as TRUE or FALSE, or the arguments must
be arrays or references that contain logical
values.
 If an array or reference argument contains
text or empty cells, those values are
ignored.
 If the specified range contains no logical
values, OR returns the #VALUE! error
value.
13
Example 3
 Make an OR truth table in Excel!
OR
TRUE
FALSE
TRUE
TRUE
TRUE
FALSE
TRUE
FALSE
14
Example 3 (cont.)
15
The IF function
 Syntax:
IF(logical_test,value_if_true,value_if_false)
 logical_test is any value or expression
that can be evaluated to TRUE or FALSE.
 value_if_true is the value that is
returned if logical_test is TRUE.
 value_if_false is the value that is
returned if logical_test is FALSE.
16
Example 4

1.
2.
3.
4.
5.
6.
7.
8.
Try each of the following IF statements:
=IF(1 < 2, “Mickey Mouse”, “Donald Duck”)
=IF(1 > 2, “Mickey Mouse”, “Donald Duck”)
=IF(1 <= 2,)
=IF(1 <> 2, TRUE)
=IF(1 < 2, 6*2+5)
=IF(1 >= 2,)
=IF(1 > 2, TRUE)
=IF(“yes” = “no”, 6*2+5, 2-10^3)
17
Example 4 (cont.)
18
The IF function (cont.)
 If logical_test is TRUE and value_if_true is blank, this
argument returns 0 (zero).
 To display the word TRUE, use the logical value TRUE for
value_if_true.
 value_if_true can be another formula.
 If logical_test is FALSE and value_if_false is omitted,
(that is, after value_if_true, there is no comma), then
the logical value FALSE is returned.
 If logical_test is FALSE and value_if_false is blank (that
is, after value_if_true, there is a comma followed by the
closing parenthesis), then the value 0 (zero) is returned.
 value_if_false can be another formula.
19
Example 5
 Use IF to create a
piecewise-defined
function for the
absolute value
function.
20
Example 6
 Use IF to assign
grades
automatically in a
grade book!
 If score ≥ 93, then
assign “A”.
 If score < 93, then
assign “Not A”.
21
Example 7
 First class postage rates are given
below.
 Use a nested IF statement to help
calculate postage!
First-Class Mail (Retail Letters) - Postage Rates
Weight not Over (Ounces)
Single-Piece
1
$0.41
2
$0.58
3
$0.75
3.5
$0.92
22
Example 7 (cont.)






The idea we need to implement in Excel is:
Weight ≤ 1 oz => $0.41
1 oz < Weight ≤ 2 oz => $0.58
2 oz < Weight ≤ 3 oz => $0.75
3 oz < Weight ≤ 3.5 oz => $0.92
Over 3.5 oz => cannot mail first class!
 To do this we can use a nested IF command!
 =IF(CELL#<=1,0.41,IF(CELL#<=2,0.58,IF(CELL#<=
3,0.75,IF(CELL#<=3.5,0.92,"cannot mail first
class"))))
23
Example 7 (cont.)
24
The IF Function (cont.)
 Up to 64 IF functions can be nested as value_if_true
and value_if_false arguments to construct more
elaborate tests.
 When the value_if_true and value_if_false arguments
are evaluated, IF returns the value returned by those
statements.
 If any of the arguments to IF are arrays, every
element of the array is evaluated when the IF
statement is carried out.
 Microsoft Excel provides additional functions that are
conditional, including COUNTIF, SUMIF, and others.
 Another way to test many conditions is to use the
LOOKUP, VLOOKUP, or HLOOKUP functions.
25
The LOOKUP Function
 LOOKUP looks in a one-row or one-column range (known
as a vector) for a value and returns a value from the
same position in a second one-row or one-column range.
 Syntax:
LOOKUP(lookup_value,lookup_vector,result_vector)
 lookup_value is a value that LOOKUP searches for in
the first vector.
 lookup_vector is a range that contains only one row or
one column.
 result_vector is a range that contains only one row or
column. It must be the same size as lookup_vector.
26
The LOOKUP Function (cont.)
 lookup_value can be a number, text, a logical value,
or a name or reference that refers to a value.
 The values in lookup_vector can be text, numbers, or
logical values.
 The values in lookup_vector must be placed in
ascending order: ...,-2, -1, 0, 1, 2, ..., A-Z, FALSE,
TRUE; otherwise, LOOKUP may not give the correct
value.
 Uppercase and lowercase text are equivalent.
 If LOOKUP can't find the lookup_value, it matches the
largest value in lookup_vector that is less than or
equal to lookup_value.
 If lookup_value is smaller than the smallest value in
lookup_vector, LOOKUP gives the #N/A error value.
27
Example 8
 The LOOKUP function can be used to
calculate postage rates!
 Try this command with the weights
we used above in Example 7: 0.5, 1,
1.1, 2, 2.1, 3, 3.1, and 4 ounces.
 =LOOKUP(weight,{0,1,2,3,3.5},{0.41,
0.58,0.75,0.92,"cannot mail first
class"})
28
Example 8 (cont.)
 Does the postage get
calculated correctly?
 Notice that the
postages for 1, 2, and
3 ounces are wrong.
 How could we fix our
LOOKUP function to
get the correct
postages?
 One possibility –
replace 1 with
1.000001, 2 with
2.000001, etc. in the
look_up vector.
29
The IFERROR Function
 Syntax:
IFERROR(value,value_if_error)
 value is the argument that is checked
for an error.
 value_if_error is the value to return if
the formula evaluates to an error.
 The following error types are evaluated:
#N/A, #VALUE!, #REF!, #DIV/0!,
#NUM!, #NAME?, or #NULL!.
30
The IFERROR Function (cont.)
 If value or value_if_error is an empty
cell, IFERROR treats it as an empty
string value ("").
 If value is an array formula, IFERROR
returns an array of results for each
cell in the range specified in value.
31
Example 9
 Use the IFERROR
function to create
a “Division by
Zero Checker”
 What happens if
any of the cells in
columns A or B
are blank?
32
Conditional Formatting







The formatting of a cell can
be a determined by the cell
contents!
In the Styles group of the
Home tab, choose the
Conditional Formatting
drop-down menu.
The following examples are
formatted conditionally, i.e.
in terms of their contents, by
choosing some of the built-in
conditional formatting rules
(large number available is
new in Excel 2007)!
Highlight Cells Rules ->
Less Than
Highlight Cells Rules ->
Text that Contains
Data Bars
Top/Bottom Rules ->
Above Average
33
Conditional Formatting (cont.)




Suppose we wish to use colors to
highlight grades in a grade sheet,
using colors to differentiate ranges
of scores.
In particular, choose yellow, red,
and green as the colors determined
by scores in the range: score ≥ 92,
90 ≤ score < 92, score < 90,
respectively!
One way to try to do this is via a
built-in conditional formatting Color
Scale, such as Green-Yellow-Red.
The drawback is that the built-in
formatting may not match exactly
what you want!
34
Conditional Formatting (cont.)



The other way is to create
new conditional formatting
rules!
To do this, choose
Manage Rules from the
Conditional Formatting
Menu to pull up the
Conditional Formatting
Rules Manager.
Then choose New Rule,
followed by Format Only
Cells that Contain to set
up the appropriate
conditions.
35
References
 Excel’s Help File and Microsoft’s Office
Web pages:
http://office.microsoft.com/enus/excel/HP100791861033.aspx
 About.com Excel IF Tutorial:
http://spreadsheets.about.com/od/ex
celfunctions/a/if_funct_hub.htm
 Microsoft Excel 2007 Bible by John
Walkenbach
36
Download