Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Уокенбах Формулы в Excel

.pdf
Скачиваний:
190
Добавлен:
26.03.2016
Размер:
35.82 Mб
Скачать

Инженерные функции

Функции этой категории помогут вам при решении инженерных прикладных задач. Этифункции позволяют работать с комплексными числами, а также выполнятьпреобразования единицодной системы исчисления или измерения в единицы исчисления илиизмерения другой системы.

Для того чтобы использовать функции инженерной категории, необходимо установить дополнение "пакет анализа".

Функции,созданные пользователем

К этой категории относятся пользовательские функции рабочего листа, созданные с помощью VBA. Эти функции выполняются так же, как и встроенные функции Excel. Отличие состоит в том, что описания аргументов этих функций не появляются в диалоговых окнах Вставка функции и Мастер формул.

Другие категориифункций

Кроме описанных выше категорий, в Excel существует еще четыре категории функций, которые не появляются в диалоговом окне Вставка функции. Это такие категории, как Команды, Настраиваемые функции, Управление макросами и DDE/Внешние данные. Эти категории — пережиток устаревших версий Excel. Создав пользовательскую функцию, вы можете определить ее в одну из этих категорий. Кроме того, вы можете обнаружить и другие категории,созданные макросами.

Непостоянные функции

Некоторые функции Excel принадлежат к особому классу так называемых непостоянных функций. Программа автоматически пересчитывает изменяемую функцию при пересчете рабочей книги даже в том случае, если формула, в которой эта функция используется, не задействована в пересчете.

Одной из непостоянных функций является функция слчис, которая возвращает новое случайное число при каждом пересчете рабочего листа. Кроме того, в Excel присутствуют следующие изменяемые функции:

ОБЛАСТИ

ЯЧЕЙКА

СТОЛБЕЦ

ИНДЕКС

ДВССЫЛ

СЕЙЧАС

СМЕЩ

СТРОКА

СЕГОДНЯ

Использование непостоянных функций имеет один побочный эффект: Excel будет всегда напоминать вам о том, что перед тем, как закрыть рабочую книгу, ее необходимо сохранить (даже в том случае, если вы не вносили никаких изменений). Например, вы открыли рабочую книгу, в которой используются непостоянные функции, просмотрели (ничего при этом не меняя) и хотите закрыть файл. Excel обязательно спросит, хотите ли вы сохранить рабочую книгу.

Вы можете "обойти" это поведение, используя режим Вычисления вручную, при этом опцию пересчет перед сохранением необходимо отключить.

120

Часть //.Использование функций вформул

Информацию о том, как определить пользовательские функции в одну из категорий, вы найдете в главе 23.

Функции настройки "Пакет анализа"

Разобравшись со встроенными функциями Excel, можете приступать к освоению дополнительных функций, предоставляемых надстройкой "Пакет анализа". В этой надстройке вы найдете десятки функцийрабочего листа.

Загрузив эту надстройку, вы заметите, что в диалоговом окне Мастер функции появилась новая категория— Инженерные функции. В такие категории, как Финансовые, Дата и время, Математические и Информационные,добавились новые функции.

Резюме

Эта глава служит введением к теме "Функции рабочего листа". Excel предоставляет сотни функций, которые можно применять в формулах. Кроме того, вы можете использовать функции, доступные благодаря надстройкам. В последующих главах этой книги приведено множество примеров использования функций в формулах. В следующей главе будут рассмотрены функции категории Текстовые.

Глава4. Введениевфункции Excel

121

Глава5

Работа с текстом

Вэтой главе...

Несколько слов о самом тексте

Текстовые функции

Дополнительные текстовые формулы

Создание собственных текстовых функций с помощью языка VB А

Резюме

Приложение Excel, прежде всего, известно благодаря способности выполнения любых операции с числами. Тем не менее, его способности в области обработки текста также весьма разнообразны. Как известно, Excel позволяет вводить текстовые данные для создания таких элементов как, например, заголовки строки или столбца, имя пользователя и адрес, часть числа и многое другое. И, как и следовало ожидать, для того чтобы управлять текстом в ячейках, Excel предоставляет широкий набор специальных формул.

В этой главе приведено множество примеров формул, которые используют функции управления текстом. Многие из них способны творить настоящие чудеса, которые, иногда, трудно себе представить.

Несколько слов осамом тексте

Работа Excel начинается сразу же после того, как пользователь вводит данные в ячейку. Приложение определяет, что же именно вводится: формула, числовая информация (то же самое относится к дате и времени) или что-либо еще. Говоря "что-либо еще", мы как раз и подразумеваем текст.

Возможно, читателю уже приходилось сталкиваться с термином строка, использующимся в понимании текстовыхданных.Эти понятия часто взаимозаменяются. Иногда онидаже могут встречаться вместе кактермин текстовая строка.

Количество символов вячейке

В более ранних версиях Excel 5.0 и Excel 95 в одну ячейку можно было ввести до 255 символов. Но начиная с Excel 97, разработчики программных продуктов компании Microsoft значительно увеличили этот показатель. В ячейку приложения Excel версии 97 можно ввести уже 32 000 символов. В дальнейшем, в этой главе, мы будем вводить в ячейку до 30 000 символов. Безусловно, мы ни в коем случае не рекомендуем использовать процессор электронных таблиц вместо текстового. Но если у пользователя установлено приложение не старше Excel 97, то не стоит излишне беспокоиться о величине текста, вводимого в ячейку.

Глава 5. Работастекстом

123

Несмотря на то, что ограничение вводимых в ячейку символов устанавливается впределах 30 000, в действительности, количество символов, отображаемых на экране,ограничено. Более того, как будет показано несколько позже, многие функции могут работать некорректно в случае, если текстовая строка длиннее 255 символов.

Числа как текст

Как мы уже говорили, Excel различает текстовый и числовой форматы. И, если пользователь хочет, чтобы числовая информация рассматривалась кактест, необходимо выполнить следующее:

Примените к ячейке формат Текстовый. Для этого выберите команду меню Формат^Ячейки, далее щелкните на вкладке Число, а затем в поле со списком выберите категорию Текстовый. Если к ячейке не применялось никакое специальное горизонтальное выравнивание, значения будут выровнены по левому краю ячейки (так же как и в случае обычного текста).

Введите перед числом знак апострофа. Знак апострофа, в данном случае, не будет отображаться, но ячейка будет выглядеть так, как если бы в нее был введен текст.

Установив для ячейки текстовый формат (или используя апостроф), с нею все еще можно осуществлять некоторые математические операции. Для этого выражения в ячейке должны вводится в виде числа. К примеру, предположим, что ячейка А1 содержит значение, которому предшествует знак апострофа. Ниже приведена формула, которая отображает значение ячейки А1, увеличенное на 1:

=А1 + 1

Следующая формула будет обрабатывать содержимое ячейки А1 как 0:

=СУММ(А1:А10)

Если пользователь знаком с Lotus 1-2-3, он вероятно заметит это существенное отличие. Lotus 1-2-3 никогда не воспринимает текст как значение. В некоторых случаях обработка текста как числа может быть весьма полезной. В других, это вызывает определенные проблемы. Каков же итог? Помните о несостоятельности Excel в части того, как он обрабатывает число, форматированное как текст.

Имейте в виду, что Excel 2002 помечает числа, которым предшествует апостроф, смарт-тэгом. Смарт-тэг можно использовать для того, чтобы конвертировать "текст" в реальное числовое значение.

Когдачислосовсем нечисло?

Импортируя данные в приложение Excel, пользователь может столкнуться с одной общей проблемой: иногда, импортируемые значения обрабатываются как текст. Давайте рассмотрим, как можно эти нечисловые значения быстро преобразовать в фактические значения. Активизируйте любую пустую ячейку и введите в нее значение 1. Выберите команду Правка^Копировать, чтобы скопировать это значение в буфер обмена. Затем выберите диапазон, содержащий значения, которые необходимо преобразовать. Выберите команду Правка^Специальная вставка. Вдиалоговом окне Специальная вставка выберите переключатель умножить, а затем щелкните на кнопке ОК. Проделанная процедура заставит Excel обрабатывать нечисловую информацию какфактические значения.

124

Часть II. Использование функций вформулах

Текстовые функции

Приложение Excel имеет довольно широкий ассортимент функций, с помощью которых обрабатывается текст. Большинство из этих функций пользователь может найти в диалоговом окне Мастер функций, выбрав опцию Текстовые в раскрьгоающемся списке Категория. Такое расположение функций весьма удобно для пользователя. Некоторые другие функции, которые тоже могут использоваться при работе с текстом, встречаются в других категориях. Например, функция ЕТЕКСТ находится в категории Проверка свойств и значений в том же диалоговом окне.

 

Обратите внимание, в приложении Б приведен перечень функций, относящихся к

 

категории тестовых. Просмотреть эти функции можно также в диалоговом окне

_

Мастер функций, вызвав его с помощью команды Вставка^Функция.

8 ССЫЛКА

 

Область применения большинства текстовых функций не ограничивается только текстом. Иначе говоря, эти функции могут использоваться и в ячейках, содержащих числовые значения. В отличие от других электронных таблиц (как, например, Lotus 1-2-3), Excel предоставляет прекрасную возможность обрабатывать числа как текст и, наоборот, текст как числа.

В этой главе приводятся примеры некоторых общих, широко используемых операций, которые пользователь может выполнять с текстом. Возможно, читатель захочет взять себе на вооружение некоторые из приведенных ниже примеров.

Определение наличия вячейкетекста

В некоторых случаях у пользователя возникает необходимость определить тип данных, содержащихся в отдельной ячейке, для чего требуется соответствующая формула, позволяющая сделать это. К примеру, можно использовать функцию ЕСЛИ, чтобы вставить в ячейку результат только в том случае, если он является текстом. Для того чтобы определить, содержит ли ячейка определенный текст в приложении Excel имеется три функции:

1.ЕТЕКСТ

2.ЯЧЕЙКА

3.ТИП

Однако, как мы увидим далее, эти функции не всегда достаточно надежны:

Функция ЕТЕКСТ

Функция ЕТЕКСТ использует один аргумент и возвращает значение ИСТИНА в том случае, если ячейка содержит текст, в противном случае, функция возвращает значение ЛОЖЬ. Обратите внимание, если ячейка А1 содержит текст, то следующая формула возвращает значение ИСТИНА:

=ЕТЕКСТ(А1)

Безусловно, даже несмотря на всю свою полезность, функция ЕТЕКСТ несовершенна. На самом деле, в отдельных случаях, результат ее действия может быть не совсем корректным. Несмотря на то, что Excel 97 и более поздние версии при-

ложения

могут сохранять в ячейке огромное количество символов (до 32 000),

функция

Е Т Е К С Т не учитывает этот факт и возвращает значение ложь в том слу-

чае, если ее аргумент

обращается к ячейке, которая содержит более, чем 255

символов. В Excel 2000

этапроблема исправлена и функция Е Т Е К С Т работаеттак,

как и полагается, независимо от количества введенных символов в ячейке.

Глава 5. Работастекстом

125

Функция ТИП

Функция ТИП также использует один аргумент и возвращает значение, которое указывает тип данных, содержащихся в ячейке. Например, если ячейка А1 содержит текстовую информацию, формула, приведенная ниже, возвратит значение 2 (кодовый номер текстового формата):

=ТИП(А1)

Имейте в виду, что функция тип перестает работать, когда в ячейке содержится более, чем 255 символов. В этом случае, функция возвращает значение 16— кодовый номер значения Ошибка.

Функция ЯЧЕЙКА

Теоретически, функция ЯЧЕЙКА помогает пользователю определить, применяется ли к данной ячейке текстовый формат или используется ли в ней знак апострофа. Первый аргумент функции ЯЧЕЙКА может быть любым из 12 ключевых слов, включая формат, префикс или тип.

Имейте в виду, что в том случае, если к ячейке применен текстовый формат, то при выборе любого из этих значений функция не работает. Например, если в ячейку А1 ввести число, а затем применить к ней формат Text, то приведенная ниже формула возвратит значение G. В данном случае приложение Excel будет полагать, что для форматирования ячейки был использован формат Общий:

=ЯЧЕЙКА("формат";А1)

При использовании ключевого слова префикс в качестве первого аргумента ЯЧЕЙКА, функция возвращает знак апострофа, если значению, содержащемуся в ячейке, предшествует апостроф. Однако, если к ячейке, содержащей числовую информацию, применен формат Текстовый, функция не возвратит ничего. Тоже самое происходит и при использовании в качестве первого аргумента функции ЯЧЕЙКА ключевого слова тип. В этом случае функция также будет работать некорректно. Например, если ячейка содержит более, чем 255 символов, функция возвратит значение v.

Работа скодами символов

Каждому символу, который пользователь видит на экране своего компьютера, соответствует определенное кодовое число. Для работы в системе Windows приложение Excel использует стандартный набор символов ANSI, который содержит 255 символов, пронумерованных числами в диапазоне от 1 до 255.

Обратите внимание, на рис. 5.1 отображена часть рабочего листа приложения Excel, на котором показаны все 255 символов. В этом примере использовался шрифт Arial (другие шрифты могут иметь символы, отличные от приведенных на рисунке).

При работе с кодами символов Excel задействует две специальные функции: КОДСИМВ и СИМВОЛ. Несмотря на то, что эти функции не столь популярны, как остальные, они весьма уместны при совместном использовании с другими функциями, которые мы обсудим несколько позже, в следующих разделах.

Имейте в виду, что функции кодсимв и символ работают только со строками ANSI. Эти функции не будут выполняться для двухбайтовых строк Unicode.

126

Часть II. Использование функций вформу

 

в

 

с

т

Ml

т

 

 

н

 

Ш

 

 

EH5К5Й БмимЭ

D

F

V I

л

 

К

 

 

 

 

 

Е

 

G

 

1

 

 

2

Font: ;

. ferial

 

 

 

 

 

Size:

ПГ _

^

 

 

 

 

 

 

 

 

 

 

 

 

 

тм

3

1 1

 

а

39

 

 

 

 

М

! '11§

s

1 -1«3

 

4

2

Г

а

40

 

(

78

N

110

t

164

 

 

5

- 3\ а

4t

 

)

79 0

И7

u

4 5 $

 

>

6

4

 

а

42

 

*

80 '

Р

113

у

156

 

oe

7

5

Г

а

- 43

 

+

81

Q

119

w

157

 

D

8

6

а

44

 

 

82 ' R

L X

t$8

 

i

9

7

г

п

45

 

 

03

 

S

121 v

Y

159

 

Y

10

еV

D

48

 

 

-84 '

Т

122

2

1 ifO

 

 

 

8

'

0

47

г

/

06

 

и

123

{

101

 

i

12

10

"

48

"

0

96

 

V

124 '

1

1«2

 

Ф

13

11

"

и

4$

г

1

*7 '

W

125

}

163

'

£

14

12

'

и

50

г

2

88

 

X

126 r

~

164

 

n

15

13

 

D

Я г

3

89

'

Y

127 k

D

165

 

¥

16

1 * "

П

52

 

4

90

 

2

120 r

16$

 

 

17

п r

D

«3 "

5

91

 

I

129

167

 

 

18

18

 

а

54

 

6

02

 

\

130

 

16$

 

 

19

17

'

а

55 "

7

83

 

1

131

 

169

 

20

18

 

а

56

г

8

84

 

 

132

 

170

 

21

19

"

а

57

 

9

95

 

133

 

171

 

<

22

30

г

а

58

 

 

98

 

a

134

t

172

 

- i

23

21

"

а

$3

 

<

07

 

115

t

173

 

®

24

22

"

а

SO г

98

к

b

136

 

174

 

25

23

 

D

81

 

=

 

^

с

13Г

 

175

 

26

24

"

D

82

'

>

106

 

d

130 "

§

178

 

27

25

 

а

83

 

 

101 r

e

133 r

<

177 \

 

±

26

26

'

а

84 г

@

102

 

f

140 r

CE

178

 

 

29

37

 

а

85 "

А

103

 

g

141

D

170

 

 

30

20 r

D

66

 

В

104 r

h

142 r

2

169

 

 

 

• Иг\.!

 

 

 

 

 

 

 

 

 

""I

 

1".

 

 

 

M

N

о

 

 

 

 

 

 

•:if

 

' 191

 

.

1 m

1

 

102

г

А

230

ae

 

193

'

A

231

С

 

194

'

A

232

e

 

195

 

A

233

e

 

196

'

A

234

ё

 

107

 

A

235

ё

 

198

 

/E

«230:

j

 

109

 

 

23?

i

 

206

 

 

239

 

 

m\ '

Ё

239

i

1

202

 

 

E

240

6

\

303

'

Ё

241

n

i

204

 

 

1

343

6

j

205

 

 

1

243

6

!

206

 

1

244

6

 

207

 

 

1

245

6

 

208

'

В

248

b

 

208

 

 

N

247

-

 

210

 

 

0

24*

0

 

! 211

 

0

240

u

 

212

 

 

0

250

и

 

213

 

 

0

251

и

 

214

 

 

0

2S2

и

 

215

 

 

ж

253

у

 

216

L

0

254

t>

 

217

k

0

255

у

 

I218

 

0

 

 

 

I

 

1 1

 

 

 

 

 

 

 

 

C. 5.7. Набор символовANSI для шрифта A rial

Функция КОДСИМВ

Функция КОДСИМВ,используемая в приложении Excel, возвращает код символа, введенного в качестве аргумента функции. Например, формула, приведенная ниже, возвращает значение 65 — код для символа А, введенного в верхнем регистре:

=КОДСИМВ("АН)

В том случае, если аргумент функции КОДСИМВ содержит более одного символа, функция использует только первый символ. Поэтому следующая формула возвращает то же самое значение — 65:

=КОДСИМВ("Abbey Road")

Функция СИМВОЛ

По своей сути функция СИМВОЛ полностью противоположна функции КОДСИМВ. Аргументом функции является числовое значение в интервале от 1 до 255, а используемая функция возвращает символ, соответствующий этому значению. Например, приведенная ниже формула возвращает символ А:

=СИМВОЛ(65)

Чтобы продемонстрировать характер противоположности функций КОДСИМВ и СИМВОЛ, давайте введем в ячейку следующую формулу:

=СИМВОЛ(КОДСИМВ("А"))

Эта формула возвращает символ А. Этот пример призван скорее проиллюстрировать действие функций, вряд ли он будет полезен на практике. Сначала введенный символ конвертируется в соответствующее значение кода (65), после чего функция СИМВОЛ возвращает символ А, соответствующий данному значению.

Глава 5.Работа с текстом

127

Специальные символы?

В Excel 2002 пользователю предоставляется прекрасная возможность использовать диалоговое окно Символ, которое можно вызвать, выбрав команду Вставка^Символ. Этодиалоговое окно позволяет вставить в ячейку любые специальные символы (включая символы Unicode). Например, пользователь может вставить в электронную таблицу улыбающуюся рожицу (если вдруг у него возникает такая необходимость). Для этого в Excel достаточно отобразить диалоговое окно Символ и выбрать шрифт Wingdings (см. рисунок ниже). Затем просмотрите символы, найдите изображение рожицы и щелкните на кнопке Вставить. Обратите внимание, что этому символу соответствует код 74.

Если в компьютере пользователя установлена более ранняя версия приложения Excel, подобные функциональные возможности можно получить, используя программу Windows Character Map (charmap. exe).

« использовавшиеся символы:

 

€ £ ¥

<g>т м ±

ж •О м а Р

ДО jСимвол (дес.)

Предположим, что ячейка А1 содержит символ А (верхний регистр). Приведенная ниже формула возвращает символ а (нижнийрегистр):

=СИМВОЛ(КОДСИМВ(А1)+32)

Эта формула использует определенные преимущества, заключающиеся в фактическом упорядочении символов. Дело в том, что все символы латинского алфавита в пределах набора расположены в алфавитном порядке. Символы нижнего регистра следуют за прописными буквами (через несколько других символов, добавленных между ними). Каждому символу нижнего регистра соответствует код точно на 32 больше, чем код соответствующей прописнойбуквы.

Равенство строк?

Чтобы определить, содержат ли две ячейки похожие записи, можно использовать простую логическую формулу. Например, ниже приведена формула, с помощью которой можно определить, содержит ли ячейка А1 то же самое значение, что и ячейка А2:

=А1=А2

Однако имейте в виду, что Excel может допускать некоторую неточность при сравнении содержимого ячеек, если в ячейки включен текст. Рассмотрим, например, ситуацию, когда ячейка А1 содержит слово Январь (первая буква прописная), а ячейка А2 — слово ЯНВАРЬ (все буквы верхнего регистра). Приведенная выше формула возвращает значение ИСТИНА, несмотря на то, что эти две ячейки содержат не одинаковое текстовое значение. Говоря иными словами, сравнение, в данном случае, не учитывает регистр символов.

Чаще всего пользователь не испытывает особого волнения по поводу регистра текста. Если же необходимо сделать точное сравнение, учитывая регистр символа, можно использовать

128

Часть II. Использование функций вформулах

функцию СОВПАД. Приведенная ниже формула возвращает значение ИСТИНА только в том случае, если ячейки А1 и А2 содержат точно идентичные записи:

=СОВПАД(А1;А2)

Следующая формула возвращает значение ЛОЖЬ, поскольку первая строка содержит в конце пробел:

=СОВПАД("ноль ";"ноль")

Объединение двух иболее ячеек

Excel использует знак & как оператор конкатенации (объединения). Конкатенация — это просто модный термин, который описывает, что происходит после того, как пользователь объединяет содержимое двух или более ячеек. Например, если ячейка А1 содержит текст San Diego, а ячейка А2 — California, приведенная ниже формула возвратит текст San DiegoCalifomia:

=А1&А2

Обратите внимание, что эти две строки объединены без промежуточного пробела. Для того чтобы добавить пробел между этими двумя строками и получить текст San Diego California, необходимо использовать следующую формулу:

=А1&" "&А2

Другой способ, который может быть даже лучше предыдущего, — использовать запятую и пробел для того, чтобы получить текст San Diego, California:

=А1&"/ "&А2

Еще одна операция, предназначенная для устранения символов кавычек, заключается в использовании функции СИМВОЛ с соответствующим аргументом. Обратите внимание, в приведенном ниже примере функции СИМВОЛв объединяемый текст вставляются запятая (44) и пробел (32):

=А1&СИМВ0Л(44)&СИМВОЛ(32)&А2

Если пользователь хочет выполнить "перенос" текста, то при объединении текста в строке необходимо использовать функцию СИМВОЛ (10), после чего проверить, применен ли к ячейке текстовый формат с переносом слов. Пример объединения текста в ячейке А1 и текста в ячейке В2, с символом переноса между ними, продемонстрирован в следующей формуле:

=А1&СИМВОЛ(10)&В1

Ниже приведен еще один пример использования функции СИМВОЛ. Следующая формула возвращает строку Stop, объединяя четыре символа, полученные с помощью функции СИМВОЛ:

= С И М В О Л ( 8 3 ) & С И М В О Л ( 1 1 6 ) & С И М В О Л ( 1 1 1 ) & С И М В О Л ( 1 1 2 )

Рассмотрим еще один последний пример использования оператора &. В данном случае формула объединяет текст с результатом выражения, которое возвращает максимальное значение столбца С:

="Максимальное значение в столбце С "&МАКС(С:С)

Имейте в виду, что приложение Excel использует также функцию СЦЕПИТЬ, которая поддерживает до 30аргументов. Этафункция просто объединяет аргументы в единую строку. Безусловно, многим пользователям нравится этаформула, однако использование знака & приводит к более короткойзаписи.

Глава 5. Работастекстом

129