Ошибки пользователей при вводе данных – одна из самых распространенных проблем в Excel. В результате ошибочных данных ячейки с формулами на разных листах друг за другом могут заполниться ошибками #ЗНАЧ, #H/Д и т.п. Поиск ошибок может занимать длительное время, потому что непонятен первоначальный источник ошибки. С чего начинать? Но появление ячеек с ошибками это даже хорошо.
Гораздо хуже, когда внешне все выглядит нормально, но при этом в данных есть ошибки. В таких случаях пользователь даже не догадываться о наличии ошибок и формирует недостоверные отчеты. А в результате принимаются ошибочные управленческие решения. Что же делать?
НЕДОСТАТКИ СТАНДАРТНЫХ ИНСТРУМЕНТОВ EXCEL
Как вы наверняка знаете, в Excel существует стандартный функционал для контроля вводимых в ячейки данных. Он устанавливается через меню Данные -> Проверка данных. В результате появляется диалоговое окно Проверка вводимых значений c тремя закладками.
На закладке Параметры в поле Тип данных можно выбрать тип данных. В зависимости от введенного типа становятся доступными для заполнения другие поля, например:
- для типа Число, Дата, Время можно задать границы – от и до и проверять на соблюдение условий между, меньше, больше и т.д.;
- для типа Список можно задать список доступных значений;
- для типа Другой можно задать свою собственную формулу, которая будет проверять вводимое значение на соблюдение каких либо условий, в том числе в зависимости от значений в других ячейках.
На закладках Сообщение для ввода и Сообщение об ошибке можно задать текст соответствующего сообщения, чтобы подсказать пользователю в чем он ошибся.
Внешне сервис проверки данных кажется очень эффективным. Особенно удобно выбирать значение из выпадающего списка, а не вводить его вручную. Тем не менее стандартный функционал Excel позволяет решить проблему контроля вводимых данных лишь частично и у него есть существенные недостатки:
1. Стандартные средства контроля введенных данных могут создать у пользователя вредную иллюзию защищенности от ошибок. Особенно если данные вводили не вы, а кто-то другой, и вы рассчитываете что там все нормально, система отловила ошибки. Ведь проверка работает только при ручном вводе данных, но не работает при внесении данных другими способами!
Например, если данные вводятся в ячейку с использованием команд Копировать->Вставить, Копировать->Специальная вставка-Значения или путем «растаскивания» от соседних ячеек, то проверка данных не осуществляется. Также значения в ячейках не контролируются, если они введены в ячейку с помощью макроса (если только контроль не осуществляется в самом макросе).
Таким образом, неверные данные могут попасть в ячейки, многократно тиражированы и Excel это не отследит!
Часто это бывает, когда вы выгружаете данные в таблицы из других программ, например, 1С. Но особенно неприятно когда ошибки незаметны или малозаметны. Например:
- Значение в ячейке выглядит как число и дата, а на самом деле оно является текстом. Например потому, что перед или после цифр есть пробел или другие непечатные (невидимые) символы.
- Ячейка выглядит пустой, а на самом деле там есть непечатные символы.
- В качестве разделителя целой и дробной части использована точка вместо запятой.
- Введено значение, которое отсутствует в «привязанном» к ячейке выпадающем списке.
Последняя ситуация достаточно распространена. Например, вы ведете реестр платежей от контрагентов, и вводите наименование контрагентов с помощью выпадающего списка, связанного со справочником контрагентов. Спустя некоторое время вы обнаруживаете в наименовании контрагента ошибку и исправляете ее в справочнике. При этом Excel никак не отреагирует на то, что в реестре есть записи со старым (ошибочным) наименованием контрагента. То есть Excel при изменении элементов списка не отлавливает уже введенные данные типа «Список».
2. Стандартные способы проверки могут «тормозить»
Достаточно распространенной проверкой является проверка для типа данных Другой с использованием формул. Это может быть проверка на непревышение планового бюджета по статьям расходов, проверка на уникальность элемента списка и т.п.
В этом случае часто используются «тяжелые» функции СЧЕТЕСЛИ, СЧЕТЕСЛИМН, которые подсчитывают количество или сумму по уже введенным ранее данным и сравнивают, не превысит ли вводимое значение какой-то предел.
Всякий раз, когда вы вводите или изменяете значение в ячейке, отрабатывает эта «тяжелая» формула. Если при этом с ячейкой связано много других ячеек, будут пересчитываться и они. Когда вы это делаете и тестируете в таблицах мало данных и задержек не ощущается.
Но по мере роста таблиц Excel может начать «залипать» при вводе данных, иначе говоря не успевать за руками пользователя. И это очень раздражает.
Поэтому, использовать проверку вводимых данных с использованием типа Другой и «тяжелыми» формулами нужно очень обдуманно. Я советую вообще исключить использование подобных приемов.
3. Бесполезный инструмент «Обвести неверные данные»
Для проверки правильности введенных значений в Excel есть встроенный инструмент «Обвести неверные данные», который вызывается через пункты меню — Данные -> Проверка данных -> Обвести неверные данные.
Команда доступна только на незащищенном листе, а результатом ее работы будет обведение неверных по мнению Excel данных красным овалом как на рисунке выше.
На мой взгляд, это функция практически бесполезна по трем причинам:
- Будут признаны ошибочными и обведены пустые ячейки с типом «Список допустимых значение», если для них при настройке была снята галочка в поле «игнорировать пустые ячейки» (она снята в большинстве случаев). Но согласитесь — неверные значения и пустые значения это разные вещи.
- Помечаются только первые 255 недопустимых значения.
Если в вашей таблице десятки колонок и тысячи строк, то придется много раз повторять одни и те же действия – исправлять ошибки и снова запускать обводку неверных данных.
- Она не всегда работает корректно. На вышеприведенном рисунке не были обведены значения в колонке ЦУ — Объект «Сколково» — хотя эти значения ошибочные, т.к. их нет в списке.
4. «Подсвечивание» ячеек с ошибочными данными
Еще одним распространенным способом проверки наличия неверных данных является выделение ячеек, в которых обнаружены некорректные данные, ярким цветом фона или шрифта с помощью условного форматирования.
Я считаю это способ неэффективным. Ну «подсветили» вы некорректные данные в таблице, а что дальше?
Если таблице тысячи строк, то либо придется прокручивать всю таблицу в поисках подсвеченных ячеек, либо применять автофильтр по цвету. Причем поочередно делать для каждого столбца, так как непонятно – есть там неверные данные или нет.
Это очень трудоемко. Поэтому, пользователи начинают добавляют к своей таблице макросы, которые позволяют подсчитывать количество ячеек по цвету фона или шрифта. Такие макросы можно без проблем найти в интернете, но дело не в этом.
Мало того, что из-за правил условного форматирования Excel будет «тормозить», так пользователи еще и усложняют систему совсем необязательными макросами.
КАК ПРАВИЛЬНО ОРГАНИЗОВАТЬ ПРОВЕРКУ ВВЕДЕННЫХ ДАННЫХ
В своих решениях я перепробовал несколько вариантов и остановился на мой взгляд может быть не самый эстетичный, зато самый надежный и эффективный.
Этот способ может быть дополнением к стандартному функционалу проверки вводимых данных, или применяться самостоятельно. Суть способа в следующем.
Любую проверку вводимых значений можно делать и обычными функциями Excel, такими как ЕСЛИ, ЕТЕКСТ, ЕНЕТЕКСТ, ЕЧИСЛО, ПОИСКПОЗ. Поэтому в таблице можно создать служебную колонку в ячейках которой задать формулу, которая будет проверять корректность введенных данных по заданным условиям во всех ячейках строки, предназначенных для ввода и сообщать об этом пользователю. Расчет формулы сделать включаемым/ выключаемым в зависимости от положения «тумблера». Что такое тумблеры и зачем они, написано здесь.
Это не предотвратит некорректный ввод данных, но предупредит об этом пользователя.
Зато формула будет отрабатывать не при ручном вводе данных, а по вашему требованию. Таким образом, пользователь может свободно вводить данные и Excel не будет «тормозить». Перед формированием управленческих отчетов пользователь запускает проверку, выявляет все ошибки и исправляет их.
Как это устроено проще всего понять это на примере (см. рисунок ниже)
1. В шапке таблицы создается служебная строка, каждая ячейка которой содержит формулу =Столбец (). Теперь у пользователя всегда перед глазами есть порядковые номера столбцов. Причем, что бы вы ни сделали со столбцами (вставка, удаление, перемещение) нумерация всегда будет сохраняться.
2. В таблице создается служебная колонка (удобней если она будет крайней слева), в ячейках которой вводится формула, проверяющие корректность введенных в строке таблицы значений.
Формула состоит из блоков функций, соединенных между собой амперсандом для сцепки текста в единую строку. Каждый блок проверяет одну ячейку в строке и если значение ошибочное возвращает номер колонки, а если верное не возвращает ничего.
Блоки могут быть такие:
- Ячейки, в которых должна вводиться дата или число проверяется такой конструкцией
ЕСЛИ(ЕТЕКСТ(проверяемое_значение);номер_столбца&».»;»»)
- Ячейки, в которых значение вводится из выпадающего списка проверяется такой конструкцией:
EСЛИ(ЕСЛИОШИБКА(ПОИСКПОЗ(искомое_значение; просматриваемый_массив;0);-1)>0;””;номер_столбца)
- Если вам нужно проверять даты на вхождение в определенный период времени используйте обычные функции ЕСЛИ, >=,<= и т.д. Аналогично для чисел.
Не забудьте всю эту конструкцию поместить внутрь функции ЕСЛИ: =ЕСЛИ(НаТ1;ваша_цепочка_блоков;””), где НаТ1 это имя ячейки-тумблера, которая включает/выключает расчет формулы. Это позволит не вычислять формулу при всяком изменении в ячейках, а делать это по необходимости.
В результате в служебной колонке, в тех строках, где будут обнаружены ошибки, отобразятся номера колонок с некорректными данными, разделенные точками. В шапке таблицы можно подсчитать количество строк с ошибками следующей формулой:
=ЧСТРОК(A$5:A$677)-СЧЁТЕСЛИ(A$5:A$677;»») , где A$5:A$677 – диапазон служебного столбца в котором выводятся признаки ошибок.
В результате вы всегда видите сколько, в каких строчках и в каких столбцах у вас ошибки и можете быстро их исправить, используя стандартные возможности Excel — фильтр, растаскивание и т.д.
Ваша программа будет еще удобнее если вы соберете данные о количестве ошибок на одном листе (в моих решениях это лист Настройки как на рисунке ниже) и там же разместите кнопку для запуска формул проверки ошибок. В этом случае вам не нужно метаться между листами рабочей книги. Достаточно нажать одну кнопку – макрос включит «тумблер» — все листы будут проверены на наличие ошибок, данные о количестве ошибок будут выведены в таблице. Если ошибок не обнаружено ячейка останется пустой. Если ошибки обнаружены вам нужно перейти на соответствующий лист и исправить их.
Все просто и удобно, никаких «тормозов» и экономия времени!
Cookie-файлы
Настройка cookie-файлов
Детальная информация о целях обработки данных и поставщиках, которые мы используем на наших сайтах
Аналитические Cookie-файлы
Отключить все
Мы используем файлы Cookie для улучшения работы, персонализации и повышения удобства пользования нашим сайтом. Продолжая посещать сайт, вы соглашаетесь на использование нами файлов Cookie.
Подробнее о нашей политике в отношении Cookie.
Подробнее
Понятно
Ronin751 Пользователь Сообщений: 924 |
Доброго времени суток уважаемые жители планеты! тут ) немного условия поменялись, но проблема та же. |
Пытливый Пользователь Сообщений: 4587 |
Здравствуйте. Кому решение нужно — тот пример и рисует. |
Ronin751 Пользователь Сообщений: 924 |
#3 06.05.2016 13:36:08 Здравствуйте Пытливый! Спасибо, что обратили внимание на тему.
Это же я для образца, сделал. Весь файл очень большой. Вот я только проблемный участок и показал. В реальном файле дело идет так: пользователь, в UserForm отбирает нужные позиции, их количество и подчиненность, нажимает ОК и макрос составляет полную таблицу начальных данных ( если хотите, назовем её неким ГРАФИКОМ или ПЛАНОМ ). Как только таблица составлена, макрос выставляет проверку. А далее пользователь редактирует данные в таблице. |
||
Пытливый Пользователь Сообщений: 4587 |
#4 06.05.2016 13:47:34 Ну… тогда у вас уже все сделано, т.е. надо определить конкретную ячейку, для которой стараемся (у вас в коде это все для АсtiveCell).
Потом выделил В2, запустил — все гуд. Кому решение нужно — тот пример и рисует. |
||
Ronin751 Пользователь Сообщений: 924 |
Да! Ваш пример только на случай замены цифр на букву. Но если пользователь изменил цифру на букву, а через время снова захотел поставить прежнюю цифру, то столкнется с ошибкой. Вот по этому, в примере я использовал другую формулу. Задача составить проверку, которая будет позволять наличие только букв из именованного диапазона или исходной цифры. Изменено: Ronin751 — 06.05.2016 14:01:11 |
Пытливый Пользователь Сообщений: 4587 |
#6 06.05.2016 13:57:27 Ну добавьте в именованный список значение изначальное и все…
Изменено: Пытливый — 06.05.2016 14:14:21 Кому решение нужно — тот пример и рисует. |
||
Ronin751 Пользователь Сообщений: 924 |
#7 06.05.2016 14:05:18
С радостью, но я их сам не знаю. Их рассчитывает макрос. Да и если представить, что в именованом диапазоне будут допустим еще и 5,6,8,9… То, что в этом случае будет мешать пользователю изменить изначальную 9 на 5?! |
||
Sanja Пользователь Сообщений: 14838 |
#8 06.05.2016 14:21:41
Такое не то что макросу не объяснить, тут и человеку-то надо столько выпить, что бы понять… Согласие есть продукт при полном непротивлении сторон. |
||
Пытливый Пользователь Сообщений: 4587 |
Развивая мысль ув.Sanja, по событию Change Ничего не забыл? Кому решение нужно — тот пример и рисует. |
Sanja Пользователь Сообщений: 14838 |
#10 06.05.2016 14:46:38 «Растекаемся» мыслью дальше
не обязательно. Проверка данных принимает в качестве Списка строку, которую можно формировать прямо в коде, изначально, без ссылок на диапазоны
Изменено: Sanja — 06.05.2016 14:51:52 Согласие есть продукт при полном непротивлении сторон. |
||||
Ronin751 Пользователь Сообщений: 924 |
#11 06.05.2016 15:56:00
С помощью макроса составляется таблица и заносятся начальные данные. Следующий ход макроса — установить проверку эти ячейки. Условием для устанавки проверки является: если в ячейке текст -значит, при редактировании этой ячейки, допускаются только буквенные значения из именованного диапазона (на листе2); если в ячейке число(допустим 7) — то, при редактировании этой ячейки, допускаются только буквенные значения из именованного диапазона (на лист2) и это число (то есть 7). Фух! Вроде так. Прикрепленные файлы
|
||
Sanja Пользователь Сообщений: 14838 |
#12 06.05.2016 16:13:39 ?
Согласие есть продукт при полном непротивлении сторон. |
||
Ronin751 Пользователь Сообщений: 924 |
#13 06.05.2016 17:35:31 Вроде и проверку выполнило но…
В ячейках, где числовое значение записано через запятую, эту самую запятую превращаем в точку. Только проблема возникает при попытке изменить, допустим 4,5 на 4.5. Все равно пишет, что значение не допустимое. И сумма получается уже другая. |
||
Sanja Пользователь Сообщений: 14838 |
Да, я это тоже заметил. Если в строку для Проверки вставлять числа с запятой, то Список их разбивает на два значения. Этот пример больше как направление для дальнейшего движения. Согласие есть продукт при полном непротивлении сторон. |
Ronin751 Пользователь Сообщений: 924 |
Я это тоже делал, только немного иначе. Сейчас думаю как число с запятой загнать в кавычки (как текст). Тогда проверка, по идее, должна воспринять его. |
Sanja Пользователь Сообщений: 14838 |
Можно вернуться к схеме, которую предложил Пытливый, Добавлять значение к диапазону и в Проверку вставлять ссылку на него Согласие есть продукт при полном непротивлении сторон. |
Sanja Пользователь Сообщений: 14838 |
#17 07.05.2016 09:02:38 Проверил на практике идею Пытливый,
т.к. всем ячейкам назначается диапазон с одним и тем-же именем (хоть его содержимое и меняется от ячейки к ячейке), то, в итоге, для всех ячеек будет назначен диапазон со значениями для последней ячейки, что логично. Согласие есть продукт при полном непротивлении сторон. |
||
Ronin751 Пользователь Сообщений: 924 |
#18 07.05.2016 13:30:45 Именно об этом я говорил в посте № 7
И с кавычками у меня не получается. Эксель все равно интерпретирует число с запятой, как два разных. ((( |
||
Sanja Пользователь Сообщений: 14838 |
#19 07.05.2016 13:44:52
Нет, мы говорим про разные вещи. Но все равно решения нет. Пока Или может какое другое решение будет?
Прикрепленные файлы
Изменено: Sanja — 07.05.2016 13:51:14 Согласие есть продукт при полном непротивлении сторон. |
||||
Ronin751 Пользователь Сообщений: 924 |
Вообще, конечно странно… Но видимо приходится констатировать тот факт, что любое (даже текстовое значение) которое записано через запятую в ячейке, с помощью ВБА не возможно добавить в стандартную проверку. Просто потому, что эксель, в этом случае, не воспринимает запятую как десятичный разделитель, а упорно думает, что это перечисление последовательных (или не последовательных) пунктов. |
JeyCi Пользователь Сообщений: 3357 |
#21 08.05.2016 15:18:54
мне кажется не xl, а vba
а тут не vba, а xl Изменено: JeyCi — 08.05.2016 15:19:39 чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок — обратитесь к собеседнику на ВЫ — ответ на ваш вопрос получите — а остальное вас не касается (п.п.п. на форумах) |
||||
Ronin751 Пользователь Сообщений: 924 |
Как то странно получается не правда ли? Эксель не понимает ВБА. хм-м. |
JeyCi Пользователь Сообщений: 3357 |
#23 08.05.2016 16:28:15
расхождения бывают в рус.яз xl (именно по трактовке запятой и точки-с-запятой в формулах, а также десятичного разделителя) Изменено: JeyCi — 08.05.2016 16:30:52 чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок — обратитесь к собеседнику на ВЫ — ответ на ваш вопрос получите — а остальное вас не касается (п.п.п. на форумах) |
||
Ronin751 Пользователь Сообщений: 924 |
Поскольку при попытке создать проверку макросом эксель не воспринимает запятую как десятичный разделитель, решил пойти нахрапом: сменил десятичный разделитель с запятой на точку (меню пуск — панель управления — пункт «Языки и региональные стандарты»). Но эффект тот же (даже если формат ячейки перевести в текстовый). |
Юрий М Модератор Сообщений: 60585 Контакты см. в профиле |
Вариант: создать именованный динамический (если размер меняется) диапазон и его скармливать Проверке данных. |
Ronin751 Пользователь Сообщений: 924 |
#26 09.05.2016 18:28:00
Если я правильно понимаю, то в этом случае придется добавлять новые значения (с разделителями) в именованный динамический диапазон и в итоге все эти значения будут доступны для каждой ячейки. Но этот вариант не подходит, так как необходимо чтоб список проверки был наполнен значениями (буквенными) из именованного списка и значением самой ячейки ( к примеру «3,5»). Или можно как то это менять? |
||
Юрий М Модератор Сообщений: 60585 Контакты см. в профиле |
Не понимаю проблемы (вопроса): что будет в ячейках, то и увидите в выпадающем списке. |
Sanja Пользователь Сообщений: 14838 |
#28 09.05.2016 19:51:11
Юрий М, я тоже не сразу воткнулся. Тут не все так просто. Диапазон не просто динамический. Проблема в том, что в Диапазон необходимо добавлять значение, если оно НЕ из Диапазона, но находится в ячейке на момент добавления в нее Проверки данных. А таким значением может быть число с десятичной запятой, которая Списком Проверки данных расценивается как разделитель списка. Теоретически таких РАЗНЫХ Списков может быть 31 (кол-во столбцов) * кол-во строк в таблице. Хотелось это обойти (назначение КАЖДОЙ ячейке СВОЕГО Списка (см. код в #19), но из-за запятой не выходит. С целыми числами проблем нет. Согласие есть продукт при полном непротивлении сторон. |
||
Юрий М Модератор Сообщений: 60585 Контакты см. в профиле |
#29 09.05.2016 19:53:47
Вот это не могу переварить: если находится в ячейке диапазона, то уже в диапазоне )) |
||
Sanja Пользователь Сообщений: 14838 |
#30 09.05.2016 20:16:23
Так там-же в #19. Находиться не в ячейке Диапазона, а в ячейке, в которую Проверка вставляется. Т.е. на момент вставки ячейка НЕ пустая и вот это значение нужно добавить к Списку Проверки Согласие есть продукт при полном непротивлении сторон. |
||
VBA that checks if a cell is in a range, named range, or any kind of range, in Excel.
Sections:
Check if Cell is in a Range Macro
Check if Cell is in a Named Range
Notes
Check if Cell is in a Range Macro
Sub CellinRange()
'######################################'
'######### TeachExcel.com #########'
'######################################'
'Tests if a Cell is within a specific range.
Dim testRange As Range
Dim myRange As Range
'Set the range
Set testRange = Range("B3:D6")
'Get the cell or range that the user selected
Set myRange = Selection
'Check if the selection is inside the range.
If Intersect(testRange, myRange) Is Nothing Then
'Selection is NOT inside the range.
MsgBox "Selection is outside the test range."
Else
'Selection IS inside the range.
MsgBox "Selection is inside the test range."
End If
End Sub
How to Use the Macro
B3:D6 change this to the range that you want to check to see if the cell is within it.
Selection keep this the same to use the currently selected cell or range from the user or change it to a regular hard-coded range reference like Range(«A1») or whatever range you want.
‘Selection is NOT inside the range. under this line, put the code that you want to run when the cell is not within the range.
‘Selection IS inside the range. under this line, put the code that you want to run when the cell is within the range.
How Does the Macro Know if the Cell is in the Range?
Intersect(testRange, myRange) this checks if the range within the myRange variable overlaps or intersects with the range in the testRange variable. This function, the Intersect function, will return a range object where the two ranges overlap, or, if they don’t overlap, it will return nothing.
As such, we can use the IF statement to check if nothing was returned or not and we do that using Is Nothing after the Intersect function. The Is Nothing is what checks if the Intersect function returned nothing or not, which evaluates to TRUE or FALSE, which is then used by the IF statement to complete its logic and run.
This is how we get the full first line of the IF statement, and this is where all the magic happens:
If Intersect(testRange, myRange) Is Nothing Then
The rest of the IF statement is just a regular IF statement in VBA, with a section of code that runs if the cell is within the range and one that runs when the cell is outside of the range.
Check if Cell is in a Named Range
This is almost exactly the same as the previous macro except that we need to change the range reference from B3:D6 to the name of the named range; that’s it.
It could look like this:
Sub CellinRange()
'######################################'
'######### TeachExcel.com #########'
'######################################'
'Tests if a Cell is within a specific range.
Dim testRange As Range
Dim myRange As Range
'Set the range
Set testRange = Range("MyNamedRange")
'Get the cell or range that the user selected
Set myRange = Selection
'Check if the selection is inside the range.
If Intersect(testRange, myRange) Is Nothing Then
'Selection is NOT inside the range.
MsgBox "Selection is outside the test range."
Else
'Selection IS inside the range.
MsgBox "Selection is inside the test range."
End If
End Sub
For a more detailed expanation of how this macro works, look to the section above.
Notes
If the user makes a selection of multiple cells or a range, and any of those cells are within the test range, this macro will run the code for when the selection is inside the range.
Testing if a range is within a range simply uses the Intersect function in Excel VBA; however, due to how it works, it can seem confusing since we have to check if it Is Nothing or not. But, once you get used to writing this and seeing this in IF statements, it’s really not that difficult, just remember that, in this instance, you will want to pair the use of Intersect with Is Nothing and everything else should follow quite easily.
Download the sample file to get the macro in Excel.
Similar Content on TeachExcel
Excel Data Validation — Limit What a User Can Enter into a Cell
Tutorial:
Data Validation is a tool in Excel that you can use to limit what a user can enter into a…
Logical Operators in Excel VBA Macros
Tutorial: Logical operators in VBA allow you to make decisions when certain conditions are met.
They…
Make a UserForm in Excel
Tutorial: Let’s create a working UserForm in Excel.
This is a step-by-step tutorial that shows you e…
Sum Values that Equal 1 of Many Conditions across Multiple Columns in Excel
Tutorial:
How to Sum values using an OR condition across multiple columns, including using OR with …
VBA Comparison Operators
Tutorial: VBA comparison operators are used to compare values in VBA and Macros for Excel.
List of V…