Гид по технологиям

Как использовать DGET в Excel: руководство, примеры и советы

10 min read Excel Обновлено 13 Dec 2025
DGET в Excel: синтаксис, примеры, советы
DGET в Excel: синтаксис, примеры, советы

Фоновая таблица Excel с логотипом Excel на переднем плане.

DGET — простая функция Excel для извлечения одного значения из столбца таблицы или диапазона по заданным критериям. Она удобна, когда нужен единственный результат по одному или нескольким условиям; однако возвращает ошибку при нескольких совпадениях. В статье — синтаксис, пошаговые примеры с выпадающим списком, советы по применению, альтернативы и практические чеклисты.

Быстрые ссылки

  • Синтаксис DGET
  • Пример 1: один критерий
  • Пример 2: несколько критериев
  • Преимущества DGET
  • Недостатки DGET
  • Когда DGET не подходит
  • Альтернативные подходы
  • Методика внедрения DGET (SOP)
  • Контрольные тесты и критерии приёмки
  • Сводка и рекомендации

Синтаксис DGET

=DGET(a,b,c)

где

  • a — база данных: диапазон ячеек, включая заголовки столбцов (категории). Категории должны располагаться в столбцах, а записи — в строках.
  • b — поле: метка столбца (заголовок), из которого нужно вернуть значение. Может быть строкой в кавычках или ссылкой на ячейку. DGET нечувствителен к регистру.
  • c — критерии: диапазон ячеек, содержащий условия поиска.

Все три аргумента обязательны. Если какой‑то опустить, Excel вернёт ошибку #VALUE!.

Важно: если база данных оформлена как структурированная таблица Excel (Форматировать как таблицу), аргумент a можно указать через имя таблицы (структурированная ссылка).

Пример 1: один критерий

Ниже пошагово показано, как настроить простой поиск сотрудника по уникальному идентификатору (ID) и автоматически подтягивать его имя, фамилию, отдел и стаж.

Лист Excel с двумя таблицами: сверху синяя таблица для извлечения, снизу зелёная база данных.

Ключевые моменты на скриншоте:

  • В зелёной базе каждая колонка — это категория (ID, имя, фамилия, отдел, стаж). Каждая строка — запись.
  • Заголовки совпадают в базе и в таблице извлечения, что упрощает формулы.
  • Поскольку ID уникален, DGET вернёт единственное значение и не вызовет #NUM!.

Добавление выпадающего списка

Чтобы не вводить ID вручную, удобно сделать выпадающий список в ячейке с критерием.

  1. Выделите ячейку для ввода ID (в примере A2).
  2. В ленте перейдите на вкладку Данные → Проверка данных.
  3. В поле Разрешить выберите Список и укажите диапазон со значениями ID в поле Источник.

В примере автор расширил диапазон списка до A236, чтобы новые ID автоматически попадали в выпадающий список.

Лист Excel с инструментом Проверка данных: в поле Разрешить выбран Список, в Источник указаны ячейки A5:A236.

После настройки в ячейке A2 появится стрелка выпадающего списка.

Лист Excel с выпадающим списком в ячейке A2, созданным через Проверку данных.

Формула DGET

В ячейке B2 вводим:

=DGET($A$4:$E$172,B1,$A$1:$A$2)

Пояснения:

  • $A$4:$E$172 — диапазон базы (абсолютная ссылка, чтобы она не смещалась при автозаполнении).
  • B1 — заголовок поля, из которого нужно вернуть значение (в примере “First name”/“Имя”). Это относительная ссылка, чтобы можно было протянуть формулу вправо.
  • $A$1:$A$2 — таблица с критериями: первая строка — имя столбца “ID”, вторая — значение ID из A2.

После подтверждения формула подтянет имя сотрудника по ID.

Лист Excel: в ячейке B2 получено значение Laura, извлечённое через DGET.

Аргументы a и c закреплены знаком доллара ($), потому что они должны оставаться фиксированными при автозаполнении. Аргумент b остаётся относительным, чтобы при протягивании формулы вправо Excel подтягивал значения из соответствующих заголовков (Last name, Department, Service length).

Таблица извлечения: используется маркер заполнения для копирования формул DGET в другие столбцы.

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

Лист Excel: адаптивная формула DGET, где E2 использует заголовок из E1 для возврата соответствующего поля.

Если база оформлена как таблица Excel, в аргументе a удобно указать имя таблицы: =DGET(MyTable, B1, $A$1:$A$2).

Пример 2: несколько критериев

Если по одному критерию находится несколько записей и вы получаете #NUM!, добавьте дополнительные условия. DGET поддерживает логическое И между критериями, когда условия расположены в одной строке диапазона критериев.

Лист Excel с таблицей извлечения, где заполнены два критерия, и базой данных под ней.

В примере нужно найти сотрудника из отдела Personnel с 10 годами стажа. Формула в A2:

=DGET($A$4:$E$172,A1,$D$1:$E$2)

Здесь $D$1:$E$2 — диапазон критериев, где D2 и E2 содержат значения для двух разных колонок. Excel интерпретирует это как ЛОГИЧЕСКОЕ И (AND).

Формула DGET, возвращающая ID на основании двух критериев в таблице извлечения.

Если надо реализовать логическое ИЛИ (OR), добавьте ещё одну строку критериев. Например, если хотите найти сотрудника со стажем 1 или 2 года, укажите 1 в одной строке критериев и 2 в другой, а диапазон критериев расширьте по строкам. Excel попытается найти запись, удовлетворяющую любому из перечисленных наборов критериев. Если при OR получится несколько совпадений, DGET вернёт #NUM!.

Лист Excel: автозаполнение формулы DGET для остальных полей извлечения.

Замечание: в отличие от VLOOKUP, DGET может возвращать значения, расположенные слева от колонки поиска.

Преимущества использования DGET

  • Простота: всего три аргумента. Легче понять и настроить, чем некоторые другие функции.
  • Обратная совместимость: DGET поддерживается в старых версиях Excel, где XLOOKUP ещё недоступен.
  • Гибкость поиска: можно возвращать значения слева от поискового столбца.
  • Чувствительная адаптация: изменение критериев сразу влияет на результат.
  • Работает с текстом и числами.

Недостатки использования DGET

Недостаток DGETКак это исправить
Можно вернуть только одну запись за один вызов. Для каждого поиска требуется собственная область критериев.Используйте XLOOKUP (в новых версиях Excel) или VLOOKUP, если возвращаемое значение находится справа, либо создайте несколько областей DGET для параллельных поисков.
При множественных совпадениях DGET возвращает #NUM!.Убедитесь, что данные уникальны, или используйте VLOOKUP/INDEX+MATCH/ FILTER для получения первых или всех совпадений.
Не работает с «горизонтальными» базами данных (категории в строках).Транспонируйте базу (Специальная вставка → Транспонировать), используйте HLOOKUP или XLOOKUP.

Когда DGET не подходит (контрпримеры и типовые ошибки)

  • Нужен список всех совпадающих строк. DGET вернёт лишь одиночное значение (или #NUM!). Используйте FILTER или комбинацию INDEX + SMALL для возвращения множества строк.
  • Данные не нормализованы и содержат дубликаты по ключевому полю. DGET всегда ожидает единственное совпадение.
  • Критерии заданы неверно: заголовок в области критериев должен точно совпадать с заголовком колонки в базе.
  • База оформлена горизонтально (категории в строках) — DGET не сможет работать без преобразования структуры.

Примеры ошибок и рекомендации:

  • #VALUE! — ошибка в аргументах (пропущен аргумент).
  • #NUM! — более одного совпадения для заданных критериев.
  • #N/A — когда поле отсутствует или написано с опечаткой.

Важно: при использовании ячеек с формулами в области критериев обращайте внимание на типы данных. Текст и число «10» — разные типы.

Альтернативные подходы и когда их использовать

  • XLOOKUP — современная и гибкая замена VLOOKUP/INDEX+MATCH; возвращает первое совпадение, позволяет искать слева и справа, поддерживает порядковую логику и поиск по диапазону. Рекомендуется, если у вас Office 365 или более новые версии Excel.
  • INDEX + MATCH — мощная комбинация: устойчива, работает в старых версиях Excel, гибкая при построении сложных связок и сдвигов столбцов. Возвращает первое совпадение.
  • VLOOKUP — простая функция для поиска справа, но ограничена направлением поиска и чувствительна к структуре столбцов.
  • HLOOKUP — аналог VLOOKUP для горизонтальных таблиц.
  • FILTER (Excel 365) — возвращает все строки, соответствующие критериям. Отлично подходит, если нужен список совпадений, а не одно значение.

Краткая эвристика выбора:

  • Нужен первый найденный элемент → VLOOKUP или XLOOKUP.
  • Нужен набор всех совпадений → FILTER.
  • Нужен единичный результат при строго одном совпадении и совместимость со старыми версиями → DGET.
  • Нужна гибкость и комбинирование по индексам → INDEX+MATCH.

Методика внедрения DGET: пошаговый SOP

  1. Подготовьте базу данных: убедитесь, что в первой строке содержатся корректные заголовки, без дубликатов и опечаток.
  2. Разместите таблицу извлечения над базой или рядом, чтобы заголовки совпадали.
  3. Для ввода критериев создайте отдельный блок: в первой строке — название колонки, в последующих — значения критериев.
  4. Если потребуется взаимодействие пользователя, настройте Проверку данных (выпадающий список) для выбора ключа.
  5. Вводите формулу DGET с абсолютными ссылками на базу и область критериев; оставьте поле (b) относительным при необходимости автозаполнения.
  6. Тестируйте каждую формулу на кейсах: уникальное совпадение, отсутствие совпадения, множественные совпадения.
  7. Документируйте поведение: какие ошибки ожидаемы и как их исправлять.
  8. При внедрении в общую книгу протестируйте на разных листах и с разными региональными настройками (форматы дат/чисел).

Контрольные тесты и критерии приёмки

Критерии приёмки

  • DGET возвращает корректное значение для уникального ключа.
  • Для отсутствующего совпадения — возвращается ожидаемая ошибка или пользовательская заглушка с помощью IFERROR.
  • При множественных совпадениях — либо обнаруживается #NUM!, либо система обрабатывает дубликаты на этапе проверки данных.
  • Формулы остаются работоспособными при добавлении новых строк в базу (проверка структурированных ссылок или расширяемых диапазонов).

Тестовые сценарии

  1. Уникальный ID → ожидаемое значение.
  2. Несуществующий ID → #VALUE!/#N/A: обработка через IFERROR возвращает понятное сообщение.
  3. Дубликат по ключу → #NUM! (проверить реакцию пользователя и инструкции по очистке дубликатов).
  4. Изменение формата поля (текст ↔ число) → убедиться, что критерий и база совпадают по типу.

Роли и чеклисты

Для разных ролей полезны разные шаги и проверки.

Data Analyst

  • Проверить уникальность ключа.
  • Нормализовать данные (одинаковые форматы дат/чисел).
  • Добавить проверки качества (условное форматирование на дубликаты).
  • Автоматизировать тесты на случай добавления строк.

Excel User (оператор)

  • Убедиться, что выбираю значение из выпадающего списка.
  • Проверить заголовок в блоке критериев: совпадает ли он с заголовком базы.
  • Если вижу #NUM! — сообщить аналитику о возможных дубликатах.

Администратор книги

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

Сравнительная сводка подходов

  • DGET: прост, один результат, нуждается в уникальном совпадении.
  • VLOOKUP: быстро для правого поиска, ограничен направлением.
  • INDEX+MATCH: гибкость, работает в старых версиях, более устойчив к перестановке столбцов.
  • XLOOKUP: современная и универсальная замена, но не во всех версиях Excel.
  • FILTER: возвращает множество строк, нужен Excel 365.

Советы по производительности и устойчивости

  • Используйте структурированные таблицы (Format as Table). Тогда диапазоны будут автоматически расширяться при добавлении строк.
  • Избегайте большого количества volatile-функций рядом с DGET (например, INDIRECT), чтобы не замедлять перерасчёт.
  • По возможности проверяйте уникальность ключа вне формул (отдельный столбец проверки дубликатов) — это снизит риск неожиданных #NUM!.

Совместимость и миграция

  • DGET доступен в большинстве классических версий Excel (Excel 2007 и новее). Это делает её полезной при обмене файлами с пользователями старых версий.
  • Если переходите на Office 365, рассмотрите переход на XLOOKUP или FILTER, чтобы расширить возможности поиска и возвращать множества значений.
  • При миграции проверьте формулы с относительными и абсолютными ссылками, а также структурированные ссылки (имена таблиц).

Примеры обработок ошибок

Вернуть понятное сообщение вместо ошибки:

=IFERROR(DGET($A$4:$E$172,B1,$A$1:$A$2),"Не найдено или несколько совпадений")

Если нужно игнорировать дубликаты и взять первое совпадение, используйте INDEX+MATCH:

=INDEX($B$4:$B$172, MATCH(1, ($A$4:$A$172=K1)*($C$4:$C$172=L1), 0))

(Вводится как формула массива в старых версиях Excel — Ctrl+Shift+Enter.)

Edge-case gallery — редкие сценарии и как их решать

  • Критерий — пустая строка: Excel интерпретирует её как условие “пусто”; проверьте логику.
  • Заголовок колонки в базе содержит лишний пробел: DGET не найдёт поле. Используйте TRIM при построении заголовков.
  • Дата введена в другом региональном формате: сравнивайте значения как числа (даты в Excel — это числа).

Небольшая методика проверки перед публикацией файла

  1. Откройте файл в режиме “Только чтение” и протестируйте формулы на контрольном наборе данных.
  2. Проверьте совместимость с Excel Online и другими приложениями (Google Sheets не поддерживает все функции DGET).
  3. Добавьте поясняющий блок с инструкцией по использованию таблицы извлечения.

Мини-глоссарий (1‑строчные определения)

  • База данных — диапазон с заголовками в первой строке и записями в последующих строках.
  • Поле — заголовок столбца, откуда нужно вернуть значение.
  • Критерии — диапазон ячеек, задающий условия поиска.
  • Структурированная таблица — объект Excel с именем и динамическим диапазоном.

Блок безопасности и конфиденциальности

Не храните в открытых файлах чувствительные персональные данные без шифрования и контроля доступа. DGET просто читает ячейки — ответственность за конфиденциальность лежит на владельце файла.

Дерево решений (быстро выбрать подход)

flowchart TD
  A[Нужен один результат?] -->|Да| B{Может ли быть несколько совпадений?}
  A -->|Нет| C[FILTER / INDEX+SMALL]
  B -->|Нет| D[DGET]
  B -->|Да| E[Используйте INDEX+MATCH или XLOOKUP или очистите дубликаты]
  C --> F[FILTER]
  D --> G[Проверьте уникальность ключа]
  E --> H[Если Office 365 — XLOOKUP]

Социальный превью (рекомендация)

OG title: DGET в Excel: синтаксис, примеры и советы

OG description: Краткое руководство по DGET: синтаксис, примеры с выпадающим списком, когда использовать и альтернативы для Excel.

Короткое объявление (100–200 слов)

DGET — простая и надёжная функция поиска в Excel, удобная для извлечения одного значения по одному или нескольким критериям. В этом руководстве подробно разобраны синтаксис, примеры с настройкой выпадающего списка, распространённые ошибки и способы их исправления, а также альтернативы — XLOOKUP, INDEX+MATCH и FILTER. Вы найдёте пошаговый SOP для внедрения DGET в таблицу, тесты для приёмки и чеклисты для разных ролей. Это быстрое руководство поможет выбрать правильный инструмент поиска данных и настроить устойчивую логику извлечения в вашей рабочей книге.

Сводка

  • DGET удобен для возвращения одного значения по строгим критериям.
  • При множественных совпадениях он вернёт #NUM! — заранее проверяйте уникальность.
  • Для больших или современных решений рассмотрите XLOOKUP, FILTER или комбинацию INDEX+MATCH.

Важно: перед развёртыванием в продуктиве протестируйте шаблоны на реальных данных и задокументируйте ожидаемое поведение при ошибках.


Если хотите, я могу подготовить шаблон Excel с готовыми формулами и проверками, перевести пошаговую инструкцию в PDF или сделать набор тестов для вашей базы данных.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро