Skip to content
Вы узнаете, как сравнивать значения в ячейках Excel на предмет точного совпадения или без учета регистра. Мы предложим вам несколько формул для сопоставления двух ячеек по их значениям, длине или количеству вхождений определенного символа, а также вы научитесь сравнивать между собой сразу несколько ячеек.
При использовании Excel для анализа данных точность является наиболее важной задачей. Неправильная информация приводит к срыву сроков, неверной оценке тенденций, неправильным решениям и потере доходов.
Несмотря на то, что ваши формулы Excel будут абсолютно верны, их результаты могут быть ошибочными из-за некорректных значений в ваших таблицах. Сравнивать две ячейки вручную несложно, но заметить разницу между сотнями и тысячами текстовых и числовых значений практически невозможно.
- Как сравнить две ячейки без учета и с учетом регистра букв.
- Сравниваем сразу несколько ячеек.
- Сравнение нескольких ячеек с образцом
- Содержимое какой ячейки длиннее?
- Одинаковы ли ячейки по количеству вхождений определённого символа?
В этом руководстве вы узнаете, как автоматизировать утомительную и чреватую ошибками задачу сравнения ячеек, а также какие формулы лучше всего использовать в каждом конкретном случае.
Как сравнить две ячейки в Excel.
Существует два разных способа выяснения тождества текстовых данных в Excel в зависимости от того, требуется ли это делать с учетом регистра или без него.
Формула без учета регистра.
Чтобы сопоставить две ячейки в Excel без учета регистра, используйте самый простой вариант:
=A1=B1
Где A1 и B1 – объекты для сопоставления. Результатом являются логические значения ИСТИНА и ЛОЖЬ.
Если вы хотите в качестве результата вывести свои собственные сообщения для обозначения совпадений и различий, вставьте приведенный выше оператор в логический тест функции ЕСЛИ. Например:
=ЕСЛИ(A2=B2; «Совпадает»; «НЕ совпадает»)
Как вы видите на скриншоте ниже, обе формулы одинаково хорошо сравнивают текст, даты и числа:
Формула с учетом регистра.
В некоторых ситуациях может быть важно не просто сравнить текст, но и учесть регистр символов. Сопоставлениес учетом регистра можно выполнить с помощью функции Excel СОВПАД (EXACT в английской версии):
СОВПАД(текст1; текст2)
Где текст1 и текст2 — две сравниваемые ячейки.
Предполагая, что ваши значения находятся в A2 и B2, расчёт выглядит следующим образом:
=СОВПАД(A2; B2)
В результате вы получите ИСТИНА для текстовых данных, точно совпадающих с регистром каждого символа, в противном случае — ЛОЖЬ.
Если вы хотите, чтобы функция СОВПАД выдавала другие результаты, вставьте ее в формулу ЕСЛИ и введите свой собственный текст для вариантов ответа:
=ЕСЛИ(СОВПАД(A2; B2); «Совпадает»; «НЕ совпадает»)
На следующем скриншоте показаны результаты с учетом регистра:
Как сравнить несколько ячеек в Excel
Чтобы сопоставить между собой более 2 ячеек, используйте выражения, описанные в приведенных выше примерах, в сочетании с оператором И.
Формула без учета регистра для более чем двух ячеек
В зависимости от того, как вы хотите отображать результаты, используйте одну из следующих формул:
=И(A2=B2; A2=C2)
или
=ЕСЛИ(И(A2=B2; A2=C2); «Совпадает»; «НЕ совпадает»)
Оператор И возвращает ИСТИНА, если все клетки таблицы содержат одно и то же значение, ЛОЖЬ, если любое значение отличается. Функция ЕСЛИ выводит введенные вами метки: «Совпадает» и «Не совпадает».
Как показано на скриншоте ниже, формула отлично работает с любыми типами данных — текстом, датами и числовыми значениями:
Сравниваем несколько ячеек с учетом регистра букв.
Чтобы сопоставить несколько текстовых значений друг с другом и убедиться, что они точно совпадают, используйте:
=И(СОВПАД(A2;B2); СОВПАД(A2; C2))
или
=ЕСЛИ(И(СОВПАД(A2;B2);СОВПАД(A2; C2));»Точное совпадение»; «НЕ совпадает»)
Как и в предыдущем примере, первая формула выдает значения ИСТИНА и ЛОЖЬ, тогда как вторая отображает ваши собственные сообщения для совпадений и различий:
Если же нам достаточно хотя бы двух совпадений значений, то сделаем это так:
=ЕСЛИ(ИЛИ(СОВПАД(A2;B2);СОВПАД(A2; C2);СОВПАД(B2;C2)); «Не менее 2 точных совпадений»; «НЕ совпадает»)
То есть, если в двух случаях из трёх будут одинаковые значения, то это будет для нас положительным результатом.
Но если в нашей таблице нужно проверить много ячеек, то приведенное выше выражение с условием ИЛИ станет очень громоздким. Поэтому можно использовать функцию СЧЁТЕСЛИ.
Мы может рассчитать количество совпадений в нашем диапазоне ячеек при помощи этой формулы массива:
{=СЧЁТЕСЛИ(A2:D2;A2:D2)}
Чтобы выделить группы ячеек с полностью совпадающими значениями, можно использовать выражение:
=ЕСЛИ(СЧЁТЕСЛИ(A2:D2;A2:D2)=СЧЁТЗ(A2:D2);»Полное совпадение»;»»)
Как видите, регистр символов здесь, к сожалению, не учитывается.
Кроме того, обратите внимание на последнюю строку. В одной из ячеек имеются ведущие пробелы, поэтому полного совпадения нет. Аналогичный результат будет, если после текста случайно будет введен так называемый концевой пробел. А его визуально обнаружить крайне сложно. Поэтому обнаружение и удаление лишних пробелов — весьма важная задача. Ссылку на нужную инструкцию смотрите в конце этой статьи.
Сравните диапазон ячеек с образцом.
В следующих примерах показано, как можно проверить, что все адреса в заданном диапазоне содержат тот же текст, что и в ячейке-образце.
Совпадает ли ячейка с образцом?
Если регистр символов не имеет значения, вы можете использовать для сопоставления с образцом примерно такое выражение:
ЧСТРОК( диапазон ) * ЧИСЛСТОЛБ( диапазон ) = СЧЁТЕСЛИ( диапазон ; ячейка образца )
В логической проверке функции ЕСЛИ вы проверяете равенство двух чисел:
- Общее количество ячеек в указанном диапазоне (количество строк, умноженное на количество столбцов), и
- Количество ячеек, содержащих то же значение, что и в образце (возвращенное функцией СЧЁТЕСЛИ ).
Предполагая, что образец текста находится в C2, а данные находятся в диапазоне A2: B6, формула выглядит следующим образом:
(ЧСТРОК(A2:B6)*ЧИСЛСТОЛБ(A2:B6))=СЧЁТЕСЛИ(A2:B6;C2)
Чтобы сделать результаты более удобными для пользователя, т. е. вывести осмысленный текст вместо ИСТИНА и ЛОЖЬ, используйте функцию ЕСЛИ, как мы делали в предыдущих примерах:
=ЕСЛИ((ЧСТРОК(A2:B6)*ЧИСЛСТОЛБ(A2:B6))=СЧЁТЕСЛИ(A2:B6;C2);»Всё совпадает»; «Есть несовпадения»)
Как показано на скриншоте выше, формула отлично справляется с диапазоном текстовых значений, но ее также можно использовать для сопоставления чисел и дат.
Проверяем совпадение с образцом с учётом регистра букв.
Если регистр символов имеет значение, вы можете проверить совпадение ячейки с образцом текста, используя следующие формулы массива.
ЕСЛИ((ЧСТРОК(диапазон )*ЧИСЛСТОЛБ(диапазон ))=(СУММ(—СОВПАД( образец ; диапазон ))); «текст_если_ совпадает»;»текст_если_НЕ_совпадает»)
Поскольку исходный диапазон находится в области A2: B6, а образец текста — в C2, получаем следующее:
{=ЕСЛИ((ЧСТРОК(B2:C6)*ЧИСЛСТОЛБ(B2:C6))=(СУММ(—СОВПАД(C2;B2:C6))); «Всё совпадает»;»НЕ совпадает»)}
В отличие от обычных формул Excel, формулы массива заполняются нажатием Ctrl + Shift + Enter. При правильном вводе Excel заключает формулу массива в {фигурные скобки}, как показано ниже:
Как соотнести две ячейки по длине.
Иногда вам может потребоваться проверить, содержат ли данные в каждой ячейке одинаковое количество символов. Решение для этой задачи очень простое. Сначала вы получаете длину каждой из этих двух ячеек с помощью функции ДЛСТР, а затем проверяете равенство этих чисел.
Предположим, что исходные значения находятся в A2 и B2. Используйте любой из вариантов:
=ДЛСТР(A2)=ДЛСТР(B2)
или
=ЕСЛИ(ДЛСТР(A2)=ДЛСТР(B2); «Равная длина»; «Длины не равны»)
Как вы понимаете, первый возвращает логические значения ИСТИНА или ЛОЖЬ, тогда как второй выводит ваши собственные результаты:
Как показано на скриншоте выше, формулы работают как для текста, так и для чисел.
Примечание. Если две, казалось бы, одинаковые ячейки с текстом возвращают разную длину, скорее всего, проблема в начальных или конечных пробелах в одной или обеих из них. В этом случае удалите лишние пробелы с помощью функции СЖПРОБЕЛЫ. Подробное объяснение и примеры можно найти здесь: Как удалить пробелы в Excel .
Сравниваем две ячейки по вхождению определенного символа
Это последний пример в нашем руководстве по сравнению ячеек в Excel, и он показывает решение для довольно конкретной задачи. Предположим, у вас есть 2 столбца текстовых значений, которые содержат важный для вас символ. Ваша цель — проверить, содержат ли две ячейки в каждой строке одинаковое количество вхождений данного символа.
Чтобы было понятнее, рассмотрим следующий пример. Допустим, у вас есть два списка отгруженных заказов (столбец B) и полученных (столбец C). Каждая запись таблицы содержит заказы на конкретный товар, уникальный идентификатор которого включен во все идентификаторы заказа и указан в той же строке в столбце A (см. скриншот ниже). Вы хотите убедиться, что каждая строка содержит равное количество отправленных и полученных товаров с этим конкретным идентификатором.
Чтобы решить эту проблему, будем действовать следующим образом:
- Во-первых, замените код заказа ничем с помощью функции ПОДСТАВИТЬ:
ПОДСТАВИТЬ(A1; код;»»)
- Затем подсчитайте, сколько раз код появляется в каждой ячейке. Для этого получите длину её содержимого без кода и вычтите ее из общей первоначальной длины ячейки. Эта операция должна быть выполнена для 1 и 2 ячейки отдельно, например:
ДЛСТР(B2)-ДЛСТР(ПОДСТАВИТЬ(B2; $A2;»»))
а также
ДЛСТР(C2)-ДЛСТР(ПОДСТАВИТЬ(C2; $A2;»»))
- Теперь вы приравниваете эти 2 числа, поместив знак равенства (=) между указанными выше частями.
ДЛСТР(B2)-ДЛСТР(ПОДСТАВИТЬ(B2; $A2;»»)) = ДЛСТР(C2)-ДЛСТР(ПОДСТАВИТЬ(C2; $A2;»»))
В нашем примере код находится в A2, а значения находится в B2 и C2.
Выражение возвращает ИСТИНА, если B2 и C2 содержат одинаковое количество вхождений символа из A2, в противном случае — ЛОЖЬ. Чтобы сделать результаты более понятными для ваших пользователей, вы можете встроить его в функцию ЕСЛИ:
=ЕСЛИ(ДЛСТР(B2)-ДЛСТР(ПОДСТАВИТЬ(B2; $A2;»»)) = ДЛСТР(C2)-ДЛСТР(ПОДСТАВИТЬ(C2; $A2;»»)); «Совпадает»; «НЕ совпадает»)
Как вы можете видеть на скриншоте выше, всё работает отлично, несмотря на пару дополнительных сложностей:
- Подсчитываемый символ (уникальный идентификатор) может появляться в любом месте ячейки.
- Записи содержат переменное количество символов и разные разделители, такие как точка с запятой, запятая или пробел.
Вот как можно при помощи формул можно сравнивать ячейки в Excel. Благодарю вас за чтение.
Часто перед пользователями табличного редактора Эксель стоит такая задачка, как сравнение текста в ячейках таблички. Существует несколько способов реализации этой процедуры. В статье мы детально рассмотрим каждый из способов, позволяющий реализовать сравнение текстовой информации в ячейках таблички.
Содержание
- Сравнение двух ячеек в табличном редакторе
- Применение специальной формулы без учета регистра
- Применение специальной формулы с учетом регистра
- Сравнение нескольких ячеек в табличном редакторе
- Применение специальной формулы без учета регистра для нескольких ячеек
- Применение специальной формулы с учетом регистра для нескольких ячеек
- Заключение
Сравнение двух ячеек в табличном редакторе
В табличном редакторе имеется два различных метода, позволяющих сравнить текстовую информацию в ячейках. Методы отличаются друг от друга тем, что один учитывает регистр, а второй – нет
Применение специальной формулы без учета регистра
Самый простейший вариант сравнения текста в 2-х ячейках без учета регистра – это применение символа «=» между координатами ячеек. Пример формулы: =А1=В1.
Важно! А1 и В1 являются элементами сравнения. В результате, в ячейке с формулой выведется либо значение ЛОЖЬ, либо значение ИСТИНА.
Если пользователь желает в виде результата отобразить уникальные сообщения, говорящие о наличие соответствий в ячейках, то дополнительно в формулу необходимо добавить оператор «ЕСЛИ». Простой пример такой формулы: =ЕСЛИ(А2=В2; «Совпадает»; «НЕ совпадает»).
На нижеприведенной картинке прекрасно видно, как две рассмотренные формулы справляются с процедурой сравнения текстовой информации в ячейках.
Применение специальной формулы с учетом регистра
Часто при работе с документами случаются такие моменты, когда необходимо не просто произвести сравнение текстовой информации, но и учесть регистр. Для реализации этой несложной процедуры применятся специальный оператор «СОВПАД». В английской вариации он имеет наименование «EXACT». Общий вид формулы выглядит так: =СОВПАД(текст1; текст2). Аргументы текст1 и текст2 – это координаты ячеек, в которых будет производиться сравнение текстовой информации.
К примеру, данные для сравнения располагаются в полях, имеющих координаты А1 и В1. В этом случае, применяемая формула будет выглядеть так: =СОВПАД(А1; В1). Значение ИСТИНА будет отображено в том случае, если регистр каждого знака будет совпадать. В иных случаях отобразится значение ЛОЖЬ.
Внимание! Если пользователь желает в виде результата отобразить уникальные сообщения, говорящие о наличие соответствий в ячейках, то дополнительно в формулу необходимо добавить оператор «ЕСЛИ».
Простой пример такой формулы: =ЕСЛИ(СОВПАД(A1; B1); «Совпадает»; «НЕ совпадает»). На нижеприведенной картинке прекрасно видно, как две рассмотренные формулы справляются с процедурой сравнения текстовой информации в ячейках с учетом регистра.
Сравнение нескольких ячеек в табличном редакторе
Теперь поговорим детально о том, как произвести сравнение текстовой информации более, чем в двух ячейках. Эти методы практически идентичны тем, что были рассмотрены выше.
Применение специальной формулы без учета регистра для нескольких ячеек
Здесь, как и в ранее рассмотренных методах, применяется две вариации формулы:
- Первый вариант формулы выглядит так: =И(А1=В1; А1=С1).
- Второй вариант формулы выглядит так: =ЕСЛИ(И(А1=В1; А1=С1); «Совпадает»; «НЕ совпадает»).
Функция «И» реализует возврат значения ИСТИНА в том случае, если все поля таблички имеют совпадающие значения. Возврат значения ЛОЖЬ происходит, если какое-либо из значений не совпадает. Оператор «ЕСЛИ» позволяет отобразить на экране те показатели, которые ввел пользователь в формулу.
На нижеприведенной картинке прекрасно видно, как две рассмотренные формулы справляются с процедурой сравнения не только текстовой информации, но и с числовыми показателями, а также с данными формата «Дата».
Применение специальной формулы с учетом регистра для нескольких ячеек
Здесь, как и в ранее рассмотренных методах, применяется две вариации формулы:
- Первый вариант формулы выглядит так: =И(СОВПАД(А1;В1); СОВПАД(А1; С2)).
- Второй вариант формулы выглядит так: =ЕСЛИ(И(СОВПАД(А1;В1);СОВПАД(А1; С1));»Точное совпадение»; «НЕ совпадает»).
Как и в предыдущем примере, функция «И» реализует возврат значения ИСТИНА в том случае, если все поля таблички имеют совпадающие значения. Возврат значения ЛОЖЬ происходит, если какое-либо из значений не совпадает. Оператор «ЕСЛИ» позволяет отобразить на экране те показатели, которые ввел пользователь в формулу. Результат преобразований выглядит так:
Если пользователю необходимо, чтобы формула вывела наличие соответствий хотя бы 2-х показателей, то ему необходимо использовать следующую формулу: =ЕСЛИ(ИЛИ(СОВПАД(А1;В1);СОВПАД(А1; С1);СОВПАД(В1;С1)); «Не менее двух точных соответствий»; «Соответствий нет»). Иными словами, в этом случае наличие хотя бы 2-х соответствий в 3-х случаях, выведет положительное значение. Результат преобразований выглядит так:
Если же пользователю необходимо произвести сравнение в табличке, в которой присутствует огромное количество ячеек, то вышеописанная формула будет не удобной в использовании, так как она станет слишком длинной. Здесь целесообразнее использовать математический оператор «СЧЕТЕСЛИ». Подсчитать количество соответствий в большом диапазоне ячеек можно при помощи следующей формулы: {=СЧЕТЕСЛИ(А2:D2;А2:D2)}. Результат преобразований выглядит так:
Стоит отметить! Очень важно следить за количеством ненужных пробелов в ячейках. Дело в том, что если в ячейке присутствует пробел, то он будет восприниматься табличным редактором как символ. Поэтому перед использованием формул необходимо убедиться в том, что в ячейках отсутствуют ненужные пробелы.
Заключение
Мы выяснили, что в табличном редакторе Эксель существует огромное количество методов, позволяющих реализовать сравнение текстовой информации в ячейках. Мы узнали, что можно сравнивать информацию с учетом регистра и без учета. Для реализации этой процедуры великолепно подходит такой оператор, как «СОВПАД». Дополнительно для более сложных процедур применяются такие функции, как «И», «ИЛИ», «ЕСЛИ» И «СЧЕТЕСЛИ».
Оцените качество статьи. Нам важно ваше мнение:
Если вы когда-нибудь использовали в своих вычислениях в Excel логические функции (типа ЕСЛИ) или функции подстановки (типа ВПР), то, вполне возможно, уже сталкивались с ситуацией, когда две визуально неотличимых ячейки Microsoft Excel почему-то считает неодинаковыми, что автоматически приводит к неработоспособности функций, ломает фильтрацию, сводные таблицы и т.д. Причин для такого может быть много:
- лишние пробелы
- использование английских букв похожих на русские и наоборот (русская «эс» и английская «си», например)
- использование цифр вместо букв (ноль вместо заглавной «О»)
- разные версии тире (короткое, длинное, среднее)
- неразрывный пробел вместо обычного
- невидимые символы переноса строки (Alt+Enter)
- … и т.д.
Вопрос в том, где именно эти отличия находятся и как их быстро найти в исходных данных?
Самое простое — это сделать за пару минут прямо в Excel своими руками универсальный сравниватель, который будет наглядно показывать в чем именно не совпадают две любые заданные текстовые строки:
В жёлтые ячейки нужно будет скопировать и вставить исходные тексты.
Затем каждую строку мы разбираем на отдельные символы с помощью функции ПСТР (MID) в ячейке D4:
Если у вас последние версии Excel 2021 или Office 365, то для подобного также можно использовать новую функцию ПОСЛЕД (SEQUENCE):
Дополнительно имеет смысл вывести над непустыми зелёными ячейками коды каждого символа, чтобы чётко видеть причину отличий, если они будут. Это легко сделать с помощью функции КОДСИМВ (CHAR):
Ну и для пущей наглядности можно добавить ещё и правило условного форматирования, чтобы подсветить красным отличия в конкретных символах. Для этого выделяем наши зелёные ячейки с символами, на которые мы разобрали каждый текст и выбираем Главная — Условное форматирование — Создать правило (Home — Conditional Formatting — Create Rule). В открывшемся окне выбираем последний тип правила Использовать формулу для определения форматируемых ячеек (Use a formula to detect cells to format) и вводим в нижнее поле формулу для проверки результатов посимвольного сравнения:
Обратите особое внимание на знаки доллара, используемые здесь для закрепления ссылок на сравниваемые ячейки — мы фиксируем строки (3 и 6), а не столбцы (D).
Общее количество отличий, т.е. несовпадений можно легко вычислить с помощью вот такой формулы:
Здесь мы поячеечно (т.е. посимвольно) сравниваем наши зеленые диапазоны, получая на выходе логические значения ИСТИНА и ЛОЖЬ (TRUE и FALSE). Затем используется двойное бинарное отрицание — 2 знака минус, выполняющие функцию безобидного двойного умножения на минус 1, что заставляет Excel конвертировать логические значения в 1 и 0 соответственно. Потом останется лишь сложить все получившиеся нули и единицы, но мы, в данном случае, делаем это не с помощью стандартной функции СУММ (SUM), а используем её «старшего брата» — функцию СУММПРОИЗВ (SUMPRODUCT), которая позволяет вводить формулы массива (а это как раз она!) без сочетания клавиш Ctrl+Shift+Enter.
И пару общих рекомендаций вдогон:
- Используйте шрифты, созданные для программирования (Consolas, FiraCode, Monaco…) — их дизайн разработан так, чтобы похожие в других шрифтах символы (например цифра 1 и строчная латинская «L» или ноль и заглавная «О») выглядели по-разному.
- Для быстрого поиска латиницы в русском тексте можно просто задать для ячеек шрифт, в котором кириллица и латиница выглядят по-разному (например, Bauhaus93, Copper и т.п.)
В любом случае, можете просто скачать файл по ссылке в начале этой статьи и просто использовать этот готовый сравниватель для поиска «блох» в ваших данных. С ним это будет сделать гораздо легче.
Ссылки по теме
- Поиск символов латиницы в русском тексте
- Подсветка лишних пробелов
- Поиск точных совпадений с учётом регистра функцией СОВПАД (EXACT)
Как сравнить текст в Excel
Когда вы используете табличный процессор Excel (от Microsoft Office), кроме задач по сравнению числовых значений, часто необходимо бывает сравнить текстовые (или «строковые») данные в ячейках таблицы. Сделать это можно так: в Excel есть встроенныефункции сравнения, и если результат операции необходимо получить в виде цифрового или же логического значения нужно воспользоваться этим сравнением. Так же можно использовать и опции условного форматирования, это делается в том случае, когда результатом должно стать визуальное выделение всех совпадающих (или же несовпадающих) ячеек данной таблицы.
Воспользуемся встроенной функцией для сравнения ячеек СЧЁТЕСЛИ, когда нужно сравнить текстовые показатели в ячейках колонки таблицы непосредственно с образцом текста и потом пересчитать все возможные совпадающие значения. Начинаем с заполнения конкретной колонки текстовыми значениями, потом делаем это в другой колонке и щелкаем ячейку, где вы хотите увидеть результат вашего подсчета, и там вводим соответствующую формулу. К примеру, если проверяемые показатели находятся в колонке типа «A», а результат нужно поместить в 1-ю ячейку колонки типа «C», то всё ее содержимое должно выглядеть так: =СЧЁТЕСЛИ($A:$A;»Виноград»).«Виноград» здесь, это строковое значение, непосредственно с которым и сравниваются показатели всех ячеек данной колонки «A». Можно так же не указывать это в формуле, но поместить в свободную отдельную ячейку (в «B1», например) и вставить в формулу нужную ссылку: =СЧЁТЕСЛИ($A:$A;B1).
Дальше мы будем использовать опции условного форматирования, особенно, если нужно визуально выделить в конкретной таблице результаты сравнения строковых переменных. Так, если необходимо выделить в данной колонке ячейки «A», текст совпадающий с образцом находящимся в ячейке «B1», старайтесь начинать с выделения данной колонки, а для этогощелкните по её заголовку. Потом щелкните по кнопке «Условное форматирование», находящееся в группе команд типа «Стили», закладке «Главная» в программе Excel. Переходим в раздел под названием «Правила выделения ячеек» с выбором строки «Равно». Там указываем ячейку-образец (щелкаем по клетке «B1») и выбираем в выпадающем списке вариант для оформления совпадающих строк. Нажимаем кнопку «OK».
Тут нужно использовать комбинацию встроенных функций типа «ЕСЛИ» и «СЦЕПИТЬ» ипри необходимости сравниватьс данным образцом не одну, а несколько текстовых ячеек. Функция «СЦЕПИТЬ» будет соединять указанные ей значения непосредственно в одну строковую переменную. К примеру, команда типа «СЦЕПИТЬ» (шаг «A1» или «B1») в строке из ячейки типа «A1» добавит нужный текст » и «, ну а после него он поместит строку из другой ячейки, а именно из „ B1“. Сделанную таким способом строку можно затем сравнивать с образцом при помощи функции „ЕСЛИ“. Если сравнивать необходимо не одну строку, то удобнее дать имя (своё собственно) ячейке-образцу. Что бы это сделать щелкните ее, а потом влево от строки формулы вместо обозначения ячейки („C1“ например) наберите новое ее имя („образец“, к примеру). Затем нужно кликнуть ту ячейку, в которой и должен быть результат вашего сравнения, и вводим формулу такого типа:
ЕСЛИ(СЦЕПИТЬ(A1;» и «;B1)=образец;1;0)
Тут, единица -значение, которое станет содержать ячейка с формулой, когда сравнение даст вам положительный результат, а цифра ноль — то же самое, но для отрицательного результата. Размножать эту формулу ко всем строкам таблицы, которые необходимо сравнить с данным образцом очень легко — наведите курсор к правому нижнему углу ячейки и, в тот момент, когдакурсор изменится (он станет черным крестиком), нужно нажать на левую кнопку мышки и растянуть эту ячейку далеко вниз до последней из сравниваемых строк.
Сравнение текста с шаблоном в Excel
Описание функции
Функция =ТЕКСТКАК(ТЕКСТ, ШАБЛОН) имеет два обязательных аргумента:
- ТЕКСТ — строка в которой необходимо произвести сравнение по заданному шаблону.
- ШАБЛОН, задающий сравнение текста. В шаблоне можно применять специальные обозначения:
- ? — Любой отдельный знак.
- * — Ноль или больше знаков.
- # — Любая отдельная цифра.
- [ ] — Любой отдельный знак из скобок.
- [! ] — Любой отдельный знак отсутствующий в скобках
Теперь к практике. Далее привожу множество примеров использования данной функции.
Как найти фамилии, заканчивающиеся на букву «а»?
Решением является формула =ТЕКСТКАК(ТЕКСТ;»*а»), где символ * указывает на неограниченное количество букв и символов перед последней буквой а.
Как привести телефонный справочник в порядок.
Используем формулу =ТЕКСТКАК(ТЕКСТ;»+# ### ###-##-##»), где знак # обозначает, что на этом месте может быть расположена любая цифра.
Найти слова которые содержат сочетание «сто» в любой части слова
Найти слова которые содержат сочетание «раст» или «рост» в любой части слова
Найти слова которые содержат любое сочетание кроме «раст»
Найти текст, который начинается с цифры
Проверка правильности введенного email. Сразу оговорюсь, проверка email в данном случае не полноценная, написана для в качестве примера, объясняющего принцип работы.
Excel works!
Excel работает за вас
Excel works!
Thanks for Visiting
Сравнение текста в Excel и поиск символов
Чтобы сравнить две ячейки, в которых содержится текст необходимо просто приравнять их в соседней ячейки. Но что делать если, вам нужно сравнить текст с учетом больших и маленьких букв? А если с учетом английских букв? Появилась такая потребность как сравнение текста в Excel? Читайте далее и уверен статья вам поможет:
1) С простым сравнением разобрались? Отлично 🙂
2) Сравнение текста в Excel по регистрам
Сравнение текстов происходит простой формулой в примере номер 1, на картинке. Если необходимо сравнить прописные и заглавные буквы воспользуйтесь функцией =СОВПАД(). Пример 2.
3) Поиск чисел в ячейки с текстом
Самый простой способ найти числа в строке, воспользоваться формулой
Самая распространенная ошибка — вместо буквы О пишут число 0 и наоборот
Но обязательно воспользуйтесь формулой массива — нажмите ctrl+shift+enter вместо enter после ввода формулы.
4) Поиск определенных символов в тексте
В примере показывается, как можно найти все заглавные буквы русского алфавита. Но можно использовать эту группу функций для поиска любых символов.
Опять же не забываем про формулы массивов!
5) Удалить лишние пробелы в начале и конце строки
В версии excel 2007 появилась замечательная функция =СЖПРОБЕЛЫ() — она удаляет все лишние пробелы в начале и конце текста, а так же все задвоенные пробелы. Настоятельно рекомендую запомнить — использую ее чуть ли не каждый день.
6) Поиск символов
Для поиска символов можно использовать функцию =ПОИСК() она возвращает (считает) на какой позиции находиться заданный вами символ. Подробнее здесь .
7) Поиск символов с помощью условного форматирования или фильтра. Возможность «Содержит»
Можно окрасить все ячейки цветом, которые содержат заданные символы, или надписи в них. Для этого воспользуйтесь условным форматированием . Как показано на рисунке
Чтобы оставить только те ячейки, которые содержат нужные символы воспользуйтесь фильтрами. В фильтрах есть возможность отобрать строки по заданным условиям
Функция СОВПАД для сравнения значений двух таблиц в Excel без ВПР
Функция СОВПАД в Excel предназначена для проверки двух текстовых срок на их полное соответствие друг другу и возвращает одно из двух возможных логических значений: ИСТИНА – если строки полностью совпадают, ЛОЖЬ – если обнаружено хотя бы одно несоответствие в сравниваемых данных. При работе данной функции учитывается регистр букв. Это значит, что результат сравнения двух строк «текст» и «ТеКсТ» будет равен значению ЛОЖЬ. Распространенный вариант применения рассматриваемой функции – определение вхождения некоторого текста в документ.
Сравнение двух таблиц по функции СОВПАД в Excel
Пример 1. Есть две одинаковые (на первый взгляд) таблицы данных, которые содержат наименования продукции. Одну из них предположительно редактировал уволенный работник. Необходимо быстро сравнить имеющиеся данные и выявить несоответствия.
Вид таблицы данных:
Для сравнения двух строк используем следующую формулу массива (CTRL+SHIFT+Enter):
Описание параметров функции СОВПАД:
- D3 – текущая ячейка с текстом из второй таблицы;
- $B$3:$B$13 – соответствующая ячейка с текстом из второй таблицы для проверки на совпадение со значением D3.
Функция ИЛИ возвращает логическое значение ИСТИНА из массива если хотя бы одно из них совпадает с исходным значением.
Протянем данную формулу вниз до конца таблицы, чтобы Excel автоматически рассчитал значения для остальных строк:
Как видно, в сравниваемых строках были найдены несоответствия.
Выборка значений из таблицы по условию в Excel без ВПР
Пример 2. В таблице содержатся данные о продажах мобильных телефонов (наименование и стоимость). Определить самый продаваемый вид товара за день, рассчитать количество проданных единиц и общую выручку от их продажи.
Вид таблицы данных:
Поскольку товар имеет фиксированную стоимость, для определения самого продаваемого смартфона можно использовать встроенную функцию МОДА. Чтобы найти наименование наиболее продаваемого товара используем следующую запись:
Функция мода определяет наиболее часто повторяющиеся числовые данные в диапазоне цен. Функция ПОИСКПОЗ находит позицию первой ячейки из диапазона, в которой содержится цена самого популярного товара. Полученное значение выступает в качестве первого аргумента функции адрес, возвращающей ссылку на искомую ячейку (к значению прибавлено число 2, поскольку отсчет начинается с третьей строки сверху). Функция ДВССЫЛ возвращает значение, хранящееся в ячейке по ее адресу.
В результате расчетов получим:
Для определения общей прибыли от продаж iPhone 5s используем следующую запись:
Функция СУММПРИЗВ используется для расчета произведений каждого из элементов массивов, переданных в качестве первого и второго аргументов соответственно. Каждый раз, когда функция СОВПАД находит точное совпадение, значение ИСТИНА будет прямо преобразовано в число 1 (благодаря двойному отрицанию «—») с последующим умножением на значение из смежного столбца (стоимость).
Результат расчетов формулы:
Всего было куплено 4 модели iPhone 5s по цене 239 у.е., что в целом составило 956 у.е.
Правила синтаксиса и параметры функции СОВПАД в Excel
Функция СОВПАД имеет следующий вариант синтаксической записи:
- текст1 – обязательный для заполнения, принимает ссылку на ячейку с текстом или текстовую строку для сравнения с данными, принимаемые вторым аргументом.
- текст2 – обязательный для заполнения, принимает ссылку на ячейку или текст, с которым сравниваются данные, переданные в виде первого аргумента.
- Результат выполнения функции СОВПАД, принимающей на вход два имени, является код ошибки #ИМЯ? (например, СОВПАД(имя;имя)). Для корректной работы функции указываемые текстовые данные необходимо помещать в кавычки (например, («имя»;«имя»)).
- Функция выполняет промежуточное преобразование числовых данных в текст. Например, результат выполнения =СОВПАД(111;111) будет логическое значение ИСТИНА. Однако, преобразование логических данных в числа текстового формата не выполняется. Например, результат выполнения =СОВПАД(ИСТИНА;1) будет логическое ЛОЖЬ.
- Результат сравнения двух пустых ячеек или пустых текстовых строк с использованием функции СОВПАД — логическое ИСТИНА.
Сравнение текста по части предложения
Довольно часто возникает проблема сравнения двух строк(ячеек) по части текста. Если точнее — по совпадению слов. Чем больше слов в двух строках совпадает — тем больше они считаются похожими. Так, к примеру текст «Защитная пленка iPhone» и текст «Защитная пленка для Samsung GalaxyII» совпадут только на 40%, а «шла маша по шоссе» и «маша по шоссе шла» — на 100%.
Я не имею ввиду сейчас случаи вроде двух строк: «пр и вет» и «пр е вет». Для подобного сравнения можно написать решения различные, но скорость их выполнения как правило оставляет желать лучшего, да и точность такого сравнения тоже не на высоте, если не использовать всевозможные справочники
На деле подобная задача встречается достаточно часто и предположу, что данная статья может быть полезна очень многим. Итак, как ни жаль, но подобную задачу невозможно решить без применения Visual Basic for Applications(VBA). Решение, которое я предложу — функция пользователя. Поэтому прежде чем его использовать настоятельно рекомендую прочесть следующие статьи:
Option Explicit Option Compare Text ‘————————————————————————————— ‘ Procedure : CompareTxt ‘ DateTime : 10.03.2015 22:46 ‘ Author : The_Prist(Щербаков Дмитрий) ‘ WebMoney — R298726502453; Яндекс.Деньги — 41001332272872 ‘ http://www.excel-vba.ru ‘ Purpose : Сравнивает две строки по совпадению отдельных слов. Выводит процент, саму строку и номер строки ‘ s1 — исходный текст(ссылка на ячейку или текст) ‘ mass — диапазон значений для сравнения с исходным текстом(ссылка на ячейку или текст) ‘ sDelim — разделитель слов в тексте. По умолчанию пробел ‘ lFstLast — указатель, выводить первое или последнее подходящее совпадение. ‘ По умолчанию 0(последнее максимально совпадающее). ‘ Если указать 1 — будет выбрано первое подходящее(в котором совпадают все слова) ‘ lShowAllInfo — указатель на результат. Допускается четыре значения: ‘ -1 — показывается вся информация: Процент совпадения строк, Найденное значение, ‘ Номер строки в указанном диапазоне в которой найдено значение ‘ 1 — Выводится только процент совпадения строк ‘ 2 — выводится только значение ‘ 3 — выводится только номер строки с найденным значением ‘ По умолчанию применяется -1(вся информация) ‘ Синтаксис: ‘ =CompareTxt(A1;B1:B100) — с разделителем по умолчанию ‘ =CompareTxt(A1;B1:B100;»-«) — с разделителем короткое тире(-) ‘ =CompareTxt(A1;B1:B100;»-«;;2) — с разделителем короткое тире(-) и выводом только значения ‘————————————————————————————— Function CompareTxt(s1 As String, mass As Range, Optional sDelim As String = » «, Optional lFstLast As Long = 0, Optional lShowAllInfo As Long = -1) Dim as1, as2, l1 As Long, l2 As Long, lr As Long Dim asStr2 Dim s As String, s2 As String, lp, lTmpCom As Long, lResCom As Long Dim lResR As Long, sResS As String, v as1 = Split(s1, sDelim) asStr2 = mass.Value If Not IsArray(asStr2) Then ReDim asStr2(1 To 1, 1 To 1): asStr2(1, 1) = mass.Value For lr = 1 To UBound(asStr2, 1) as2 = Split(asStr2(lr, 1), sDelim) lResCom = 0 For l1 = LBound(as1) To UBound(as1) s = as1(l1) For l2 = LBound(as2) To UBound(as2) If as2(l2) = s Then lResCom = lResCom + 1 Exit For End If Next l2 Next l1 If lTmpCom = (UBound(as1) + 1) Then Exit For End If End If Next lr v = (lTmpCom / (UBound(as1) + 1)) * 100 Select Case lShowAllInfo Case -1 CompareTxt = «Процент совпадения: » & v & «; Значение: » & sResS & «; Строка в массиве mass: » & lResR Case 1 ‘только процент CompareTxt = v Case 2 ‘только значение строки CompareTxt = sResS Case 3 ‘только номер строки CompareTxt = lResR End Select End Function
Данный код необходимо вставить в стандартный модуль книги(выше я привел ссылки на статьи, чтобы более точно понять куда и как вставить). Функция ищет указанное значение( s1 ) в массиве значений( mass ) и выводит максимально подходящее значение. Максимально подходящее, естественно, полное совпадение — то, которое совпадает на 100%. Если же полного совпадения среди значений массива( mass ) не будет найдено, то будет выведено значение с максимальным процентом совпадения. В таких случаях всегда можно указать последним аргументом( lShowAllInfo ) -1 или 3, чтобы посмотреть номер строки в указанном диапазоне( mass ) и сверить уже глазами подходит это значение или нет.
Синтаксис:
=CompareTxt(A1;B1:B100) — с разделителем по умолчанию
=CompareTxt(A1;B1:B100;»-«) — с разделителем короткое тире(-)
=CompareTxt(A1;B1:B100;»-«;;2) — с разделителем короткое тире(-) и выводом только значения
Аргументы:
s1 — исходный текст(ссылка на ячейку или текст)
mass — диапазон значений для сравнения с исходным текстом(ссылка на ячейку или текст)
sDelim — разделитель слов в тексте. По умолчанию пробел.
lFstLast — указатель, выводить первое или последнее подходящее совпадение. По умолчанию 0(последнее максимально совпадающее). Если указать 1 — будет выбрано первое подходящее(в котором совпадают все слова)
lShowAllInfo — указатель на результат. Допускается четыре значения:
- -1 — показывается вся информация: Процент совпадения строк, Найденное значение, номер строки в указанном диапазоне в которой найдено значение
- 1 — Выводится только процент совпадения строк
- 2 — выводится только значение
- 3 — выводится только номер строки с найденным значением. По умолчанию применяется -1(вся информация)
Ниже функция в файле с примерами использования:
Tips_Macro_ComparePart.xls (50,5 KiB, 2 136 скачиваний)
Статья помогла? Поделись ссылкой с друзьями!
Часто пользователи редактора электронных таблиц Excel сталкиваются с такой задачей, как сравнение текста в ячейках таблицы. Есть несколько способов реализовать эту процедуру. В статье мы подробно рассмотрим каждый из методов, позволяющих реализовать сравнение текстовой информации в ячейках планшета.
Сравнение двух ячеек в табличном редакторе
Редактор электронных таблиц предоставляет два разных метода сравнения текстовой информации в ячейках. Методы отличаются друг от друга тем, что в одном учитывается регистр, а в другом нет
Применение специальной формулы без учета регистра
Простейшее сравнение текста в 2 ячейках без учета регистра — это использование символа «=» между координатами ячеек. Пример формулы: = A1 = B1.
Важно! A1 и B1 — элементы сравнения. В результате в ячейке с формулой будет отображаться либо значение ЛОЖЬ, либо ИСТИНА.
Если пользователь хочет видеть уникальные сообщения в результате, указывающие на наличие совпадений в ячейках, оператор «ЕСЛИ» также должен быть добавлен в формулу. Простой пример такой формулы: = ЕСЛИ (A2 = B2; «Соответствует»; «НЕ совпадает»).
На следующем изображении ясно показано, как две рассматриваемые формулы относятся к процедуре сравнения текстовой информации в ячейках.
Применение специальной формулы с учетом регистра
Часто при работе с документами бывают моменты, когда необходимо не только сравнить текстовую информацию, но и рассмотреть случай. Для реализации этой простой процедуры используется специальный оператор «SOVPAD». В английской версии он называется «ТОЧНЫЙ». Общий вид формулы выглядит так: = EXACT (text1; text2). Аргументы text1 и text2 — это координаты ячеек, в которых будет сравниваться текстовая информация.
Например, данные для сравнения находятся в полях с координатами A1 и B1. В этом случае примененная формула будет выглядеть так: = EXACT (A1; B1). Значение ИСТИНА будет отображаться, если регистр каждого символа совпадает. В противном случае будет отображаться ЛОЖЬ.
Внимание! Если пользователь хочет видеть уникальные сообщения в результате, указывающие на наличие совпадений в ячейках, оператор «ЕСЛИ» также должен быть добавлен в формулу».
Простой пример такой формулы: = ЕСЛИ (ПОИСКПОЗ (A1; B1); «Соответствует»; «НЕ совпадает»). На следующем изображении ясно показано, как две рассматриваемые формулы подходят к процедуре сравнения текстовой информации в ячейках с учетом регистра.
Сравнение нескольких ячеек в табличном редакторе
Теперь подробно поговорим о том, как сравнивать текстовую информацию более чем в двух ячейках. Эти методы практически идентичны рассмотренным выше.
Применение специальной формулы без учета регистра для нескольких ячеек
Здесь, как и в ранее рассмотренных методах, применяются два варианта формулы:
- Первая версия формулы выглядит так: = I (A1 = B1; A1 = C1).
- Вторая версия формулы выглядит так: = ЕСЛИ (И (A1 = B1; A1 = C1); «Соответствует»; «НЕ совпадает»).
Функция И реализует возврат значения ИСТИНА, если все поля таблички имеют одинаковые значения. Возвращает FALSE, если какое-либо из значений не совпадает. Оператор «ЕСЛИ» отображает на экране те показатели, которые пользователь ввел в формулу.
На следующем изображении наглядно показано, как две рассматриваемые формулы подходят к процедуре сравнения не только текстовой информации, но и с числовыми показателями, а также с данными в формате «Дата».
Применение специальной формулы с учетом регистра для нескольких ячеек
Здесь, как и в ранее рассмотренных методах, применяются два варианта формулы:
- Первая версия формулы выглядит так: = И (ТОЧНО (A1; B1); ТОЧНО (A1; C2)).
- Вторая версия формулы выглядит так: = ЕСЛИ (И (ТОЧНО (A1; B1); ТОЧНО (A1; C1)); «Точное совпадение»; «НЕ совпадает»).
Как и в предыдущем примере, функция И реализует возврат значения ИСТИНА, если все поля в таблице имеют одинаковые значения. Возвращает FALSE, если какое-либо из значений не совпадает. Оператор «ЕСЛИ» отображает на экране те показатели, которые пользователь ввел в формулу. Результат трансформации выглядит так:
Если пользователю нужна формула, чтобы сделать вывод о наличии совпадений по крайней мере для 2 индикаторов, то он должен использовать следующую формулу: = ЕСЛИ (ИЛИ (ИЛИ (ТОЧНО (A1; B1); ТОЧНО (A1; C1); ТОЧНО (B1; C1)))); «Как минимум два точных совпадения»; «Совпадений нет»). Другими словами, в этом случае наличие минимум 2 совпадений в 3 случаях покажет положительное значение. Результат трансформации выглядит так:
Если пользователю приходится проводить сравнение в таблице с огромным количеством ячеек, приведенная выше формула будет неудобна для использования, так как она станет слишком длинной. Здесь более уместно использовать математический оператор СЧЁТЕСЛИ. Вы можете подсчитать количество совпадений в большом диапазоне ячеек, используя следующую формулу: {= СЧЁТЕСЛИ (A2: D2; A2: D2)}. Результат трансформации выглядит так:
полезно отметить! Очень важно следить за количеством ненужных пробелов в ячейках. Дело в том, что если в ячейке есть пробел, он будет восприниматься редактором электронной таблицы как символ. Поэтому перед использованием формул нужно убедиться, что в ячейках нет лишних пробелов.
Заключение
Мы обнаружили, что в редакторе таблиц Excel существует огромное количество методов, позволяющих реализовать сравнение текстовой информации в ячейках. Мы узнали, что вы можете сравнивать информацию с учетом и без учета регистра. Для реализации этой процедуры отлично подойдет оператор типа «СОВПАД». Также для более сложных процедур используются такие функции, как «И», «ИЛИ», «ЕСЛИ» и «СЧЁТЕСЛИ».
@AkiraYama
Without seeing how your data are arrayed, it’s hard to be really specific.
But if you have one cell with the constant 19 character string [ for sake of illustration, I’ll use your C:Directory1abcd example ], and if we assume that is in cell A1 and you want to compare that same string with entries in column B, specifically B1 through B20
You could put this into cell C1 and copy in down to C20
=IF($A$1=LEFT(B1,19),TRUE,FALSE)
That $A$1 reference is what’s called an absolute reference, so it doesn’t change as you copy down from cell C1, whereas the B1 does change…
https://exceljet.net/glossary/absolute-reference
На чтение 23 мин. Просмотров 18.6k.
Содержание
- Краткое руководство по текстовым функциям
- Введение
- Прочитайте это в первую очередь!
- Добавление строк
- Извлечение части строки
- Поиск в строке
- Удаление пробелов
- Длина строки
- Перевернуть текст
- Сравнение
- Сравнение строк с использованием сопоставления с шаблоном
- Заменить часть строки
- Преобразовать типы в строку (базовый)
- Преобразовать строку в число — CLng, CDbl, Val и т.д.
- Генерация строки элементов — функция строки
- Преобразовать регистр / юникод — StrConv, UCase, LCase
- Использование строк с массивами
- Форматирование строки
- Заключение
Краткое руководство по текстовым функциям
Текстовые операции | Функции |
Добавить две или более строки | Format or «&» |
Построить текст из массива | Join |
Сравнить | StrComp or «=» |
Сравнить — шаблон | Like |
Преобразовать в текст | CStr, Str |
Конвертировать текст в дату | Просто: CDate Дополнительно: Format |
Преобразовать текст в число | Просто: CLng, CInt, CDbl, Val Дополнительно: Format |
Конвертировать в юникод, широкий, узкий | StrConv |
Преобразовать в верхний / нижний регистр | StrConv, UCase, LCase |
Извлечь часть текста | Left, Right, Mid |
Форматировать текст | Format |
Найти символы в тексте | InStr, InStrRev |
Генерация текста | String |
Получить длину строки | Len |
Удалить пробелы | LTrim, RTrim, Trim |
Заменить часть строки | Replace |
Перевернуть строку | StrReverse |
Разобрать строку в массив | Split |
Введение
Использование строк является очень важной частью VBA. Есть много типов манипуляций, которые вы можете делать со строками. К ним относятся такие задачи, как:
- извлечение части строки
- сравнение строк
- преобразование чисел в текст
- форматирование даты для включения дня недели
- найти символ в строке
- удаление пробелов
- парсинг в массив
- и т. д.
Хорошей новостью является то, что VBA содержит множество функций, которые помогут вам легко выполнять эти задачи.
Эта статья содержит подробное руководство по использованию строки в VBA. Он объясняет строки в простых терминах с понятными примерами кода. Изложение в статье поможет легко использовать ее в качестве краткого справочного руководства.
Если вы собираетесь использовать строки часто, я рекомендую вам прочитать первый раздел, так как он относится ко многим функциям. В противном случае вы можете прочитать по порядку или просто перейти в нужный раздел.
Прочитайте это в первую очередь!
Следующие два пункта очень важны при работе со строковыми функциями VBA.
Исходная строка не изменяется
Важно помнить, что строковые функции VBA не изменяют исходную строку. Они возвращают новую строку с изменениями, внесенными функцией. Если вы хотите изменить исходную строку, вы просто назначаете результат исходной строке. См. Раздел «Извлечение части строки» для примеров.
Как использовать Compare
Некоторые строковые функции, такие как StrComp (), Instr () и т.д. имеют необязательный параметр Compare. Он работает следующим образом:
vbTextCompare: верхний и нижний регистры считаются одинаковыми
vbBinaryCompare: верхний и нижний регистр считаются разными
Следующий код использует функцию сравнения строк StrComp () для демонстрации параметра Compare.
Sub Comp1() ' Печатает 0 : Строки совпадают Debug.Print StrComp("АБВ", "абв", vbTextCompare) ' Печатает -1 : Строки не совпадают Debug.Print StrComp("АБВ", "абв", vbBinaryCompare) End Sub
Вы можете использовать параметр Option Compare вместо того, чтобы каждый раз использовать этот параметр. Опция сравнения устанавливается в верхней части модуля. Любая функция, которая использует параметр Compare, примет этот параметр по умолчанию. Два варианта использования Option Compare:
- Oпция Compare Text: делает vbTextCompare аргументом сравнения по умолчанию
Option Compare Text Sub Comp2() ' Соответствие строк - использует vbCompareText в качестве 'аргумента сравнения Debug.Print StrComp("АБВ", "абв") Debug.Print StrComp("ГДЕ", "где") End Sub
- Опция Compare Binary: делает vbBinaryCompare аргументом сравнения по умолчанию.
Option Compare Binary Sub Comp2() ' Строки не совпадают - использует vbCompareBinary в качестве 'аргумента сравнения Debug.Print StrComp("АБВ", "абв") Debug.Print StrComp("ГДЕ", "где") End Sub
Если Option Compare не используется, то по умолчанию используется Option Compare Binary.
Теперь, когда вы понимаете эти два важных момента о строке, мы можем продолжить и посмотреть на строковые функции индивидуально.
Добавление строк
Вы можете добавлять строки, используя оператор &. Следующий код показывает несколько примеров его использования.
Sub Dobavlenie() Debug.Print "АБВ" & "ГДЕ" Debug.Print "Иван" & " " & "Петров" Debug.Print "Длинный " & 22 Debug.Print "Двойной " & 14.99 Debug.Print "Дата " & #12/12/2015# End Sub
В примере вы можете видеть, что различные типы, такие как даты и числа, автоматически преобразуются в строки. Вы можете увидеть оператор +, используемый для добавления строк. Разница в том, что этот оператор будет работать только со строковыми типами. Если вы попытаетесь использовать его с другим типом, вы получите ошибку.
Это даст сообщение об ошибке: «Несоответствие типов» Debug.Print "Длинный " + 22
Если вы хотите сделать более сложное добавление строк, вы можете использовать функцию форматирования, описанную ниже.
Извлечение части строки
Функции, обсуждаемые в этом разделе, полезны при базовом извлечении из строки. Для чего-то более сложного можете посмотреть раздел, как легко извлечь любую строку без использования VBA InStr.
Функция | Параметры | Описание | Пример |
Left | строка, длина | Вернуть символы с левой стороны |
Left(«Иван Петров»,4) |
Right | строка, длина | Вернуть символы с правой стороны |
Right(«Иван Петров»,5) |
Mid | строка, начало, длина | Вернуть символы из середины |
Mid(«Иван Петров»,3,2) |
Функции Left, Right и Mid используются для извлечения частей строки. Это очень простые в использовании функции. Left читает символы слева, Right справа и Mid от указанной вами начальной точки.
Sub IspLeftRightMid() Dim sCustomer As String sCustomer = "Иван Васильевич Петров" Debug.Print Left(sCustomer, 4) ' Печатает: Иван Debug.Print Right(sCustomer, 6) ' Печатает: Петров Debug.Print Left(sCustomer, 15) ' Печатает: Иван Васильевич Debug.Print Right(sCustomer, 17) ' Печатает: Васильевич Петров Debug.Print Mid(sCustomer, 1, 4) ' Печатает: Иван Debug.Print Mid(sCustomer, 6, 10) ' Печатает: Васильевич Debug.Print Mid(sCustomer, 17, 6) ' Печатает: Петров End Sub
Как упоминалось в предыдущем разделе, строковые функции VBA не изменяют исходную строку. Вместо этого они возвращают результат в виде новой строки.
В следующем примере вы увидите, что строка Fullname не была изменена после использования функции Left.
Sub PrimerIspolzovaniyaLeft() Dim Fullname As String Fullname = "Иван Петров" Debug.Print "Имя: "; Left(Fullname, 4) ' Исходная строка не изменилась Debug.Print "Полное имя: "; Fullname End Sub
Если вы хотите изменить исходную строку, вы просто присваиваете ей возвращаемое значение функции.
Sub IzmenenieStroki() Dim name As String name = "Иван Петров" ' Присвойте возвращаемую строку переменной имени name = Left(name, 4) Debug.Print "Имя: "; name End Sub
Поиск в строке
Функция | Параметры | Описание | Пример |
InStr | Текст1, текст2 |
Находит положение текста |
InStr(«Иван Петров»,»в») |
InStrRev | Проверка текста, соответствие текста |
Находит позицию текста с конца |
InStrRev(«Иван Петров»,»в») |
InStr и InStrRev — это функции VBA, используемые для поиска текста в тексте. Если текст поиска найден, возвращается позиция (с начала строки проверки) текста поиска. Когда текст поиска не найден, возвращается ноль. Если какой-либо текст имеет значение null, возвращается значение null.
InStr Описание параметров
InStr() Start[Необязат], String1, String2, Compare[Необязат]
- Start [Необязательно — по умолчанию 1]: это число, указывающее начальную позицию поиска слева
- String1: текст, в котором будем искать
- String2: текст, который будем искать
- Compare как vbCompareMethod: см. Раздел «Сравнить» для получения более подробной информации.
Использование InStr и примеры
InStr возвращает первую позицию в тексте, где найден данный текст. Ниже приведены некоторые примеры его использования.
Sub PoiskTeksta() Dim name As String name = "Иван Петров" ' Возвращает 3 - позицию от первой Debug.Print InStr(name, "а") ' Возвращает 10 - позиция первого "а", начиная с позиции 4 Debug.Print InStr(4, name, "а") ' Возвращает 8 Debug.Print InStr(name, "тр") ' Возвращает 6 Debug.Print InStr(name, "Петров") ' Возвращает 0 - текст "ССС" не найдет Debug.Print InStr(name, "ССС") End Sub
InStrRev Описание параметров
InStrRev() StringCheck, StringMatch, Start[Необязат], Compare[Необязат]
- StringCheck: текст, в котором будем искать
- StringMatch: Текст, который будем искать
- Start [Необязательно — по умолчанию -1]: это число, указывающее начальную позицию поиска справа
- Compare как vbCompareMethod: см. Раздел «Сравнить» для получения более подробной информации.
Использование InStrRev и примеры
Функция InStrRev такая же, как InStr, за исключением того, что она ищет с конца строки. Важно отметить, что возвращаемая позиция является позицией с самого начала. Поэтому, если существует только один экземпляр элемента поиска, InStr () и InStrRev () будут возвращать одно и то же значение.
В следующем коде показаны некоторые примеры использования InStrRev.
Sub IspInstrRev() Dim name As String name = "Иван Петров" ' Обе возвращают 1 - позицию, только И Debug.Print InStr(name, "И") Debug.Print InStrRev(name, "И") ' Возвращает 11 - вторую в Debug.Print InStrRev(name, "в") ' Возвращает 3 - первую в с позиции 9 Debug.Print InStrRev(name, "в", 9) ' Returns 1 Debug.Print InStrRev(name, "Иван") End Sub
Функции InStr и InStrRev полезны при работе с базовым поиском текста. Однако, если вы собираетесь использовать их для извлечения текста из строки, они могут усложнить задачу. Я написал о гораздо лучшем способе сделать это в своей статье Как легко извлечь любой текст без использования VBA InStr.
Удаление пробелов
Функция | Параметры | Описание | Пример |
LTrim | Текст | Убирает пробелы слева |
LTrim(» Иван «) |
RTrim | Текст | Убирает пробелы справа |
RTrim(» Иван «) |
Trim | Текст | Убирает пробелы слева и справа |
Trim(» Иван «) |
Функции Trim — это простые функции, которые удаляют пробелы в начале или конце строки.
Функции и примеры использования триммера Trim
- LTrim удаляет пробелы слева от строки
- RTrim удаляет пробелы справа от строки
- Trim удаляет пробелы слева и справа от строки
Sub TrimStr() Dim name As String name = " Иван Петров " ' Печатает "Иван Петров " Debug.Print LTrim(name) ' Печатает " Иван Петров" Debug.Print RTrim(name) ' Печатает "Иван Петров" Debug.Print Trim(name) End Sub
Длина строки
Функция | Параметры | Описание | Пример |
Len | Текст | Возвращает длину строки |
Len («Иван Петров») |
Len — простая функция при использовании со строкой. Она просто возвращает количество символов, которое содержит строка. Если используется с числовым типом, таким как long, он вернет количество байтов.
Sub IspLen() Dim name As String name = "Иван Петров" ' Печатает 11 Debug.Print Len("Иван Петров") ' Печатает 3 Debug.Print Len("АБВ") ' Печатает 4 с Long - это размер 4 байта Dim total As Long Debug.Print Len(total) End Sub
Перевернуть текст
Функция | Параметры | Описание | Пример |
StrReverse | Текст | Перевернуть текст |
StrReverse («Иван Петров») |
StrReverse — еще одна простая в использовании функция. Он просто возвращает данную строку с обратными символами.
Sub RevStr() Dim s As String s = "Иван Петров" ' Печатает: вортеП навИ Debug.Print StrReverse(s) End Sub
Сравнение
Функция | Параметры | Описание | Пример |
StrComp | Текст1, текст2 | Сравнивает 2 текста |
StrComp («Иван», «Иван») |
Функция StrComp используется для сравнения двух строк. Следующие подразделы описывают, как используется.
Описание параметров
StrComp() String1, String2, Compare[Необязат]
- String1: первая строка для сравнения
- String2: вторая строка для сравнения
- Compare как vbCompareMethod: см. Раздел «Сравнить» для получения более подробной информации.
StrComp Возвращаемые значения
Возвращаемое значение | Описание |
0 | Совпадение строк |
-1 | строка1 меньше строки2 |
1 | строка1 больше строки2 |
Null | если какая-либо строка равна нулю |
Использование и примеры
Ниже приведены некоторые примеры использования функции StrComp.
Sub IspStrComp() ' Возвращает 0 Debug.Print StrComp("АБВ", "АБВ", vbTextCompare) ' Возвращает 1 Debug.Print StrComp("АБВГ", "АБВ", vbTextCompare) ' Возвращает -1 Debug.Print StrComp("АБВ", "АБВГ", vbTextCompare) ' Returns Null Debug.Print StrComp(Null, "АБВГ", vbTextCompare) End Sub
Сравнение строк с использованием операторов
Вы также можете использовать знак равенства для сравнения строк. Разница между сравнением equals и функцией StrComp:
- Знак равенства возвращает только true или false.
- Вы не можете указать параметр Compare, используя знак равенства — он использует настройку «Option Compare».
Ниже приведены некоторые примеры использования equals для сравнения строк.
Option Compare Text Sub CompareIspEquals() ' Возвращает true Debug.Print "АБВ" = "АБВ" ' Возвращает true, потому что «Сравнить текст» установлен выше Debug.Print "АБВ" = "абв" ' Возвращает false Debug.Print "АБВГ" = "АБВ" ' Возвращает false Debug.Print "АБВ" = "АБВГ" ' Возвращает null Debug.Print Null = "АБВГ" End Sub
Сравнение строк с использованием сопоставления с шаблоном
Функция | Параметры | Описание | Пример |
Like | Текст, шаблон | проверяет, имеет ли строка заданный шаблон |
«abX» Like «??X» «54abc5» Like «*abc#» |
Знак | Значение |
? | Любой одиночный символ |
# | Любая однозначная цифра (0-9) |
* | Ноль или более символов |
[charlist] | Любой символ в списке |
[!charlist] | Любой символ не в списке символов |
Сопоставление с шаблоном используется для определения того, имеет ли строка конкретный образец символов. Например, вы можете проверить, что номер клиента состоит из 3 цифр, за которыми следуют 3 алфавитных символа, или в строке есть буквы XX, за которыми следует любое количество символов.
Если строка соответствует шаблону, возвращаемое значение равно true, в противном случае — false.
Сопоставление с образцом аналогично функции формата VBA в том смысле, что его можно использовать практически безгранично. В этом разделе я приведу несколько примеров, которые объяснят, как это работает. Это должно охватывать наиболее распространенные виды использования.
Давайте посмотрим на базовый пример с использованием знаков. Возьмите следующую строку шаблона.
[abc][!def]?#X*
Давайте посмотрим, как работает эта строка
[abc] — символ, который является или a, b или c
[! def] — символ, который не является d, e или f
? любой символ
# — любая цифра
X — символ X
* следуют ноль или более символов
Поэтому следующая строка действительна
apY6X
а — один из символов a,b,c
p — не один из символов d, e или f
Y — любой символ
6 — это цифра
Х — это буква Х
В следующих примерах кода показаны результаты различных строк с этим шаблоном.
Sub Shabloni() ' ИСТИНА Debug.Print 1; "apY6X" Like "[abc][!def]?#X*" ' ИСТИНА - любая комбинация символов после x действительна Debug.Print 2; "apY6Xsf34FAD" Like "[abc][!def]?#X*" ' ЛОЖЬ - символ не из[abc] Debug.Print 3; "dpY6X" Like "[abc][!def]?#X*" ' ЛОЖЬ - 2-й символ e находится в [def] Debug.Print 4; "aeY6X" Like "[abc][!def]?#X*" ' ЛОЖЬ - A в позиции 4 не является цифрой Debug.Print 5; "apYAX" Like "[abc][!def]?#X*" ' ЛОЖЬ - символ в позиции 5 должен быть X Debug.Print 1; "apY6Z" Like "[abc][!def]?#X*" End Sub
Реальный пример сопоставления с образцом
Чтобы увидеть реальный пример использования сопоставления с образцом, ознакомьтесь с Примером 3: Проверьте, допустимо ли имя файла.
Важное примечание о сопоставлении с образцом VBA
Оператор Like использует двоичное или текстовое сравнение на основе параметра Option Compare. Пожалуйста, смотрите раздел Сравнение для более подробной информации.
Заменить часть строки
Функция | Параметры | Описание | Пример |
Replace | строка, найти, заменить, начать, считать, сравнивать |
Заменяет текст | Replace («Ива»,»а»,»ан») |
Replace используется для замены текста в строке другим текстом. Он заменяет все экземпляры текста, найденные по умолчанию.
Replace описание параметров
Replace() Expression, Find, Replace, Start[Необязат], Count[Необязат], Compare[Необязат]
- Expression: текст, в котором нужна замена символов
- Find: текст для замены в строке выражения
- Replace: строка для поиска замены текста поиска
- Start [Необязательно — по умолчанию 1]: начальная позиция в строке
- Count [Необязательно — по умолчанию -1]: количество замен. По умолчанию -1 означает все.
- Compare как vbCompareMethod: см. Раздел «Сравнить» для получения более подробной информации.
Использование и примеры
В следующем коде показаны некоторые примеры использования функции замены.
Sub PrimeriReplace() ' Заменяет все знаки вопроса (?) на точку с запятой (;) Debug.Print Replace("A?B?C?D?E", "?", ";") ' Заменить Петров на Иванов Debug.Print Replace("Евгений Петров,Артем Петров", "Петров", "Иванов") ' Заменить AX на AB Debug.Print Replace("ACD AXC BAX", "AX", "AB") End Sub
На выходе:
A;B;C;D;E
Евгений Иванов,Артем Иванов
ACD ABC BAB
В следующих примерах мы используем необязательный параметр Count. Count определяет количество замен. Так, например, установка Count равной единице означает, что будет заменено только первое вхождение.
Sub ReplaceCount() ' Заменяет только первый знак вопроса Debug.Print Replace("A?B?C?D?E", "?", ";", Count:=1) ' Заменяет первые три знака вопроса Debug.Print Replace("A?B?C?D?E", "?", ";", Count:=3) End Sub
На выходе:
A;B?C?D?E
A;B;C;D?E
Необязательный параметр Start позволяет вам вернуть часть строки. Позиция, которую вы указываете с помощью Start, — это место, откуда начинается возврат строки. Он не вернет ни одной части строки до этой позиции, независимо от того, была ли произведена замена или нет.
Sub ReplacePartial() ' Использовать оригинальную строку из позиции 4 Debug.Print Replace("A?B?C?D?E", "?", ";", Start:=4) ' Используйте оригинальную строку из позиции 8 Debug.Print Replace("AA?B?C?D?E", "?", ";", Start:=8) ' Элемент не заменен, но по-прежнему возвращаются только последние '2 символа Debug.Print Replace("ABCD", "X", "Y", Start:=3) End Sub
На выходе:
;C;D;E
;E
CD
Иногда вы можете заменить только заглавные или строчные буквы. Вы можете использовать параметр Compare для этого. Он используется во многих строковых функциях. Для получения дополнительной информации об этом проверьте раздел сравнения.
Sub ReplaceCase() ' Заменить только заглавные А Debug.Print Replace("AaAa", "A", "X", Compare:=vbBinaryCompare) ' Заменить все А Debug.Print Replace("AaAa", "A", "X", Compare:=vbTextCompare) End Sub
На выходе:
XaXa
XXXX
Многократные замены
Если вы хотите заменить несколько значений в строке, вы можете вкладывать вызовы. В следующем коде мы хотим заменить X и Y на A и B соответственно.
Sub ReplaceMulti() Dim newString As String ' Заменить А на Х newString = Replace("ABCD ABDN", "A", "X") ' Теперь замените B на Y в новой строке newString = Replace(newString, "B", "Y") Debug.Print newString End Sub
В следующем примере мы изменим приведенный выше код для выполнения той же задачи. Мы будем использовать возвращаемое значение первой замены в качестве аргумента для второй замены.
Sub ReplaceMultiNested() Dim newString As String ' Заменить A на X, а B на Y newString = Replace(Replace("ABCD ABDN", "A", "X"), "B", "Y") Debug.Print newString End Sub
Результатом обоих этих Subs является:
XYCD XYDN
Преобразовать типы в строку (базовый)
Этот раздел о преобразовании чисел в строку. Очень важным моментом здесь является то, что в большинстве случаев VBA автоматически конвертируется в строку для вас. Давайте посмотрим на некоторые примеры:
Sub AutoConverts() Dim s As String ' Автоматически преобразует число в строку s = 12.99 Debug.Print s ' Автоматически преобразует несколько чисел в строку s = "ABC" & 6 & 12.99 Debug.Print s ' Автоматически преобразует двойную переменную в строку Dim d As Double, l As Long d = 19.99 l = 55 s = "Значения: " & d & " " & l Debug.Print s End Sub
Когда вы запустите приведенный выше код, вы увидите, что число было автоматически преобразовано в строки. Поэтому, когда вы присваиваете значение строке, VBA будет следить за преобразованием большую часть времени. В VBA есть функции преобразования, и в следующих подразделах мы рассмотрим причины их использования.
Явное преобразование
Функция | Параметры | Описание | Пример |
CStr | выражение | Преобразует числовую переменную в строку |
CStr («45.78») |
Str | число | Преобразует числовую переменную в строку |
Str («45.78») |
В некоторых случаях вы можете захотеть преобразовать элемент в строку без необходимости сначала помещать его в строковую переменную. В этом случае вы можете использовать функции Str или CStr. Оба принимают выражение как функцию, и это может быть любой тип, например long, double, data или boolean.
Давайте посмотрим на простой пример. Представьте, что вы читаете список значений из разных типов ячеек в коллекцию. Вы можете использовать функции Str / CStr, чтобы гарантировать, что они все хранятся в виде строк. Следующий код показывает пример этого:
Sub IspStr() Dim coll As New Collection Dim c As Range ' Считать значения ячеек в коллекцию For Each c In Range("A1:A10") ' Используйте Str для преобразования значения ячейки в строку coll.Add Str(c) Next ' Распечатайте значения и тип коллекции Dim i As Variant For Each i In coll Debug.Print i, TypeName(i) Next End Sub
В приведенном выше примере мы используем Str для преобразования значения ячейки в строку. Альтернативой этому может быть присвоение значения строке, а затем присвоение строки коллекции. Итак, вы видите, что использование Str здесь намного эффективнее.
Multi Region
Разница между функциями Str и CStr заключается в том, что CStr преобразует в зависимости от региона. Если ваши макросы будут использоваться в нескольких регионах, вам нужно будет использовать CStr для преобразования строк.
Хорошей практикой является использование CStr при чтении значений из ячеек. Если ваш код в конечном итоге используется в другом регионе, вам не нужно вносить какие-либо изменения, чтобы он работал правильно.
Преобразовать строку в число — CLng, CDbl, Val и т.д.
Функция | Возвращает | Пример |
CBool | Boolean | CBool(«True»), CBool(«0») |
CCur | Currency | CCur(«245.567») |
CDate | Date | CDate(«1/1/2019») |
CDbl | Double | CDbl(«245.567») |
CDec | Decimal | CDec(«245.567») |
CInt | Integer | CInt(«45») |
CLng | Long Integer | CLng(«45.78») |
CVar | Variant | CVar(«») |
Вышеуказанные функции используются для преобразования строк в различные типы. Если вы присваиваете переменную этого типа, VBA выполнит преобразование автоматически.
Sub StrToNumeric() Dim l As Long, d As Double, c As Currency Dim s As String s = "45.923239" l = s d = s c = s Debug.Print "Long is "; l Debug.Print "Double is "; d Debug.Print "Currency is "; c End Sub
Использование типов преобразования дает большую гибкость. Это означает, что вы можете определить тип во время выполнения. В следующем коде мы устанавливаем тип на основе аргумента sType, передаваемого в функцию PrintValue. Поскольку этот тип может быть прочитан из внешнего источника, такого как ячейка, мы можем установить тип во время выполнения. Если мы объявим переменную как Long, то при выполнении кода она всегда будет длинной.
Sub Test() ' Печатает 46 PrintValue "45.56", "Long" ' Печатает 45.56 PrintValue "45.56", "" End Sub Sub PrintValue(ByVal s As String, ByVal sType As String) Dim value ' Установите тип данных на основе строки типа If sType = "Long" Then value = CLng(s) Else value = CDbl(s) End If Debug.Print "Type is "; TypeName(value); value End Sub
Если строка не является допустимым числом (т.е. Содержит символы, другие цифры), вы получаете ошибку «Несоответствие типов».
Sub InvalidNumber() Dim l As Long ' Даст ошибку несоответствия типов l = CLng("45A") End Sub
Функция Val
Функция преобразует числовые части строки в правильный тип числа.
Val преобразует первые встреченные числа. Как только он встречает буквы в строке, он останавливается. Если есть только буквы, то в качестве значения возвращается ноль. Следующий код показывает некоторые примеры использования Val
Sub IspVal() ' Печатает 45 Debug.Print Val("45 Новая улица") ' Печатает 45 Debug.Print Val(" 45 Новая улица") ' Печатает 0 Debug.Print Val("Новая улица 45") ' Печатает 12 Debug.Print Val("12 f 34") End Sub
Val имеет два недостатка
- Не мультирегиональный — Val не распознает международные версии чисел, такие как запятые вместо десятичных. Поэтому вы должны использовать вышеуказанные функции преобразования, когда ваше приложение будет использоваться в нескольких регионах.
- Преобразует недопустимые строки в ноль — в некоторых случаях это может быть нормально, но в большинстве случаев лучше, если неверная строка вызывает ошибку. Затем приложение осознает наличие проблемы и может действовать соответствующим образом. Функции преобразования, такие как CLng, вызовут ошибку, если строка содержит нечисловые символы.
Генерация строки элементов — функция строки
Функция | Параметры | Описание | Пример |
String | число, символ | Преобразует числовую переменную в строку |
String (5,»*») |
Функция String используется для генерации строки повторяющихся символов. Первый аргумент — это количество повторений, второй аргумент — символ.
Sub IspString() ' Печатает: AAAAA Debug.Print String(5, "A") ' Печатает: >>>>> Debug.Print String(5, 62) ' Печатает: (((ABC))) Debug.Print String(3, "(") & "ABC" & String(3, ")") End Sub
Преобразовать регистр / юникод — StrConv, UCase, LCase
Функция | Параметры | Описание | Пример |
StrConv | строка, преобразование, LCID |
Преобразует строку |
StrConv(«abc»,vbUpperCase) |
Если вы хотите преобразовать регистр строки в верхний или нижний регистр, вы можете использовать функции UCase и LCase для верхнего и нижнего соответственно. Вы также можете использовать функцию StrConv с аргументом vbUpperCase или vbLowerCase. В следующем коде показан пример использования этих трех функций.
Sub ConvCase() Dim s As String s = "У Мэри был маленький ягненок" ' верхний Debug.Print UCase(s) Debug.Print StrConv(s, vbUpperCase) ' нижний Debug.Print LCase(s) Debug.Print StrConv(s, vbLowerCase) ' Устанавливает первую букву каждого слова в верхний регистр Debug.Print StrConv(s, vbProperCase) End Sub
На выходе:
У МЭРИ БЫЛ МАЛЕНЬКИЙ ЯГНЕНОК
У МЭРИ БЫЛ МАЛЕНЬКИЙ ЯГНЕНОК
у мэри был маленький ягненок
у мэри был маленький ягненок
У Мэри Был Маленький Ягненок
Другие преобразования
Как и в случае, StrConv может выполнять другие преобразования на основе параметра Conversion. В следующей таблице приведен список различных значений параметров и того, что они делают. Для получения дополнительной информации о StrConv проверьте страницу MSDN.
Постоянные | Преобразует | Значение |
vbUpperCase | 1 | в верхний регистр |
vbLowerCase | 2 | в нижнем регистре |
vbProperCase | 3 | первая буква каждого слова в верхнем регистре |
vbWide* | 4 | от узкого к широкому |
vbNarrow* | 8 | от широкого к узкому |
vbKatakana** | 16 | из Хираганы в Катакану |
vbHiragana | 32 | из Катаканы в Хирагану |
vbUnicode | 64 | в юникод |
vbFromUnicode | 128 | из юникода |
Использование строк с массивами
Функция | Параметры | Описание | Пример |
Split | выражение, разделитель, ограничить, сравнить |
Разбирает разделенную строку в массив |
arr = Split(«A;B;C»,»;») |
Join | исходный массив, разделитель |
Преобразует одномерный массив в строку |
s = Join(Arr, «;») |
Строка в массив с использованием Split
Вы можете легко разобрать строку с разделителями в массив. Вы просто используете функцию Split с разделителем в качестве параметра. Следующий код показывает пример использования функции Split.
Sub StrToArr() Dim arr() As String ' Разобрать строку в массив arr = Split("Иван,Анна,Павел,София", ",") Dim name As Variant For Each name In arr Debug.Print name Next End Sub
На выходе:
Иван
Анна
Павел
София
Если вы хотите увидеть некоторые реальные примеры использования Split, вы найдете их в статье Как легко извлечь любую строку без использования VBA InStr.
Массив в строку, используя Join
Если вы хотите построить строку из массива, вы можете легко это сделать с помощью функции Join. По сути, это обратная функция Split. Следующий код предоставляет пример использования Join
Sub ArrToStr() Dim Arr(0 To 3) As String Arr(0) = "Иван" Arr(1) = "Анна" Arr(2) = "Павел" Arr(3) = "София" ' Построить строку из массива Dim sNames As String sNames = Join(Arr, ",") Debug.Print sNames End Sub
На выходе:
Иван, Анна, Павел, София
Форматирование строки
Функция | Параметры | Описание | Пример |
Format | выражение, формат, firstdayofweek, firstweekofyear |
Форматирует строку |
Format(0.5, «0.00%») |
Функция Format используется для форматирования строки на основе заданных инструкций. В основном используется для размещения даты или числа в определенном формате. Приведенные ниже примеры показывают наиболее распространенные способы форматирования даты.
Sub FormatDate() Dim s As String s = "31/12/2019 10:15:45" ' Печатает: 31 12 19 Debug.Print Format(s, "DD MM YY") ' Печатает: Thu 31 Dec 2019 Debug.Print Format(s, "DDD DD MMM YYYY") ' Печатает: Thursday 31 December 2019 Debug.Print Format(s, "DDDD DD MMMM YYYY") ' Печатает: 10:15 Debug.Print Format(s, "HH:MM") ' Печатает: 10:15:45 AM Debug.Print Format(s, "HH:MM:SS AM/PM") End Sub
В следующих примерах представлены некоторые распространенные способы форматирования чисел.
Sub FormatNumbers() ' Печатает: 50.00% Debug.Print Format(0.5, "0.00%") ' Печатает: 023.45 Debug.Print Format(23.45, "00#.00") ' Печатает: 23,000 Debug.Print Format(23000, "##,000") ' Печатает: 023,000 Debug.Print Format(23000, "0##,000") ' Печатает: $23.99 Debug.Print Format(23.99, "$#0.00") End Sub
Функция «Формат» — довольно обширная тема, и она может самостоятельно занять всю статью. Если вы хотите получить больше информации, то страница формата MSDN предоставляет много информации.
Полезный совет по использованию формата
Быстрый способ выяснить используемое форматирование — использовать форматирование ячеек на листе Excel. Например, добавьте число в ячейку. Затем щелкните правой кнопкой мыши и отформатируйте ячейку так, как вам нужно. Если вы довольны форматом, выберите «Пользовательский» в списке категорий слева. При выборе этого вы можете увидеть строку формата в текстовом поле типа. Это формат строки, который вы можете использовать в VBA.
Заключение
Практически в любом типе программирования вы потратите много времени на манипулирование строками. В этой статье рассматриваются различные способы использования строк в VBA.
Чтобы получить максимальную отдачу, используйте таблицу вверху, чтобы найти тип функции, которую вы хотите использовать. Нажав на левую колонку этой функции, вы попадете в этот раздел.
Если вы новичок в строках в VBA, то я предлагаю вам ознакомиться с разделом «Прочтите это в первую очередь» перед использованием любой из функций.
Эксель почему одинаковый текст не равен
Добрый день!
В ячейках значения полностью одинаковые (они из разных систем) но формула считает, что они разные.
Естественно, если скопировать одно вместо другого — будет Ок. Но у меня много данных и ВПР не работает из-за этого.
Пробелов лишних нет. Формат ячеек одинаковый.
В чем может быть проблема?
Добрый день!
В ячейках значения полностью одинаковые (они из разных систем) но формула считает, что они разные.
Естественно, если скопировать одно вместо другого — будет Ок. Но у меня много данных и ВПР не работает из-за этого.
Пробелов лишних нет. Формат ячеек одинаковый.
В чем может быть проблема?
Сообщение Добрый день!
В ячейках значения полностью одинаковые (они из разных систем) но формула считает, что они разные.
Естественно, если скопировать одно вместо другого — будет Ок. Но у меня много данных и ВПР не работает из-за этого.
Пробелов лишних нет. Формат ячеек одинаковый.
В чем может быть проблема?
Спасибо! Автор — Jack-shade
Дата добавления — 18.08.2017 в 17:44
Эксель почему одинаковый текст не равен
Регистрация на форуме тут, о проблемах пишите сюда — alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите восстановить пароль
Поиск по форуму |
Расширенный поиск |
Есть два значения
LG339
LG339
Данные на двух разных листах. Откуда их вставляли в excel я не знаю
Через VBA отображаются вот так
a=LG339?
b=LG339
пробелов и символов нет
подскажите из-за чего может быть?
Вложения
равно.xlsx (8.9 Кб, 23 просмотров)
Вложения
Лист Microsoft Excel.xlsx (8.3 Кб, 18 просмотров)
Проблема решена. Есть 255 символов, которые могут быть косячными.
В данном случае, невидимый символ знака вопроса имел номер 63. Проверяем номер последнего символа в ячейке.
Макрос точно такой-же. Перебираем символы ячейки, и проверяем номер каждого символа.
Msgbox Asc(символ), сверяем с нужным номером( можно сделать цикл по всем косячным) и пропускаем его, записывая в переменную только нужные символы)
Кода под рукой нет, сори. Писать текста не умею, надеюсь понятно, если кому-то пригодится.
только символ(63) = ?
такой же нормальный как и соседние
62 = >
64 = @
а с 65 начинаются большие латинские буквы.
Как сравнить два столбца на совпадения и различия
На прочтение этой статьи у вас уйдет около 10 минут, а в следующие 5 минут (или даже быстрее) вы легко сравните два столбца Excel на наличие дубликатов и выделите найденные совпадения либо уникальные значения. Ладно, обратный отсчет начался!
Мы все время от времени делаем сравнение данных в Excel. Microsoft Excel предлагает ряд опций для сравнения и сопоставления данных, но большинство из них ориентированы на поиск в одной колонке. Встроенный инструмент удаления дубликатов, доступный в Excel 2019-2010, не может справиться с этой задачей, поскольку он не умеет сравнивать данные между двумя столбиками. Кроме того, он может только удалять дубликаты. Других возможностей — таких как выделение или раскраска, увы, нет :-(.
В этом руководстве мы рассмотрим несколько методов сравнения двух столбцов в Excel и нахождения совпадений и различий между ними.
Как сравнить 2 столбца в Excel по строкам.
Когда вы выполняете анализ данных в Excel, одной из наиболее частых задач является сравнение данных нескольких колонок в каждой отдельной их строке. Эту задачу можно выполнить с помощью функции ЕСЛИ , как показано в следующих примерах.
1. Проверяем совпадения или различия в одной строке.
Чтобы выполнить такое построчное сравнение, используйте популярную функцию ЕСЛИ, которая сравнивает первые две ячейки каждого из них. Введите её в какой-либо другой столбик той же строки, а затем скопируйте ее вниз, перетащив маркер заполнения (маленький квадрат в правом нижнем углу). При этом курсор изменится на знак плюса:
Чтобы найти в соответствующей строке позиции с одинаковым содержимым, A2 и B2 в этом примере, запишите:
Чтобы найти позиции в одной строке с разным содержимым, просто замените » wp-block-quote»>
И, конечно же, ничто не мешает найти совпадения и различия с помощью одной формулы:
Результат может выглядеть примерно так:
Как видите, одинаково хорошо обрабатываются числа, даты, время и текст.
2. Сравниваем построчно с учетом регистра.
Как вы, наверное, заметили, формулы из предыдущего примера игнорируют регистр при сравнении текстовых значений, как в строке 10 на скриншоте выше. Если вы хотите найти совпадения с учетом регистра, используйте функцию СОВПАД (EXACT в английской версии):
Чтобы найти различия с учетом регистра в одной строке, введите соответствующий текст («Уникальный» например) в третий аргумент функции ЕСЛИ:
Сравните несколько столбцов построчно
Мы можем ставить перед собой следующие цели:
- Найти строки с одинаковыми значениями во всех из них.
- Найти строки с одинаковыми значениями в любых двух.
Пример 1. Найдите полное совпадение по одной строке.
Если в вашей таблице три или более колонки, и вы хотите найти строки с одинаковыми записями во всех из них, функция ЕСЛИ с оператором И подойдет для вас:
Если в вашей таблице очень много колонок, более элегантным решением будет использование функции СЧЁТЕСЛИ :
где 3 — количество сравниваемых колонок.
Или можно использовать —
Пример 2. Найдите хотя бы 2 совпадения в данных.
Если вы ищете способ сравнить данные на предмет наличия любых двух или более ячеек с одинаковыми значениями в одной строке, используйте функцию ЕСЛИ с оператором ИЛИ:
Если есть много данных для сравнения, ваша конструкция с оператором ИЛИ может стать слишком громоздкой. В этом случае лучшим решением было бы добавить несколько функций СЧЁТЕСЛИ. Первый СЧЁТЕСЛИ подсчитывает, сколько раз текущее значение из первой колонки встречается во всех данных, находящихся правее него, второй СЧЁТЕСЛИ определяет то же самое для значения из второй колонки, и так далее. Если счетчик равен 0, возвращается надпись «Все уникальные», в противном случае — «Найдены одинаковые». Например:
=ЕСЛИ(СЧЁТЕСЛИ(B2:D2;A2)+СЧЁТЕСЛИ(C2:D2;B2)+(C2=D2)=0;»Все уникальные»;»Найдены одинаковые»)
Могу предложить также более компактный вариант выявления совпадений — формула массива:
Попробуйте — получите тот же результат. Также не забудьте нажать Ctrl + Shift + Enter, чтобы ввести всё правильно.
Как сравнить два столбца в Excel на совпадения и различия?
Предположим, у вас есть 2 списка данных в Excel, и вы хотите найти все значения (числа, даты или текстовые записи), которые находятся в колонке A, но их нет в B. То есть, исходные данные из А мы сравниваем с В.
Для этого вы можете встроить функцию СЧЁТЕСЛИ($B:$B;$A2)=0 в логический тест ЕСЛИ и проверить, возвращает ли она ноль (совпадение не найдено) или любое другое число (найдено хотя бы 1 совпадение).
Например, следующая формула ЕСЛИ/СЧЁТЕСЛИ выполняет поиск значения из A2 по всему столбцу B. Если совпадений не найдено, возвращается «Нет совпадений в B», в противном случае — пустую строку:
Примечание. Если ваша таблица имеет фиксированное количество строк, вы можете указать определенный диапазон (например, $B2:$B20), а не целиком $B:$B, чтобы программа работала быстрее с большими наборами данных.
Тот же результат может быть достигнут при использовании функции ЕСЛИ всесте с ЕОШИБКА и ПОИСКПОЗ:
=ЕСЛИ(ЕОШИБКА(ПОИСКПОЗ($A2;$B$2:$B$10;0));»Уникальное»; » Найдено в B»)
Или, используя следующую формулу массива (не забудьте нажать Ctrl + Shift + Enter, чтобы ввести ее правильно):
Если вы хотите, чтобы одно выражение определяло как дубликаты, так и уникальные значения, поместите текст совпадений в пустые двойные кавычки («») в любой из приведенных выше формул. Например:
=ЕСЛИ(СЧЁТЕСЛИ($B:$B; $A2)=0; «Уникальное»; «Дубликат»)
Думаю, вы понимаете, что точно таким же образом можно наоборот сравнивать В с А.
Как сравнить два списка в Excel и извлечь совпадающие данные?
Иногда вам может потребоваться не только сопоставить две колонки в двух разных таблицах, но и извлечь соответствующие записи из второй таблицы. В Microsoft Excel предусмотрена специальная функция для этих целей — функция ВПР.
Кроме того, в отдельной статье мы подробно рассмотрели 4 способа, как сравнить таблицы при помощи формулы ВПР.
В качестве альтернативы вы можете использовать более мощную и универсальную комбинацию ИНДЕКС и ПОИСКПОЗ.
Например, следующее выражение сравнивает названия продуктов в колонках D и A, и если совпадение найдено, соответствующая цифра продаж извлекается из B. Если совпадения не найдено, возвращается ошибка #Н/Д.
Сообщение об ошибке в таблице выглядит не слишком красиво. Поэтому обработаем это выражение при помощи ЕОШИБКА:
Теперь мы видим либо число, либо пустое значение. Никаких ошибок.
Как выделить совпадения и различия в 2 столбцах.
Когда вы сравниваете наборы данных в Excel, вы можете захотеть «визуализировать» элементы, которые присутствуют в одном, но отсутствуют в другом. Вы можете закрасить такие позиции любым цветом по вашему выбору с помощью формул. И вот несколько примеров с подробными инструкциями.
1. Выделите совпадения и различия построчно.
Чтобы сравнить два столбца в Excel и выделить те позиции в первом, которые имеют идентичные записи во втором по той же строке, выполните следующие действия:
- Выберите область, в которой вы хотите выделить.
- Щелкните Условное форматирование> Новое правило…> Используйте формулу.
- Создайте правило с простой формулой, например =$B2=$A2 (при условии, что строка 2 является первой строкой с данными, не включая заголовок таблицы). Пожалуйста, дважды проверьте, что вы используете относительную ссылку на строку (без знака $), как записано выше.
Чтобы выделить различия между колонками A и B, создайте правило с формулой =$B2<>$A2
Если вы новичок в условном форматировании Excel, смотрите пошаговые инструкции в статье Как закрасить строку или столбец по условию.
2. Выделите уникальные записи в каждом столбце.
Когда вы сравниваете два списка в Excel, вы можете выделить 3 типа элементов:
- Предметы только в первом списке (уникальные)
- Предметы только во втором списке (уникальные)
- Элементы, которые есть в обоих списках (дубликаты).
О выделении дубликатов — смотрите пример выше. А сейчас рассмотрим, как выделить неповторяющиеся элементы в каждом из списков.
Предположим, что ваш список 1 находится в колонке A (A2:A8), а список 2 — в колонке C (C2:C8). Вы создаете правила условного форматирования с помощью следующих формул:
Выделите уникальные значения в списке 1 (столбик A): =СЧЁТЕСЛИ($A$2:$A$8;C$2)=0
Выделите уникальные значения в списке 2 (столбик C): =СЧЁТЕСЛИ($C$2:$C$8;$A2)=0
И получите следующий результат:
3. Выделите дубликаты в 2 столбцах.
Если вы внимательно следовали предыдущему примеру, у вас не возникнет трудностей с настройкой СЧЁТЕСЛИ, чтобы она находила совпадения, а не различия. Все, что вам нужно сделать, это установить счетчик больше нуля:
Вновь используем условное форматирование при помощи формулы.
Выделите совпадения в списке 1 (столбик A): =СЧЁТЕСЛИ($A$2:$A$8;C$2)>0
Выделите совпадения в списке 2 (столбик C): =СЧЁТЕСЛИ($C$2:$C$8;$A2)>0
Выделите цветом различия и совпадения в нескольких столбцах
При сравнении значений в нескольких наборах данных построчно, самый быстрый способ выделить одинаковые — создать правило условного форматирования. А самый быстрый способ скрыть различия — воспользоваться инструментом «Выделить группу ячеек», как показано в следующих примерах.
1. Как выделить совпадения.
Чтобы выделить строки, которые имеют одинаковые значения по всей длине, создайте правило условного форматирования на основе одного из следующих выражений:
Где A2, B2 и C2 — самые верхние в вашем диапазоне, а 3 — количество колонок для сравнения.
Конечно, можно не ограничиваться сравнением только 3 колонок. Вы можете использовать аналогичные формулы для выделения строк с одинаковыми значениями в 4, 5, 6 или более столбиках.
И еще один способ выделения цветом повторяющихся значений в нескольких столбцах. Снова используем условное форматирование. Выделяем нужную область, затем на ленте в меню условного форматирования выбираем Правила выделения ячеек — Повторяющиеся значения. Определяем желаемое оформление, получаем картину подобную той, что вы видите ниже.
Кстати, на последнем этапе вы можете выбрать не повторяющиеся, а уникальные значения. Способ, конечно, незамысловатый, но, возможно, он вам будет полезен.
2. Как выделить различия.
Чтобы быстро выделить позиции с разными значениями в каждой отдельной строке, вы можете использовать функцию Excel «Выделить группу ячеек».
- Выберите диапазон ячеек, который вы хотите сравнить. В этом примере я выбрал диапазон от A2 до C10.
По умолчанию самая верхняя координата выбранного диапазона является активной ячейкой, и все значения в той же строке будут сравниваться с нею. Она при выделении области имеет белый цвет, а все остальные ячейки выбранного диапазона выделены серым. В этом примере активной является A2, поэтому столбец сравнения — A.
Чтобы изменить столбец сравнения, используйте клавишу TAB для перемещения по диапазону слева направо или клавишу Enter для перемещения сверху вниз. Если нужно перемещаться снизу вверх, то нажмите и удерживайте SHIFT, и вновь используйте ТАВ — будете двигаться не вниз, а вверх. Вы увидите, как ваше белое пятно перемещается, и соответственно изменяется активный столбец.
Примечание. Чтобы выбрать несмежные столбцы для сравнения, выберите первый диапазон, нажмите и удерживайте CTRL, а затем выбирайте дальше. Активная ячейка будет находиться в последнем столбце (или в последнем блоке соседних столбцов). Чтобы изменить столбец сравнения, используйте клавишу TAB или Enter, как описано выше.
- На вкладке «Главная» нажмите «Найти и выделить» > « Выделить группу ячеек». Затем выберите «Отличия по строкам» и нажмите «ОК» .
- Позиции, значения которых отличаются от ячеек сравнения в каждой строке, выделяются. Если вы хотите закрасить выделенные ячейки каким-либо цветом, просто щелкните значок «Цвет заливки» на ленте и выберите нужный цвет.
Как сравнить два значения в отдельных столбцах.
Фактически, сравнение двух ячеек — частный случай сравнения двух колонок в Excel построчно, за исключением того, что вам не нужно копировать формулы.
Например, для сравнения ячеек A1 и C1 можно использовать:
Для совпадений: =ЕСЛИ(A1=C1; «Совпадает»; «»)
Для различий: =ЕСЛИ(A1<>C1; «Уникальные»; «»)
Чтобы узнать о некоторых других способах сравнения ячеек в Excel, см. Как сравнивать значения в ячейках Excel .
Для более эффективного анализа данных вам могут потребоваться более сложные формулы, и вы можете найти несколько хороших идей в следующих руководствах:
Быстрый способ сравнения двух столбцов или списков без формул.
Теперь, когда вы знаете, что предлагает Excel для сравнения и сопоставления столбцов, позвольте мне продемонстрировать вам альтернативное решение, которое может сравнить 2 списка с разным количеством столбцов на предмет дубликатов (совпадений) и уникальных значений (различий).
Надстройка Ultimate Suite умеет искать идентичные и уникальные записи в одной таблице, а также сравнивать две таблицы, находящиеся на одном листе или в двух разных листах или даже в разных книгах.
В рамках этой статьи мы сосредоточимся на функции под названием «Сравнить таблицы (Compare Tables)» , которая специально разработана для сравнения двух списков по любым указанным вами столбцам. Сравнение двух наборов данных по нескольким столбцам является реальной проблемой как для формул Excel, так и для условного форматирования, но этот инструмент легко справляется с этим.
Для начала рассмотрим самый простой случай – сравним два столбца на совпадения и различия.
Предположим, у нас имеется два списка товаров. Нужно сравнить их между собой, как ранее мы делали при помощи формул.
Запускаем инструмент сравнения таблиц и выбираем первый столбец. При необходимости активируем создание резервной копии листа.
На втором шаге выбираем второй столбец для сравнения.
На третьем шаге нужно указать, что именно мы ищем – дубликаты либо уникальные значения.
Далее указываем столбцы для сравнения. Поскольку столбцов всего два, то здесь все достаточно просто:
На пятом шаге выберите, что нужно сделать с найденными значениями – удалить, выбрать, закрасить цветом, скопировать либо переместить. Можно добавить столбец статуса подобно тому, как мы это делали ранее при помощи функции ЕСЛИ. С использованием формул вы кроме того сможете разве что закрасить ячейки. Здесь же диапазон возможностей гораздо шире. Но мы выберем простой и наглядный вариант – заливку ячеек цветом.
Ячейки списка 1, дубликаты которых имеются в списке 2, будут закрашены цветом.
А теперь повторим все описанные выше шаги, только будем сравнивать список 2 с первым. И вот что мы в итоге получим:
Не закрашенные цветом ячейки содержат уникальные значения. Красиво и наглядно.
А теперь давайте попробуем сравнить сразу несколько столбцов. Допустим, у нас есть два экземпляра отчёта о продажах. Они расположены на разных листах нашей книги Excel. Список товаров совершенно одинаков, а вот сами цифры продаж отличаются кое-где.
Действуя совершенно аналогичным образом, как это было описано выше, выбираем эти две таблицы для сравнения. На третьем шаге выбираем поиск уникальных значений, чтобы можно было выбрать и выделить именно несовпадения в данных.
Устанавливаем соответствие столбцов, как это показано на рисунке ниже.
Для наглядности вновь выбираем заливку цветом для несовпадающих значений.
И вот результат. Несовпадающие строки закрашены цветом.
Если вы хотите попробовать этот инструмент, вы можете загрузить его как часть надстройки Ultimate Suite for Excel.
Вот какими способами вы можете сравнить столбцы в Excel на наличие дубликатов и уникальных значений.
Если у вас есть вопросы или что-то осталось неясным, напишите мне комментарий, и я с радостью уточню это подробнее. Спасибо за чтение!
Функция МАКС в Excel: как найти максимальное значение — В этой статье объясняется функция МАКС с множеством примеров формул, которые показывают, как найти наибольшее значение в Excel и выделить наибольшее число на листе. МАКС — одна из самых простых…
9 способов сравнить две таблицы в Excel и найти разницу — В этом руководстве вы познакомитесь с различными методами сравнения таблиц Excel и определения различий между ними. Узнайте, как просматривать две таблицы рядом, как использовать формулы для создания отчета о различиях, выделить…
Сравнение ячеек в Excel — Вы узнаете, как сравнивать значения в ячейках Excel на предмет точного совпадения или без учета регистра. Мы предложим вам несколько формул для сопоставления двух ячеек по их значениям, длине или количеству…
/> Вычисление номера столбца для извлечения данных в ВПР — Задача: Наиболее простым способом научиться указывать тот столбец, из которого функция ВПР будет извлекать данные. При этом мы не будем изменять саму формулу, поскольку это может привести в случайным ошибкам.… Формула ВПР в Excel для сравнения двух таблиц — 4 способа — Сравнение таблиц – это задача, которую в Excel приходится довольно часто решать. Например, у нас есть старый прайс-лист и его новая версия. Нужно просмотреть, цены на какие товары изменились и…
Как проверить правильность ввода данных в Excel? — Подтверждаем правильность ввода галочкой. Задача: При ручном вводе данных в ячейки таблицы проверять правильность ввода в соответствии с имеющимся списком допустимых значений. В случае правильного ввода в отдельном столбце ставить…
alt=»ЕСЛИ + СОВПАД текст» width=»250″ height=»95″ /> Функция ЕСЛИ: проверяем условия с текстом — Рассмотрим использование функции ЕСЛИ в Excel в том случае, если в ячейке находится текст. СодержаниеПроверяем условие для полного совпадения текста.ЕСЛИ + СОВПАДИспользование функции ЕСЛИ с частичным совпадением текста.ЕСЛИ + ПОИСКЕСЛИ… Визуализация данных при помощи функции ЕСЛИ — Функцию ЕСЛИ можно использовать для вставки в таблицу символов, которые наглядно показывают происходящие с данными изменения. К примеру, мы хотим показать в отдельной колонке таблицы, происходит рост или снижение продаж.…
3 примера, как функция ЕСЛИ работает с датами. — На первый взгляд может показаться, что функцию ЕСЛИ для работы с датами можно применять так же, как для числовых и текстовых значений, которые мы только что обсудили. К сожалению, это… Функция ЕСЛИ в Excel – примеры использования — на примерах рассмотрим, как можно использовать функцию ЕСЛИ в Excel, а также какие задачи мы можем решить с ее помощью