Работа с артикулами в Microsoft Excel — одна из самых распространённых задач для менеджеров, логистов и владельцев интернет-магазинов. Артикул (или SKU) — это уникальный идентификатор товара, который позволяет быстро находить позиции в больших прайс-листах, инвентаризационных ведомостях или отчётах о продажах. Однако даже в небольшой таблице на 1000 строк поиск нужного кода может превратиться в мучение, если не знать эффективные приёмы.
Многие пользователи ограничиваются стандартным сочетанием Ctrl + F, но этот метод работает только для точного совпадения и не учитывает особенности форматирования (например, лишние пробелы или регистр). Между тем, в 78% случаев артикулы в Excel скрыты среди других данных или записаны в неочевидном формате (с префиксами, суффиксами или разделителями). В этой статье мы разберём все возможные сценарии — от простого поиска до автоматизированной фильтрации с помощью формул и Power Query.
Независимо от того, работаете ли вы с прайсом поставщика, ведёте учёт на складе или анализируете продажи, умение быстро находить артикулы сэкономит часы времени. Например, в таблице с 50 000 позиций ручной поиск может занять до 20 минут, тогда как правильно настроенный фильтр или формула справится за секунды. Далее вы узнаете, как адаптировать методы под свои задачи — будь то поиск по частичному совпадению, работа с динамическими диапазонами или даже извлечение артикулов из сложных строк.
1. Базовый поиск артикулов: Ctrl+F и его скрытые возможности
Начнём с самого простого — встроенного поиска Excel. Сочетание клавиш Ctrl + F (или Cmd + F на Mac) открывает панель "Найти и заменить". Однако большинство пользователей используют лишь 10% её функционала. Рассмотрим, как сделать поиск точнее:
В поле "Найти" введите артикул (например, ART-12345) и нажмите "Найти все". Excel покажет все ячейки с точным совпадением. Но что делать, если артикул записан с ошибками или в другом формате? Вот ключевые настройки:
- 🔍 Учитывать регистр — включите, если артикулы чувствительны к заглавным буквам (например,
SKU-001≠sku-001). - 📏 Ячейка целиком — полезно, если артикул может быть частью длинного текста (например,
"Товар ART-12345 (красный)"). - 🔄 Формат — ищите артикулы с определённым цветом шрифта или заполнением ячейки (актуально для выделенных позиций).
Ограничение метода: Ctrl + F не умеет искать по шаблону (например, все артикулы, начинающиеся на PRD-). Для этого потребуются фильтры или формулы, о которых поговорим далее.
⚠️ Внимание: Если при поиске Excel не находит артикул, который вы точно видите в таблице, проверьте наличие непечатаемых символов (пробелов, табуляций). Используйте функцию =ЧИСТ() для очистки данных.
2. Поиск по частичному совпадению: фильтры и текстовые функции
Допустим, вам нужно найти все артикулы, начинающиеся на BOX- или содержащие цифру 2026. Стандартный поиск здесь бессилен, но на помощь приходят автофильтр и текстовые функции.
Способ 1: Автофильтр
- Выделите заголовок столбца с артикулами.
- Нажмите
Данные → Фильтр(илиCtrl + Shift + L). - Раскройте выпадающий список в заголовке столбца и выберите "Текстовые фильтры → Начинается с" (или "Содержит").
- Введите часть артикула (например,
BOX-) и нажмите OK.
Способ 2: Формулы для динамического поиска
Если нужно автоматически извлечь или проверить артикулы, используйте:
- 🔹
=ЛЕВСИМВ(A2;4)— извлечёт первые 4 символа (например, префиксART-). - 🔹
=ПОИСК("2026";A2)— вернёт позицию подстроки2026в ячейке (или ошибку, если не найдёт). - 🔹
=ЕСЛИ(ЕЧИСЛО(ПОИСК("BOX-";A2));"Есть";"Нет")— проверит наличие подстроки.
Пример: Чтобы найти все артикулы с префиксом PRD- и длиной ровно 10 символов, используйте формулу:
=И(ЛЕВСИМВ(A2;4)="PRD-";ДЛСТР(A2)=10)
Удалить лишние пробелы (=ЧИСТ())
Привести артикулы к единому регистру (=ПРОПИСН())
Разделить сложные артикулы на столбцы (=ТЕКСТ.ПОСЛЕ(), =ТЕКСТ.ДО())
Проверить на дубликаты (=ЕСЛИ(СЧЁТЕСЛИ($A$2:$A$100;A2)>1;"Дубликат";""))-->
3. Продвинутый поиск: Power Query и регулярные выражения
Если вы работаете с большими объёмами данных (десятки тысяч строк) или артикулы записаны в неструктурированном виде (например, "Заказ #12345: Товар ART-9876 (зелёный)"), на помощь придёт Power Query — инструмент для преобразования данных.
Шаг 1. Загрузка данных в Power Query
- Выделите таблицу с артикулами.
- Перейдите в
Данные → Из таблицы/диапазона(илиДанные → Получить данные → Из таблицы). - В открывшемся редакторе Power Query выберите столбец с артикулами.
Шаг 2. Извлечение артикулов с помощью текстовых функций
Допустим, артикулы всегда следуют после слова "ART-". В Power Query добавьте новый столбец с формулой:
= Text.AfterDelimiter([Column1], "ART-")
Это извлечёт всё, что идёт после ART-. Для более сложных шаблонов используйте регулярные выражения (доступны в Power Query через Text.Select или Text.Remove).
Шаг 3. Фильтрация и возвращение данных в Excel
Отфильтруйте извлечённые артикулы (например, оставьте только те, что содержат 5 цифр подряд), затем нажмите "Закрыть и загрузить", чтобы вернуть данные в Excel.
⚠️ Внимание: При работе с Power Query убедитесь, что исходные данные не содержат объединённых ячеек — это может привести к ошибкам загрузки. Разъедините ячейки заранее.
Как найти артикулы в тексте с разделителями?
Если артикулы записаны в формате "ART-12345, ART-67890" (через запятую), используйте в Power Query функцию Text.Split с разделителем ",". Затем примените Table.Unpivot, чтобы развернуть значения в отдельные строки.
4. Поиск артикулов в несмежных данных: VLOOKUP и XLOOKUP
Частая ситуация: артикулы хранятся в одной таблице, а описания или цены — в другой. Чтобы найти соответствие, используйте функции поиска.
VLOOKUP (устаревший, но всё ещё актуальный метод)
Формула ищет артикул в первом столбце диапазона и возвращает значение из указанного столбца:
=ВПР("ART-12345"; A2:B100; 2; ЛОЖЬ)
Где:
"ART-12345"— искомый артикул,A2:B100— диапазон поиска (артикулы должны быть в первом столбце!),2— номер столбца с возвращаемым значением (например, цена),ЛОЖЬ— точное совпадение.
XLOOKUP (современная альтернатива)
Более гибкая функция, которая не требует указания номера столбца:
=XLOOKUP("ART-12345"; A2:A100; B2:B100; "Не найдено")
Преимущества:
- 🔹 Ищет в любом столбце (не обязательно первом).
- 🔹 Возвращает пользовательское сообщение, если артикул не найден.
- 🔹 Поддерживает поиск по нескольким критериям.
Пример поиска по двум столбцам (артикул + цвет):
=XLOOKUP(1; (A2:A100="ART-12345")*(B2:B100="красный"); C2:C100; "Нет совпадений")
5. Поиск дубликатов и проверка уникальности артикулов
Дублирующиеся артикулы — распространённая проблема при сведении данных из нескольких источников. Чтобы их найти, используйте условное форматирование или формулы.
Метод 1: Условное форматирование
- Выделите столбец с артикулами.
- Перейдите в
Главная → Условное форматирование → Правила выделения ячеек → Повторяющиеся значения. - Выберите формат для дубликатов (например, красный фон).
Метод 2: Формула для проверки уникальности
В соседнем столбце введите:
=ЕСЛИ(СЧЁТЕСЛИ($A$2:$A$100;A2)>1;"Дубликат";"Уникальный")
Эта формула отметит все повторяющиеся артикулы.
Метод 3: Извлечение уникальных значений
Чтобы получить список уникальных артикулов, используйте:
=УНИК(A2:A100)
Функция доступна в Excel 365 и Excel 2021. Для старых версий используйте Расширенный фильтр:
- Скопируйте заголовок столбца с артикулами в новое место.
- Перейдите в
Данные → Расширенный фильтр. - Укажите исходный диапазон и место для результата, отметьте "Только уникальные записи".
| Метод | Применимость | Преимущества | Недостатки |
|---|---|---|---|
| Условное форматирование | Визуальный анализ | Быстро, наглядно | Не подходит для больших таблиц |
Формула СЧЁТЕСЛИ |
Любые версии Excel | Гибкость, возможность сортировки | Требует вспомогательный столбец |
Функция УНИК |
Excel 365/2021 | Автоматическое обновление | Не работает в старых версиях |
| Расширенный фильтр | Все версии | Не требует формул | Ручное обновление |
6. Автоматизация поиска: макросы и пользовательские функции
Если вы регулярно работаете с артикулами, имеет смысл автоматизировать процесс с помощью VBA. Например, следующий макрос найдёт все ячейки с указанным артикулом и выделит их жёлтым цветом:
Sub FindArticul()
Dim searchValue As String
Dim rng As Range
searchValue = InputBox("Введите артикул для поиска:")
If searchValue <> "" Then
Set rng = ActiveSheet.UsedRange.Find(What:=searchValue, LookIn:=xlValues, LookAt:=xlWhole)
If Not rng Is Nothing Then
Do
rng.Interior.Color = RGB(255, 255, 0) ' Жёлтый цвет
Set rng = ActiveSheet.UsedRange.FindNext(rng)
Loop While Not rng Is Nothing
Else
MsgBox "Артикул не найден!"
End If
End If
End Sub
Чтобы использовать макрос:
- Нажмите
Alt + F11, чтобы открыть редактор VBA. - Вставьте код в новый модуль (
Insert → Module). - Закройте редактор и запустите макрос через
Вид → Макросы(или назначьте его на кнопку).
Для более сложных задач (например, поиска артикулов по шаблону с регулярными выражениями) можно создать пользовательскую функцию:
Function FindArticulPattern(rng As Range, pattern As String) As Variant
Dim cell As Range
Dim results() As String
Dim i As Integer
i = 0
For Each cell In rng
If cell.Value Like pattern Then
ReDim Preserve results(i)
results(i) = cell.Value
i = i + 1
End If
Next cell
FindArticulPattern = results
End Function
Пример использования в Excel: =FindArticulPattern(A2:A100; "ART-#####") (найдёт все артикулы, начинающиеся на ART- и содержащие 5 цифр).
⚠️ Внимание: Перед запуском макросов убедитесь, что в настройках Excel разрешено выполнение VBA (Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью → Настройки макросов → Включить все макросы). В противном случае код не будет работать.
7. Поиск артикулов в связанных таблицах: Power Pivot и отношения
Если вы работаете с несколькими таблицами (например, заказы, товары, поставщики), где артикулы являются связующим звеном, используйте Power Pivot — надстройку для анализа данных.
Шаг 1. Создание модели данных
- Перейдите в
Вставка → Power Pivot(если надстройка не активна, включите её вФайл → Параметры → Надстройки). - Импортируйте таблицы с данными (
Главная → Из других источников). - В окне Power Pivot перейдите на вкладку "Диаграмма" и создайте связи между таблицами по столбцу с артикулами.
Шаг 2. Использование мер для анализа
Теперь вы можете создавать сводные таблицы, которые автоматически агрегируют данные по артикулам. Например, чтобы посчитать сумму продаж по каждому артикулу:
- Вставьте сводную таблицу (
Вставка → Сводная таблица). - Перетащите поле "Артикул" в область строк.
- Перетащите поле "Сумма" в область значений.
Шаг 3. DAX-формулы для расширенного анализа
Для сложных вычислений используйте язык DAX. Например, формула для подсчёта уникальных артикулов в заказах:
Уникальные артикулы = DISTINCTCOUNT('Заказы'[Артикул])
Преимущества Power Pivot:
- 🔹 Работа с миллионами строк (в отличие от стандартных сводных таблиц).
- 🔹 Автоматическое обновление связей при изменении данных.
- 🔹 Возможность создания вычисляемых столбцов (например, категория товара по первым символам артикула).
FAQ: Частые вопросы о поиске артикулов в Excel
Как найти артикул, если он записан в разных регистрах (например, art-123 и ART-123)?
Используйте функцию =ПРОПИСН() или =СТРОЧН(), чтобы привести все артикулы к единому регистру во вспомогательном столбце. Например:
=ВПР(ПРОПИСН("art-123"); ПРОПИСН(A2:A100); 2; ЛОЖЬ)
Или настройте условное форматирование с формулой =СЧЁТЕСЛИ($A$2:$A$100;ПРОПИСН(A2))>1 для поиска дубликатов без учёта регистра.
Можно ли искать артикулы по шаблону (например, все коды, начинающиеся на буквы и заканчивающиеся на 3 цифры)?
Да, для этого подойдут:
- Фильтр с подстановочными знаками: в автофильтре используйте маску
??[0-9][0-9][0-9](где?— любой символ,— любое количество символов,[0-9]— цифра). - Формула с
ПОИСКиПРАВСИМВ:=И(ЕЧИСЛО(ПОИСК("А";A2)); ЕЧИСЛО(ПОИСК("Б";A2)); ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;"0";""))=3)(проверяет наличие букв А и Б и ровно 3 цифры в конце).
- Power Query: используйте функцию
Text.Selectс регулярным выражением[A-Za-z].*[0-9]{3}.
Как найти артикул, если он разбит на несколько ячеек (например, префикс в одном столбце, цифры — в другом)?
Объедините ячейки во вспомогательном столбце с помощью функции =СЦЕПИТЬ() или =ОБЪЕДИНИТЬ() (в Excel 365):
=ОБЪЕДИНИТЬ(A2; "-"; B2)
Где A2 — столбец с префиксом, B2 — с цифрами. Затем ищите артикул в полученном столбце.
Почему ВПР не находит артикул, который есть в таблице?
Частые причины:
- 🔸 Лишние пробелы: используйте
=ЧИСТ(A2)для очистки. - 🔸 Разный формат: преобразуйте оба столбца в текст (
Формат ячеек → Текстовый). - 🔸 Ошибка в диапазоне: убедитесь, что артикулы находятся в первом столбце диапазона
ВПР. - 🔸 Регистр: если артикулы чувствительны к регистру, используйте вспомогательный столбец с
=ПРОПИСН().
Для диагностики введите в ячейку:
=A2=B2
(где A2 — искомый артикул, B2 — ячейка из таблицы). Если результат ЛОЖЬ, данные не совпадают.
Как экспортировать найденные артикулы в отдельный файл?
Способы:
- Копирование с фильтром: отфильтруйте нужные артикулы, скопируйте их в новую книгу и сохраните как
CSVилиXLSX. - Power Query: после фильтрации данных нажмите "Закрыть и загрузить в..." и выберите "Новая книга".
- Макрос: запишите макрос для копирования отфильтрованных данных в новый файл:
Sub ExportArticuls()Sheets("Лист1").UsedRange.AutoFilter Field:=1, Criteria1:="ART-*"
Sheets("Лист1").UsedRange.SpecialCells(xlCellTypeVisible).Copy
Workbooks.Add
ActiveSheet.Paste
ActiveWorkbook.SaveAs "C:\Export\Articuls.xlsx"
End Sub