Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа № 4. Текстовые функции.docx
Скачиваний:
21
Добавлен:
23.02.2015
Размер:
169.43 Кб
Скачать
  1. Вставка текущего имени файла, пути к нему и имени активного листа

Для выполнения этой задачи используем функции ЯЧЕЙКА, ПОИСК, ПСТР, ЕСЛИ.

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

=ЕСЛИ(ЯЧЕЙКА("тип", A1) = "v"; A1 * 2; 0)

Эта формула вычисляет произведение A1*2, только если в ячейке A1 содержится числовое значение, и возвращает значение 0, если в ячейке A1 содержится текст или она пустая.

Синтаксис:

=ЯЧЕЙКА(тип_сведений, [ссылка])

где тип_сведений – обязательный аргумент. Текстовое значение, задающее требуемый тип сведений о ячейке;

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

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

Тип_сведений

Возвращаемое значение

"адрес"

Ссылка на первую ячейку в аргументе «ссылка» в виде текстовой строки.

"защита"

0, если ячейка разблокирована, и 1, если ячейка заблокирована.

"имяфайла"

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

"префикс"

Текстовое значение, соответствующее префиксу метки ячейки. Апостроф (') соответствует тексту, выровненному влево, кавычки (") — тексту, выровненному вправо, знак крышки (^) — тексту, выровненному по центру, обратная косая черта (\) — тексту с заполнением, пустой текст ("") — любому другому содержимому ячейки.

"скобки"

1, если положительные или все числа отображаются в круглых скобках; во всех остальных случаях — 0.

"содержимое"

Значение левой верхней ячейки в ссылке; не формула.

"столбец"

Номер столбца ячейки в аргументе «ссылка».

"строка"

Номер строки ячейки в аргументе «ссылка».

"тип"

Текстовое значение, соответствующее типу данных в ячейке. Значение «b» соответствует пустой ячейке, «l» — текстовой константе в ячейке, «v» — любому другому значению.

"формат"

Текстовое значение, соответствующее числовому формату ячейки. Значения для различных форматов показаны ниже в таблице. Если ячейка изменяет цвет при выводе отрицательных значений, в конце текстового значения добавляется «-». Если положительные или все числа отображаются в круглых скобках, в конце текстового значения добавляется «()».

"цвет"

1, если ячейка изменяет цвет при выводе отрицательных значений; во всех остальных случаях — 0 (ноль).

"ширина"

Ширина столбца ячейки, округленная до целого числа. Единица измерения равна ширине одного знака для шрифта стандартного размера.

Функция ПСТР возвращает указанное число знаков из текстовой строки, начиная с указанной позиции.

Синтаксис:

=ПСТР(текст; начальная_позиция;число_знаков)

где текст   — текстовая строка, содержащая извлекаемые знаки;

начальная_позиция   — позиция первого знака, извлекаемого из текста. Первый знак в тексте имеет начальную позицию 1 и т. д;

число_знаков   — указывает, сколько знаков требуется вернуть.

Если значение аргумента начальная_позиция больше, чем длина текста, функция ПСТР возвращает строку "" (пустой текст).

Если значение аргумента начальная_позиция меньше, чем длина текста, но сумма значений начальная_позиция и количество_знаков превышает длину текста, функция ПСТР возвращает знаки вплоть до конца текста.

Если начальная_позиция меньше 1, функция ПСТР возвращает значение ошибки #ЗНАЧ!.

Если аргумент число_знаков имеет отрицательное значение, функция ПСТР возвращает значение ошибки #ЗНАЧ!.

Если аргумент число_байт имеет отрицательное значение, функция ПСТРБ возвращает значение ошибки #ЗНАЧ!.

Функция ПОИСК находит одну текстовую строку внутри второй текстовой строки и возвращает номер начальной позиции первой строки, отсчитывая его от первого знака второй строки.

Синтаксис:

=ПОИСК(искомый_текст; просматриваемый_текст; [нач_позиция])

где искомый_текст - обязательный аргумент. Текст, который требуется найти;

просматриваемый_текст - обязательный аргумент. Текст, в котором нужно найти искомый_текст;

Нач_позиция - необязательный аргумент. Номер знака в строке просматриваемый_текст, с которого следует начать поиск.

Например, чтобы определить положение буквы "н" в слове "принтер", можно использовать следующую функцию:

=ПОИСК("н";"принтер")

Эта функция возвращает значение 4, поскольку в слове "принтер" буква "н" является четвертой по счету.

Также можно выполнять поиск слов в других словах. Например, функция

=ПОИСК("база";"турбаза")

вернет значение 4, поскольку слово "база" начинается в слове "турбаза" с четвертого символа.

Функция ПОИСК не учитывает регистр букв. Для поиска с учетом регистра следует использовать функции НАЙТИ.

В аргументе искомый_текст можно использовать подстановочные знаки — вопросительный знак (?) и звездочку (*). Вопросительный знак соответствует любому знаку; звездочка — любой последовательности знаков. Если нужно найти в тексте вопросительный знак или звездочку, следует ввести перед ними тильду (~).

Если искомый_текст не найден, возвращается значение ошибки #ЗНАЧ!.

Если аргумент нач_позиция опущен, то он полагается равным 1.

Если значение аргумента нач_позиция меньше или равно 0 либо превышает значение аргумента просматриваемый_текст, возвращается значение ошибки #ЗНАЧ!.

С помощью аргумента нач_позиция можно пропустить нужное количество знаков. Предположим, что задана текстовая строка "МДС0093.МесячныеПродажи". Чтобы найти первое вхождение "М" в описательной части текстовой строки, задайте для аргумента нач_позиция значение 8: тогда поиск не будет выполняться в той части текста, которая представляет серийный номер. Функция ПОИСК начнет поиск со знака 8, обнаружит искомый_текст в следующей позиции и возвратит число 9. Функция ПОИСК всегда возвращает номер знака от начала текста просматриваемый_текст с учетом пропущенных знаков, если значение аргумента нач_позиция больше 1.

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

=ЯЧЕЙКА("имяфайла")

Например: E:\Мои документы\[Книга1.xlsx]Лист1

Для вставки только текущего имени файла введите или вставьте следующую формулу, чтобы вставить имя текущего файла в ячейку:

=ПСТР(ЯЧЕЙКА("имяфайла");ПОИСК("[";ЯЧЕЙКА("имяфайла"))+1; ПОИСК("]";ЯЧЕЙКА("имяфайла"))-ПОИСК("[";ЯЧЕЙКА("имяфайла"))-1)

Например: Книга1.xlsx

Если использовать формулу для несохраненного листа, она вернет ошибку #ЗНАЧ!. После сохранения листа ошибка будет заменена именем файла.