Excel знаки в формулах
Содержание:
- Подсчет ячеек в строках и столбцах
- Как заменить звездочку «*» в Excel?
- Функции для работы с текстом
- Таблица дeлeния в «Эксeль»
- Ставим знак «не равно» с клавиатуры
- Фильтрация данных
- Почему ПРАВСИМВ не работает с датами?
- Как выделить подстроку между двумя разделителями.
- Где используется знак «не равно»
- Подстановочные знаки (символы *, ? и
- Как заменить звездочку «*» в Excel?
- Использование в функциях
- Как написать формулу в Excel
- Как создать таблицу с формулами
- Синтаксис.
- Примеры
- Типы ссылок на ячейки в формулах Excel
Подсчет ячеек в строках и столбцах
Существует два способа, позволяющие узнать количество секций. Первый — дает возможность посчитать их по строкам в выделенном диапазоне. Для этого необходимо ввести формулу =ЧСТРОК(массив) в соответствующее поле. В данном случае будут подсчитаны все клетки, а не только те, в которых содержатся цифры или текст.
Второй вариант — =ЧИСЛСТОЛБ(массив) — работает по аналогии с предыдущей, но считает сумму секций в столбце.
Считаем числа и значения
Я расскажу вам о трех полезных вещах, помогающих в работе с программой.
Сколько чисел находится в массиве, можно рассчитать с помощью формулы СЧЁТ(значение1;значение2;…)
Она учитывает только те элементы, которые включают в себя цифры.То есть если в некоторых из них будет прописан текст, они будут пропущены, в то время как даты и время берутся во внимание. В данной ситуации не обязательно задавать параметры по порядку: можно написать, к примеру, =СЧЁТ(А1:С3;В4:С7;…).
Другая статистическая функция — СЧЕТЗ — подсчитает вам непустые клетки в диапазоне, то есть те, которые содержат буквы, числа, даты, время и даже логические значения ЛОЖЬ и ИСТИНА
Обратное действие выполняет формула, показывающая численность незаполненных секций — СЧИТАТЬПУСТОТЫ(массив). Она применяется только к непрерывным выделенным областям.
Ставим экселю условия
Когда нужно подсчитать элементы с определённым значением, то есть соответствующие какому-то формату, применяется функция СЧЁТЕСЛИ(массив;критерий). Чтобы вам было понятнее, следует разобраться в терминах.
Массивом называется диапазон элементов, среди которых ведется учет. Это может быть только прямоугольная непрерывная совокупность смежных клеток. Критерием считается как раз таки то условие, согласно которому выполняется отбор. Если оно содержит текст или цифры со знаками сравнения, мы его берем в кавычки. Когда условие приравнивается просто к числу, кавычки не нужны.
Разбираемся в критериях
Примеры критериев:
- «>0» — считаются ячейки с числами от нуля и выше;
- «Товар» — подсчитываются секции, содержащие это слово;
- 15 — вы получаете сумму элементов с данной цифрой.
Для большей ясности приведу развернутый пример.
Чтобы посчитать ячейки в зоне от А1 до С2, величина которых больше прописанной в А5, в строке формул необходимо написать =СЧЕТЕСЛИ(А1:С2;«>»&А5).
Задачи на логику
Хотите задать экселю логические параметры? Воспользуйтесь групповыми символами * и ?. Первый будет обозначать любое количество произвольных символов, а второй — только один.
К примеру, вам нужно знать, сколько имеет электронная таблица клеток с буквой Т без учета регистра. Задаем комбинацию =СЧЕТЕСЛИ(А1:D6;«Т*»). Другой пример: хотите знать численность ячеек, содержащих только 3 символа (любых) в том же диапазоне. Тогда пишем =СЧЕТЕСЛИ(А1:D6;«???»).
Как заменить звездочку «*» в Excel?
Практически наверняка каждый сталкивался со следующей ситуацией — в тексте присутствует символ звездочки, который необходимо удалить или заменить на какой-либо другой текст.
Однако при попытке заменить звездочку возникают трудности — при замене меняются абсолютно весь текст, что естественно и логично, так как Excel воспринимает символ «*» как любой произвольный текст.
Но мы теперь уже знаем как с этим бороться, поэтому в поле Найти указываем текст «~*» (явно показываем, что звездочка является специальным символом), а в поле Заменить на указываем на что заменяем звездочку, либо оставляем поле пустым, если хотим удалить звездочку:
Аналогичная ситуация и при замене или удалении вопросительного знака и тильды.
Производя замену «~?» (для тильды — «~~») мы также без проблем сможем заменить или удалить спецсимвол.
Удачи вам и до скорых встреч на страницах блога Tutorexcel.ru
Функции для работы с текстом
Основные функции для работы с текстом в VBA Excel:
Функция | Описание |
---|---|
Asc(строка) | Возвращает числовой код символа, соответствующий первому символу строки. Например: MsgBox Asc(“/Stop”). Ответ: 47, что соответствует символу «/». |
Chr(код символа) | Возвращает строковый символ по указанному коду. Например: MsgBox Chr(47). Ответ: «/». |
Format(Expression, , , ) | Преобразует число, дату, время в строку (тип данных Variant (String)), отформатированную в соответствии с инструкциями, включенными в выражение формата. Подробнее… |
InStr(, строка1, строка2, ) | Возвращает порядковый номер символа, соответствующий первому вхождению одной строки (строка2) в другую (строка1) с начала строки. Подробнее… |
InstrRev(строка1, строка2, ]) | Возвращает порядковый номер символа, соответствующий первому вхождению одной строки (строка2) в другую (строка1) с конца строки. |
Join(SourceArray,) | Возвращает строку, созданную путем объединения нескольких подстрок из массива. Подробнее… |
LCase(строка) | Преобразует буквенные символы строки в нижний регистр. |
Left(строка, длина) | Возвращает левую часть строки с заданным количеством символов. Подробнее… |
Len(строка) | Возвращает число символов, содержащихся в строке. |
LTrim(строка) | Возвращает строку без начальных пробелов (слева). Подробнее… |
Mid(строка, начало, ) | Возвращает часть строки с заданным количеством символов, начиная с указанного символа (по номеру). Подробнее… |
Replace(expression, find, replace, , , ) | Возвращает строку, полученную в результате замены одной подстроки в исходном строковом выражении другой подстрокой указанное количество раз. Подробнее… |
Right(строка, длина) | Возвращает правую часть строки с заданным количеством символов. Подробнее… |
RTrim(строка) | Возвращает строку без конечных пробелов (справа). Подробнее… |
Space(число) | Возвращает строку, состоящую из указанного числа пробелов. Подробнее… |
Split(Expression,,,) | Возвращает одномерный массив подстрок, извлеченных из указанной строки с разделителями. Подробнее… |
StrComp(строка1, строка2, ) | Возвращает числовое значение Variant (Integer), показывающее результат сравнения двух строк. Подробнее… |
StrConv(string, conversion) | Изменяет регистр символов исходной строки в соответствии с заданным параметром «conversion». Подробнее… |
String(число, символ) | Возвращает строку, состоящую из указанного числа символов. В выражении «символ» может быть указан кодом символа или строкой, первый символ которой будет использован в качестве параметра «символ». Подробнее… |
StrReverse(строка) | Возвращает строку с обратным порядком следования знаков по сравнению с исходной строкой. Подробнее… |
Trim(строка) | Возвращает строку без начальных (слева) и конечных (справа) пробелов. Подробнее… |
UCase(строка) | Преобразует буквенные символы строки в верхний регистр. |
WorksheetFunction.Trim(строка) | Функция рабочего листа, которая удаляет все лишние пробелы (начальные, конечные и внутренние), оставляя внутри строки одиночные пробелы. |
В таблице перечислены основные функции VBA Excel для работы с текстом. С полным списком всевозможных функций вы можете ознакомиться на сайте разработчика.
Таблица дeлeния в «Эксeль»
Построим таблицу в «Эксeль», в ячeйки А2:А6 помeстим числа, которыe будeм дeлить (3, 7, 9, 12, 15), а в ячeйки В1:Е1 – числа, НА которыe будeм выполнять дeлeниe (1, 2, 3, 4).
Чтобы составить таблицу дeлeния, важно вспомнить про абсолютныe и относитeльныe ссылки в «Эксeль». Формула дeлeниe в Excel при составлeнии такой таблицы прeдполагаeт использованиe смeшанных ссылок
Так, чтобы адрeса ячeeк при копировании нe смeщались, надо закрeпить в дeлимом адрeсe номeр столбца, а в дeлитeлe – номeр строки. Таким образом, ввeдитe в ячeйку В2 формулу «=$A2/B$1» и протянитe ee до конца строки? а потом и на всю таблицу. Таблица заполнится данными. Встаньтe тeпeрь на любую ячeйку, допустим, на D5. Формула ee будeт слeдующая: «=$A5/D$1». Всe сдeлали правильно.
Ставим знак «не равно» с клавиатуры
Символ «не равно» можно поставить в ячейку несколькими способами:
- с помощью клавиатуры;
- используя специальные символы.
Среди множества клавиш на клавиатуре нет кнопки с символом ≠, но для проведения вычислений в программе Excel она и не используется. Чтобы соответствующая функция сработала, вместо «не равно» следует набрать на клавиатуре знаки «<» (меньше) и «>» (больше). Причем делается это в английской раскладке и с зажатой клавишей Shift.
Введение символов с клавиатуры
Если не соблюсти все указанные требования, то в активной ячейке появятся значения «Б» и «Ю», которые не несут в себе абсолютно никакого математического значения, и функция не будет выполнена. Должно получиться сочетание символов «<>», которое соответствует значению «не равно». Символ «≠» не работает как математический знак, он имеет исключительно визуальное значение. Также не стоит забывать о существовании специальных комбинаций Alt-кодов, которые позволяют ввести с клавиатуры практически любой символ. Таким образом знак «≠» с компьютерной клавиатуры можно ввести, воспользовавшись комбинацией клавиш Alt+8800.
Фильтрация данных
Рассмотрим пример. Предположим, что у нас имеется список сотрудников компании и мы хотим отфильтровать только тех сотрудников, у которых фамилии начинаются на конкретную букву (к примеру, на букву «п»):
Для начала добавляем фильтр на таблицу (выбираем вкладку Главная -> Редактирование -> Сортировка и фильтр или нажимаем сочетание клавиш Ctrl + Shift + L). Для фильтрации списка воспользуемся символом звездочки, а именно введем в поле для поиска «п*» (т.е. фамилия начинается на букву «п», после чего идет произвольный текст):
Фильтр определил 3 фамилии удовлетворяющих критерию (начинающиеся с буквы «п»), нажимаем ОК и получаем итоговый список из подходящих фамилий:
В общем случае при фильтрации данных мы можем использовать абсолютно любые критерии, никак не ограничивая себя в выборе маски поиска (произвольный текст, различные словоформы, числа и т.д.). К примеру, чтобы показать все варианты фамилий, которые начинаются на букву «к» и содержат букву «в», то применим фильтр «к*в*» (т.е. фраза начинается на «к», затем идет произвольный текст, потом «в», а затем еще раз произвольный текст). Или поиск по «п?т*» найдет фамилии с первой буквой «п» и третьей буквой «т» (т.е. фраза начинается на «п», затем идет один произвольный символ, затем «т», и в конце опять произвольный текст).
Почему ПРАВСИМВ не работает с датами?
Потому что она предназначена для работы с текстовыми значениями, тогда как даты на самом деле являются числами во внутренней системе Excel. Формула ПРАВСИМВ не может получить отдельную часть даты — день, месяц или год. Если вы попытаетесь это сделать, все, что вы получите, — это несколько последних цифр числа, представляющего дату.
Предположим, у вас есть дата 9 августа 2020 года в ячейке A1. Если вы попытаетесь извлечь год с помощью формулы ПРАВСИМВ(A1,4), результатом будет 4052, что является последними четырьмя цифрами числа 44052, представляющего 9 августа 2020года в системе Excel.
«Итак, как мне получить определенную часть даты?», — спросите вы меня. Используя одно из следующих выражений:
- Функция ДЕНЬ для извлечения дня: = ДЕНЬ(A1)
- Функция МЕСЯЦ, чтобы получить месяц: = МЕСЯЦ(A1)
- ГОД, чтобы вытащить год: = ГОД(A1)
На скриншоте показаны результаты:
Если ваши даты записаны в виде текста, что часто бывает при экспорте данных из других программ, то ничто не мешает вам использовать ПРАВСИМВ для извлечения последних нескольких символов, которые представляют определенную часть даты:
Теперь наша попытка извлечь год из даты вполне удачна.
Как выделить подстроку между двумя разделителями.
Продолжим предыдущий пример. А если, помимо имени и фамилии, ячейка A2 также содержит отчество, то как его извлечь?
Технически задача сводится к определению позиций двух пробелов в исходном тексте, и вы можете сделать это следующим образом:
- Как и в предыдущем примере, используйте ПОИСК, чтобы определить позицию первого (» «), к которому вы добавляете 1, потому что вы хотите начать с символа, следующего за ним. Таким образом, вы получаете адрес начальной позиции: ПОИСК (» «; A2) +1
- Затем вычислите позицию 2- го интервала, используя вложенные функции поиска, которые предписывают Excel начать поиск именно со 2-го: ПОИСК (» «; A2, ПОИСК (» «; A2) +1)
Чтобы узнать количество извлекаемых знаков, вычтите позицию первого пробела из положения второго. И затем еще вычтите 1 из результата, поскольку вам не нужны лишние интервалы в получившемся результате. Таким образом, у вас есть второй аргумент для формулы:
ПОИСК(» «; A2; ПОИСК(» «; A2) +1) — ПОИСК(» «; A2)
Соединив все аргументы, мы получаем формулу для извлечения подстроки между двумя пробелами:
На следующем скриншоте показан результат:
Аналогичным образом вы можете извлечь текст между любыми другими разделителями:
Например, чтобы извлечь отрезок, выделенный запятой с пробелом после неё, используйте следующее выражение:
На следующем рисунке эта формула используется для извлечения из адреса названия города, и она отлично справляется со своей задачей:
Где используется знак «не равно»
Знак «не равно» (≠) используется в функции «СУММЕСЛИ», которая позволяет производить суммирование не всех данных, а только ряда цифр, соответствующих логическим условиям.
Функция «=СУММЕСЛИ»
Указанная функция работает с учетом нескольких аргументов:
- Диапазон – оценка ячеек определенным критериям.
- Критерий – выбор ячеек в соответствии с диапазоном.
- Суммирующий диапазон – суммирование ячеек, удовлетворяющих поставленным условиям.
В некоторых случаях допускается исключение последнего аргумента, но критерий и диапазон продолжают функционировать.
Пример применения функции «=СУММЕСЛИ»
Подстановочные знаки (символы *, ? и
Рассмотрим применение подстановочных знаков в Excel (символы звездочки «*», тильды «
» и вопросительного знака «?») и их использование при поиске и замене текстовых значений.
Приветствую всех, дорогие читатели блога TutorExcel.Ru.
В начале предлагаю вспомнить определение подстановочных знаков и понять, что же это такое и для каких целей они применяются в Excel. А затем уже разберем применение на конкретных примерах. Подстановочные знаки — это специальные символы, которые могут принимать вид любого произвольного количества символов, другими словами, являются определенными масками комбинаций символов. Всего в Excel есть 3 типа подобных знаков:
- * (звездочка); Обозначает любое произвольное количество символов. Например, поиск по фразе «*ник» найдет слова типа «понедельник», «всадник», «источник» и т.д.
- ? (вопросительный знак); Обозначает один произвольный символ. К примеру, поиск по фразе «ст?л» найдет «стол», «стул» и т.д.
(тильда) с последующими знаками *, ? или
. Обозначает конкретный символ *, ? или
. Например, поиск по фразе «хор*» найдет все фразы начинающиеся на «хор» («хоровод», «хорошо» и т.д.). Поэтому для точного поиска «хор*» нужно использовать символ «
» и искать по фразе «хор
» гарантирует, что Excel прочитает следующий символ как текст, а не как подстановочный знак.
Использование таких спецсимволов может быть полезно при фильтрации данных, для сравнения текста, при поиске и замене текстовых значений. Давайте подробно остановимся на каждом из основных вариантов применения.
Как заменить звездочку «*» в Excel?
Практически наверняка каждый сталкивался со следующей ситуацией — в тексте присутствует символ звездочки, который необходимо удалить или заменить на какой-либо другой текст. Однако при попытке заменить звездочку возникают трудности — при замене меняются абсолютно весь текст, что естественно и логично, так как Excel воспринимает символ «*» как любой произвольный текст. Но мы теперь уже знаем как с этим бороться, поэтому в поле Найти указываем текст
*» (явно показываем, что звездочка является специальным символом), а в поле Заменить на указываем на что заменяем звездочку, либо оставляем поле пустым, если хотим удалить звездочку:
Аналогичная ситуация и при замене или удалении вопросительного знака и тильды. Производя замену
?» (для тильды —
») мы также без проблем сможем заменить или удалить спецсимвол.
Использование в функциях
Предположим, что стоит задача подсчета ячеек, содержащих все склонения слова молоток (например, молотку, молотком, молотка и пр.). Для решения этой задачи проще всего использовать критерии отбора с подстановочным знаком * (звездочка). Идея заключается в следующем: для условий отбора текстовых значений можно задать в качестве критерия лишь часть текстового значения (для нашего случая, это – молот), а другую часть заменить подстановочными знаками. В нашем случае, критерий будет выглядеть так – молот*.
Предполагая, что текстовые значения (склонения слова молот) находятся в диапазоне А2:А10, запишем формулу =СЧЁТЕСЛИ(A2:A10;»молот*»)) . В результате будут подсчитаны все склонения слова молоток в диапазоне A2:A10.
Нижеследующие функции позволяют использовать подстановочные знаки:
- СЧЁТЕСЛИ() (см. статью Подсчет текстовых значений с единственным критерием) и СЧЁТЕСЛИМН()
- СУММЕСЛИ() и СУММЕСЛИМН()
- СРЗНАЧЕСЛИ()
- В таблице условий функций БСЧЁТ() (см. статью Подсчет значений с множественными критериями), а также функций БСЧЁТА() , БИЗВЛЕЧЬ() , ДМАКС() , ДМИН() , БДСУММ() , ДСРЗНАЧ()
- ПОИСК()
- ВПР() и ГПР()
- ПОИСКПОЗ()
Описание применения подстановочных знаков в вышеуказанных функциях описано соответствующих статьях.
Как написать формулу в Excel
Редактор таблиц Microsoft Excel имеет очень широкий набор возможностей для решения задач самой разной сложности в различных сферах деятельности. Именно благодаря этому Эксель стал таким популярным среди пользователей по всему миру. Одним из базовых навыков работы с программой является проведение простейших вычислений и математических операций. В этой статье подробно разберём, как выполнять сложение, вычитание, умножение и деление в Excel. Давайте же начнём! Поехали!
Математические операции выполняются без использования калькулятора
Все расчёты в Экселе основаны на построении простых формул, с помощью которых программа и будет производить вычисления. Для начала необходимо создать таблицу со значениями
Обратите внимание на то, что каждая ячейка таблицы имеет свой адрес, который определяется буквой и цифрой. Каждая буква соответствует столбцу, а каждая цифра — строке
Начнём с самых простых операций — сложения и вычитания. Для сложения чисел можно использовать, так называемую функцию «Автосумма». Ей удобно пользоваться в случаях, когда необходимо посчитать сумму чисел, которые стоят подряд в одной строке, столбце либо в выделенной вами области. Чтобы воспользоваться этим инструментом, перейдите во вкладку «Формулы». Там вы обнаружите кнопку «Автосумма». Выделив участок таблицы со значениями, которые нужно сложить, кликните по кнопке «Автосумма». После этого появится отдельная ячейка, содержащая результат вычисления. Это был первый подход.
Второй подход заключается в том, что формула для расчёта вводится вручную. Допустим, перед вами стоит задача вычислить сумму чисел, разбросанных по таблице. Для этого сделайте активной (кликните по ней левой кнопкой мыши) ячейку, в которую желаете поместить результат вычисления. Затем поставьте знак «=» и по очереди вводите адрес каждой ячейки, содержимое которой нужно просуммировать, не забывая ставить знак «+» между ними. К примеру, у вас должно получиться: «=A1+B7+C2+B3+E5». После того как будет введён адрес последней ячейки, нажмите на клавиатуре «Enter» и вы получите сумму всех отмеченных чисел. Необязательно вводить каждый адрес вручную. Достаточно кликнуть по определённой ячейке и в поле для формул сразу отобразится её адрес, ставьте после него «+» и переходите к следующей.
Существует ещё один подход — использование функции «Специальная вставка». Этот способ удобен тем, что позволяет суммировать данные из нескольких отдельных таблиц, при условии, что все их графы одинаковые. Для начала создайте сводную таблицу, в которую вы будете вставлять скопированные данные. Выделите числа одной таблицы и вставьте их в сводную, далее поступите так же со значениями второй таблицы, только в этот раз кликните по ячейке правой кнопкой мыши и выберите пункт «Специальная вставка». В открывшемся окне в разделе «Вставить» отметьте «Значения», а в разделе «Операция» выберите сложить. В результате все данные просуммируются.
Вычитание в Excel выполняется таким же способом, как и сложение. Вам понадобится ввести формулу, указав необходимые ячейки, только вместо знака «+» между адресами ставится «–».
Чтобы умножить числа в Экселе, напишите формулу, отмечая нужные данные и ставя между ними знак «*». Формула будет иметь следующий вид: «=A3*A7*B2».
Деление производится аналогичным образом, только используется знак «/». Также вы можете выполнять несколько арифметический операций сразу. Формулы строятся по математическим правилам. Например: «=(B2-B4)*E8/(A1+D1)*D4». Построенная вами формула может быть любой сложности, главное, не забывать основные математические правила, чтобы расчёт был выполнен верно.
Как создать таблицу с формулами
Функционал Экселя позволяет не просто вычислять переменные для каждого конкретного поля, но и задавать алгоритмы заполнения их множества одновременно.
Например, имеется таблица с перечнем из десяти товаров, количеством каждого из них и стоимостью единицы.
Чтобы рассчитать общую стоимость каждого наименования товаров, необходимо стоимость единицы каждого из них умножить на количество единиц этого товара. Вычислим общую стоимость Товара 1. Для этого выделяем поле D2, ставим знак равенства, выделяем В2, прописываем алгебраический символ умножения «*» и выделяем С2.
В поле появился алгоритм вычисления полной стоимости, после нажатия кнопки ввода в нем отразится искомое число.
Чтобы быстро и не проделывая всех указанных манипуляций получить общие суммы по всем оставшимся товарам, выделим D2, в правом нижнем углу зеленой рамки появится небольшой квадратик, нажмем на него левой клавишей мыши и потянем вниз до D11, не отпуская клавишу.
После отпускания клавиши мыши в захваченный полях появятся искомые значения.
Если дважды кликнуть на любое из полей с полученными значениями, отобразится алгоритм, по которому цифра была получена.
Алгоритм автоматически составился для конкретной строки, прописав в нее новые координаты. Если необходимо, чтобы при таком действии одна или несколько ячеек из первоначального алгоритма оставались неизменными, их необходимо обозначить как постоянные.
Как обозначить постоянную ячейку
Чтобы обозначить постоянную ячейку, необходимо перед ее наименованием в алгоритме поставить знак $.
Например, при исчислении общих стоимостей товаров мы закрепим как постоянную ячейку со стоимостью единицы Товара 1. Для этого перед С2 в алгоритме прописываем знак $, указать его необходимо как перед буквой, так и перед цифрой в обозначении.
Исчислим результат для Товара 1 и растянем алгоритм на весь столбец товаров, как это описано выше. Итоговые значения в строках будут иными.
Если кликнуть дважды на любое из полученных значений, увидим, что при вычисления система использовала количество товара в соответствующей строке и стоимость единицы Товара 1.
Синтаксис.
ПРАВСИМВ возвращает указанное количество символов от конца текста.
Правила написания:
ПРАВСИМВ(текст; )
Где:
- Текст (обязательно) — текст, из которого вы хотите извлечь символы.
-
число_знаков (необязательно) — количество символов для извлечения, начиная с самого правого символа.
- Если аргумент опущен, возвращается один последний символ (по умолчанию).
- Когда число знаков для извлечения больше, чем общее количество символов в ячейке, возвращается весь текст.
- Если введено отрицательное число, формула возвращает ошибку #ЗНАЧ!.
Например, чтобы извлечь последние 6 символов из ячейки A2, запишите:
Результат может выглядеть примерно так:
Важное замечание! ПРАВСИМВ всегда возвращает текст, даже если исходное значение является числом. Чтобы заставить формулу выводить число, используйте ее в сочетании с ЗНАЧЕН, как показано в . В реальных таблицах ПРАВСИМВ редко используется в одиночку. В большинстве случаев вы будете использовать ее вместе с другими функциями Excel в составе более сложных формул
Об этом и поговорим далее
В реальных таблицах ПРАВСИМВ редко используется в одиночку. В большинстве случаев вы будете использовать ее вместе с другими функциями Excel в составе более сложных формул. Об этом и поговорим далее.
Примеры
Вывод прямых парных кавычек
Прямые парные кавычки в VBA Excel являются спецсимволами и вывести их, заключив в самих себя или в одинарные кавычки (апострофы), невозможно. Для этого подойдет функция Chr:
1 |
SubPrimer1() ‘Вывод одной прямой парной кавычки MsgBox Chr(34) ‘Отображение текста в прямых кавычках MsgBox Chr(34)&»Волга»&Chr(34) ‘Вывод 10 прямых парных кавычек подряд MsgBox String(10,Chr(34)) EndSub |
Смотрите интересное решение по выводу прямых кавычек с помощью прямых кавычек в первом комментарии.
Отображение слов наоборот
Преобразование слова «налим» в «Милан»:
1 |
SubPrimer2() Dimstroka stroka=»налим» stroka=StrReverse(stroka)’милан stroka=StrConv(stroka,3)’Милан MsgBox stroka EndSub |
или одной строкой:
1 |
SubPrimer3() MsgBox StrConv(StrReverse(«налим»),3) EndSub |
Преобразование слова «лето» в «отель»:
1 |
SubPrimer4() Dimstroka stroka=»лето» stroka=StrReverse(stroka)’отел stroka=stroka&»ь»‘отель MsgBox stroka EndSub |
или одной строкой:
1 |
SubPrimer5() MsgBox StrReverse(«лето»)&»ь» EndSub |
Печатная машинка
Следующий код VBA Excel в замедленном режиме посимвольно печатает указанную строку на пользовательской форме, имитируя печатную машинку.
Для реализации этого примера понадобится пользовательская форма (UserForm1) с надписью (Label1) и кнопкой (CommandButton1):
Код имитации печатной машинки состоит из двух процедур, первая из которых замедляет выполнение второй, создавая паузу перед отображением очередного символа, что и создает эффект печатающей машинки:
1 |
SubStopSub(Pause AsSingle) DimStart AsSingle Start=Timer DoWhileTimer<Start+Pause DoEvents Loop EndSub PrivateSubCommandButton1_Click() Dimstroka AsString,iAsByte stroka=»Печатная машинка!» Label1.Caption=»» Fori=1ToLen(stroka) CallStopSub(0.25)’пауза в секундах ‘следующая строка кода добавляет очередную букву Label1.Caption=Label1.Caption&Mid(stroka,i,1) Next EndSub |
Обе процедуры размещаются в модуле формы. Нажатие кнопки CommandButton1 запустит замедленную печать символов в поле надписи, имитируя печатную машинку.
Типы ссылок на ячейки в формулах Excel
Если вы работаете в Excel не второй день, то, наверняка уже встречали или использовали в формулах и функциях Excel ссылки со знаком доллара, например $D$2 или F$3 и т.п. Давайте уже, наконец, разберемся что именно они означают, как работают и где могут пригодиться в ваших файлах.
Относительные ссылки
Это обычные ссылки в виде буква столбца-номер строки ( А1, С5, т.е. «морской бой»), встречающиеся в большинстве файлов Excel. Их особенность в том, что они смещаются при копировании формул. Т.е. C5, например, превращается в С6, С7 и т.д. при копировании вниз или в D5, E5 и т.д. при копировании вправо и т.д. В большинстве случаев это нормально и не создает проблем:
Смешанные ссылки
Иногда тот факт, что ссылка в формуле при копировании «сползает» относительно исходной ячейки — бывает нежелательным. Тогда для закрепления ссылки используется знак доллара ($), позволяющий зафиксировать то, перед чем он стоит. Таким образом, например, ссылка $C5 не будет изменяться по столбцам (т.е. С никогда не превратится в D, E или F), но может смещаться по строкам (т.е. может сдвинуться на $C6, $C7 и т.д.). Аналогично, C$5 — не будет смещаться по строкам, но может «гулять» по столбцам. Такие ссылки называют смешанными:
Абсолютные ссылки
Ну, а если к ссылке дописать оба доллара сразу ($C$5) — она превратится в абсолютную и не будет меняться никак при любом копировании, т.е. долларами фиксируются намертво и строка и столбец:
Самый простой и быстрый способ превратить относительную ссылку в абсолютную или смешанную — это выделить ее в формуле и несколько раз нажать на клавишу F4. Эта клавиша гоняет по кругу все четыре возможных варианта закрепления ссылки на ячейку: C5 → $C$5 → $C5 → C$5 и все сначала.
Все просто и понятно. Но есть одно «но».
Предположим, мы хотим сделать абсолютную ссылку на ячейку С5. Такую, чтобы она ВСЕГДА ссылалась на С5 вне зависимости от любых дальнейших действий пользователя. Выясняется забавная вещь — даже если сделать ссылку абсолютной (т.е. $C$5), то она все равно меняется в некоторых ситуациях. Например: Если удалить третью и четвертую строки, то она изменится на $C$3. Если вставить столбец левее С, то она изменится на D. Если вырезать ячейку С5 и вставить в F7, то она изменится на F7 и так далее. А если мне нужна действительно жесткая ссылка, которая всегда будет ссылаться на С5 и ни на что другое ни при каких обстоятельствах или действиях пользователя?
Действительно абсолютные ссылки
Решение заключается в использовании функции ДВССЫЛ (INDIRECT) , которая формирует ссылку на ячейку из текстовой строки.
Если ввести в ячейку формулу:
=ДВССЫЛ(«C5»)
=INDIRECT(«C5»)
то она всегда будет указывать на ячейку с адресом C5 вне зависимости от любых дальнейших действий пользователя, вставки или удаления строк и т.д. Единственная небольшая сложность состоит в том, что если целевая ячейка пустая, то ДВССЫЛ выводит 0, что не всегда удобно. Однако, это можно легко обойти, используя чуть более сложную конструкцию с проверкой через функцию ЕПУСТО:
=ЕСЛИ(ЕПУСТО(ДВССЫЛ(«C5″));»»;ДВССЫЛ(«C5»))
=IF(ISBLANK(INDIRECT(«C5″));»»;INDIRECT(«C5»))