Progress-servis55.ru

Новости из мира ПК
8 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Бизвлечь в excel примеры

Функции баз данных

В данной категории собраны несколько специфические функции для работы с упорядоченными данными. Не зря категория включает в себя упоминание про базы данных: таблицы для работы этих функций должны отвечать определенным требованиям:

  • таблица должна обязательно содержать заголовки столбцов. Эти заголовки должны располагаться строго в одной строке, не должны содержать объединенных и пустых ячеек.
  • таблица должна быть неделимая, т.е. не должна содержать полностью пустых строк и столбцов, а так же объединенных ячеек
  • в каждом столбце должна содержаться однотипная информация: если в столбце должны содержаться даты, значит кроме дат там не должно быть ничего другого; если в столбце числа(суммы, кол-во) — значит должны быть только числа. Не следует при отсутствии чисел оставлять ячейку пустой или ставить пробел. Вместо этого необходимо ставить 0.

Для разбора функции баз данных возьмем следующий пример таблицы:

Данная таблица отвечает всем требованиям для работы с функциями баз данных, однако, чтобы более удобно и гибко работать с функциями баз данных лучше сместить таблицу данных на несколько строк вниз, а выше добавить таблицу критериев, где будут формироваться условия отбора данных из основной таблицы:

Именно для этой таблицы будут приведены все примеры описаний функций. И критерии заданы следующие: отбирать из поля «Дерево» Яблони с высотой больше 3 и меньше 6 и Вишни, со значением в поле «Возраст» больше 8. Если посмотреть на таблицу данных(из которой будут отбираться данные и производится расчеты функциями), то этим критериям отвечают только две строки: строки 9 и 10 листа.
Как видно, в качестве критериев можно указывать выражение в виде: >6 , , <>0 (не равно нулю), >=7 , . Так же знаки равенства и сравнения можно применять и с текстовыми данными, например: <>«Яблоня» .

Все функции из категории баз данных имеют три одинаковых аргумента:
Функция(база_данных; поле; критерий)
база_данных — ссылка на ячейки данных таблицы, включая заголовок( A6:E12 ).
поле — в данном аргументе можно записать как непосредственно текст с названием столбца в кавычках («Дерево», «Возраст» или «Урожай»), так и число, задающее положение столбца в таблице: 1 — для первого поля(столбца) в таблице «Дерево», 2 — для второго поля «Высота», 3 — для третьего поля «Возраст» и так далее.
критерий — ссылка на диапазон ячеек с условиями отбора( A1:F3 ). Функция отберет данные из таблицы, которые удовлетворяют условиям, указанным в ячейках критериев. В ссылке на критерии обязательно должны быть включены названия столбцов, для которых выполняется отбор данных.

    ДСРЗНАЧ (DAVERAGE) — Вычисляет среднее значение выбранных записей базы данных:
    =ДСРЗНАЧ( A6:E12 ;5; A1:F3 )
    =ДСРЗНАЧ( A6:E12 ;»Прибыль»; A1:F3 )
    =DAVERAGE( A6:E12 ,5, A1:F3 ) вернет значение 90 000р. , т.к. сумма прибыли отобранных записей равна 180 000р., а всего отобрано 2 записи. 180 000/2 = 90 000 .

БСЧЁТ (DCOUNT) — Подсчитывает количество числовых ячеек в базе данных:
=БСЧЁТ( A6:E12 ;5; A1:F3 )
=БСЧЁТ( A6:E12 ;»Прибыль»; A1:F3 )
=DCOUNT( A6:E12 ,5, A1:F3 ) вернет число 2 , т.к. только две строки в таблице отвечают критериям

БСЧЁТА (DCOUNTA) — Подсчитывает количество непустых ячеек в базе данных:
=БСЧЁТА( A6:E12 ;4; A1:F3 )
=БСЧЁТА( A6:E12 ;»Прибыль»; A1:F3 )
=DCOUNTA( A6:E12 ,4, A1:F3 ) вернет 2, т.е. подсчитает в отвечающих критериям строках количество непустых ячеек в столбце «Прибыль»

БИЗВЛЕЧЬ (DGET) — Извлекает из базы данных одну запись, удовлетворяющую заданному условию:
=БИЗВЛЕЧЬ( A6:E12 ;5; A1:F3 )
=БИЗВЛЕЧЬ( A6:E12 ;»Прибыль»; A1:F3 )
=DGET( A6:E12 ,5, A1:F3 ) для заданных условий вернет значение ошибки #ЧИСЛО! (#NUM!) , т.к. этим условиям отвечает более одной записи. Если же указать диапазон для критерия как:
=БИЗВЛЕЧЬ( A6:E12 ;5; A1:F2 ) то функция вернет значение 75 000р. , т.е. единственную запись о прибыли для Яблонь с высотой больше 3 и меньше 6 (в данный промежуток попадает лишь строка 10 — Яблона, высота 5)

ДМАКС (DMAX) — Находит максимальное значение среди выделенных записей базы данных:
=ДМАКС( A6:E12 ;5; A1:F3 )
=ДМАКС( A6:E12 ;»Прибыль»; A1:F3 )
=DMAX( A6:E12 ,5, A1:F3 ) вернет сумму 105 000р. , т.к. это максимальная прибыль из всех отвечающих критериям строк.

ДМИН (DMIN) — Находит минимальное значение среди выделенных записей базы данных:
=ДМИН( A6:E12 ;5; A1:F3 )
=ДМИН( A6:E12 ;»Прибыль»; A1:F3 )
=DMIN( A6:E12 ,5, A1:F3 ) вернет сумму 75 000р. , т.к. это минимальная прибыль из всех строк, отвечающих критериям

БДПРОИЗВЕД (DPRODUCT) — Перемножает значения определенного поля в записях базы данных, удовлетворяющих условию:
=БДПРОИЗВЕД( A6:E12 ;3; A1:F3 )
=БДПРОИЗВЕД( A6:E12 ;»Возраст»; A1:F3 )
=DPRODUCT( A6:E12 ,3, A1:F3 ) вернет 210 , т.к. будут перемножены все значения столбца «Возраст», отвечающие критериям( 14*15=210 )

ДСТАНДОТКЛ (DSTDEV) — Оценивает стандартное отклонение по выборке из выделенных записей базы данных:
=ДСТАНДОТКЛ( A6:E12 ;4; A1:F3 )
=ДСТАНДОТКЛ( A6:E12 ;»Урожайность»; A1:F3 )
=DSTDEV( A6:E12 ,4, A1:F3 ) вернет 0,707107 , т.е. оценку стандартного отклонения урожайности по указанным критериям.

ДСТАНДОТКЛП (DSTDEVP) — Вычисляет стандартное отклонение по генеральной совокупности из выделенных записей базы данных:
=ДСТАНДОТКЛП( A6:E12 ;4; A1:F3 )
=ДСТАНДОТКЛП( A6:E12 ;»Урожайность»; A1:F3 )
=DSTDEVP( A6:E12 ,4, A1:F3 ) вернет 0,5 , т.е. точное стандартное отклонение урожайности по указанным критериям, если считать, что данные в базе данных описывают генеральную совокупность всех деревьев в саду.

Читать еще:  Excel vba готовые решения

БДСУММ (DSUM) — Суммирует числа в поле для записей базы данных, удовлетворяющих условию:
=БДСУММ( A6:E12 ;5; A1:F3 )
=БДСУММ( A6:E12 ;»Прибыль»; A1:F3 )
=DSUM( A6:E12 ,5, A1:F3 ) вернет сумму прибыли всех строк, отвечающих критериям, т.е. 180 000р.
=БДСУММ( A6:E12 ;5; A1:A2 )
=DSUM( A6:E12 ,5, A1:A2 ) вернет сумму прибыли от всех Яблонь, т.е. 225 000р.

БДДИСП (DVAR) — Оценивает дисперсию по выборке из выделенных записей базы данных:
=БДДИСП( A6:E12 ;4; A1:A2 )
=БДДИСП( A6:E12 ;»Урожайность»; A1:A2 )
=DVAR( A6:E12 ,4, A1:A2 ) вернет 0,5 , что будет оценкой дисперсии урожайности по указанным критериям, если считать, что данные в таблице являются выборкой из генеральной совокупности всех деревьев в саду

  • БДДИСПП (DVARP) — Вычисляет дисперсию по генеральной совокупности из выделенных записей базы данных:
    =БДДИСПП( A6:E12 ;4; A1:A2 )
    =БДДИСПП( A6:E12 ;»Урожайность»; A1:A2 )
    =DVARP( A6:E12 ,4, A1:A2 ) вернет 10,66667 , т.е. точную дисперсию урожайности Яблонь и Вишень, если считать, что данные в базе данных описывают генеральную совокупность всех деревьев в саду
  • БИЗВЛЕЧЬ работа с функциями базы данных в Excel

    Выполнение поиска по огромным таблицам с тысячами позиций информации о товарах или объемах продаж – это непростой вызов для большинства пользователей Excel. Для эффективного решения данной задачи, пользователи вынуждены комбинировать многоэтажные формулы из поисковых функций, которым нужно еще вычислить соответствующие адреса и значения для их аргументов. Чтобы сократить путь решения и не нагружать вычислительные ресурсы Excel в первую очередь следует обратить внимание на функции Excel для работы с базами данных.

    Примеры работы функции базы данных БИЗВЛЕЧЬ в Excel

    Допустим мы располагаем базой данных, которая экспортированная в Excel так как показано ниже на рисунке:

    Наша задача найти всю информацию (номер фактуры, номер клиента, сумма и т.д.), которая относится к одной конкретной фамилии определенного клиента. Для этой цели рекомендуем воспользоваться функцией Excel для работы с базами данных – БИЗВЛЕЧЬ. Данная функция на основе критериев поискового запроса, введенных в ее аргументы, по отдельности выберите все соответствующие строки из базы данных.

    Функция БИЗВЛЕЧЬ примеры в Excel

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

    1. Выше базы данных добавим 4 пустых строки. Для этого достаточно выделить 4 заголовка строк листа Excel и щелкнуть правой кнопкой мышки. Из контекстного меню выбрать вставить. Или после выделения строк по заголовкам нажать комбинацию горячих клавиш CTRL+SHIFT+=.
    2. Далее скопируйте все заголовки столбцов базы данных и вставьте их в первую строку листа для вспомогательной таблицы критериев.

    Пространство для заполнения критериев запросов выше данных базы.

    Сначала попытаемся получить номер фактуры по фамилии клиента:

    1. В ячейке D2 введите фамилию Антонова.
    2. В ячейке A3 введите следующую формулу:

    Сразу же получаем готовый результат как показано ниже на рисунке:

    Формула нашла соответствующий номер фактуры для клиента с фамилией Антонова.

    Разбор принципа действия функции БИЗВЛЕЧЬ для работы с базами данных в Excel:

    БИЗВЛЕЧЬ – главная функция базы данных в Excel. В первом аргументе функции вводим диапазон просматриваемой базы данных вместе с заголовками. Во втором аргументе функции указываем адрес ячейки где будет возвращено значение соответствующие критериям поискового запроса. Третьим аргументом является диапазон ячеек, содержащий следующие условия: заголовок столбца БД и диапазон для поиска под этим заголовком. Вспомогательная табличка критериев поискового запроса к базе данных, должна быть так сформулирована, чтобы критерии однозначно и точно определяли данные, которые нужно найти в БД. Если же функция БИЗВЕЧЬ возвращает ошибку #ЗНАЧ! – значит в базе данных нет записей, соответствующих критериям поискового запроса. Если же возвращена ошибка #ЧИСЛО! – значит в базе данных более 1 одинаковой записи по данному критерию.

    В нашем случаи функция БИЗВЕЧЬ вернула одно значение – без ошибок. Эту функцию можно так же использовать для вывода целой строки за одну операцию без копирования функции в другие ячейки с другими аргументами. Чтобы избежать необходимости указывать новый критерий для каждой ее копии составим простую формулу, в которую добавим функцию СТОЛБЕЦ. Для этого:

    1. В ячейке A3 введите следующую формулу:
    2. Скопируйте ее во все ячейки диапазона A3:E3.

    Выбрана целая строка информации по конкретной фамилии определенного клиента.

    Принцип действия формулы для вывода целой строки из базы данных:

    В конструкции функции БИЗВЕЧЬ изменили мы только второй аргумент, значение которого вычисляется функцией СТОЛБЕЦ в место числа 1. Данная функция возвращает номер текущего столбца для текущей ячейки.

    Читать еще:  Снять видео на вебку с эффектами

    Бесспорное преимущество использования функции БИЗВЛЕЧЬ заключается в автоматизации. Достаточно лишь изменить критерий и в результате мы получаем уже новую строку информации из базы данных клиентов фирмы. Например, найдем данные теперь по номеру клиента 58499. Удаляем старый критерий вводим новый и сразу же получаем результат.

    Данную задачу можно было бы решить и с помощью сложных формул с комбинациями функций ИНДЕКС, ПОИСКПОЗ, ВПР, ПРОСМОТР, но зачем изобретать велосипед? Функция БИЗВЛЕЧЬ прекрасно справляется с поставленной задачей и при этом весьма лаконична.

    Обработка баз данных в Excel по нескольким критериям

    Допустим нашу базу пополнил новый прибыльный клиент с таким же именем «Василий». Нам известно о нем только имя и фамилия «Василий Великий». На именины в день Василия нам нужно выслать только 1 подарок для более прибыльного клиента фирмы. Мы должны выбрать кому отдать предпочтение: Василию Веселому или Василию Великому. Для этого сравниваем их суммы транзакций:

    1. Расширьте диапазон для просматриваемой таблицы $A$5:$E$18 в параметрах формул, так как у нас добавился новый клиент и на одну запись стало больше: Теперь функция возвращает ошибку #ЧИСЛО! так как в базе более чем 1 запись по данному критерию.
    2. В поле критериев «Имя» вводим значение «Василий», а потом в поле «Фамилия» вводим значение «Великий».

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

    Функция БИЗВЛЕЧЬ() в EXCEL

    Функция БИЗВЛЕЧЬ() , английский вариант DGET(), извлекает из столбца (списка) или таблицы отдельное значение, удовлетворяющее заданным условиям.

    Функция БИЗВЛЕЧЬ() относится к наиболее редко используемым функциям и этому есть объективные причины. Рассмотрим синтаксис этой функции и причины ее непопулярности.

    Синтаксис функции БИЗВЛЕЧЬ()

    Для использования этой функции требуется чтобы:

    • исходная таблица имела заголовки столбцов;
    • критерии должны были оформлены в виде небольшой таблицы с заголовками;
    • заголовки таблицы критериев совпадали с заголовками исходной таблицы (если критерий не задается формулой).

    БИЗВЛЕЧЬ( база_данных;поле;условия ) База_данных представляет собой диапазон ячеек с данными связанными логически, т.е. таблицу. Верхняя строка таблицы должна содержать заголовки всех столбцов. В Базе_данных строки называются записями, а столбцы — полями. Поле — заголовок столбца, из которого выводится значение, если выполняется условие. Аргумент Поле можно заполнить введя:

    • текст, представляющий собой название одного из заголовков Базы_данных . Текст указывается в двойных кавычках, например «Возраст» или «Урожай»,
    • число (без кавычек), задающее положение столбца в Базе_данных : 1 — для первого столбца, 2 — для второго и т.д.
    • ссылку на заголовок столбца.

    Условия — интервал ячеек, который содержит задаваемые условия (т.е. таблица критериев). Структура таблицы с критериями отбора для БИЗВЛЕЧЬ() аналогична структуре для Расширенного фильтра и, например, функции БДСУММ() .

    Если ни одна из записей не удовлетворяет условию, функция БИЗВЛЕЧЬ() возвращает значение ошибки #ЗНАЧ!

    Если условию удовлетворяет более чем одна запись, функция БИЗВЛЕЧЬ() возвращает значение ошибки #ЧИСЛО!

    Задачи

    Предположим, что в диапазоне A 10:С15 имеется таблица продаж ( База_данных ), содержащая поля (столбцы) Товар , Продавец и Продажи (см. файл примера ).

    Сформулируем задачи в виде вопросов.

    Вопрос 1 (Продал ли Мясо Продавец Белов ? Если продал, то за сколько?). Найдем строку, в которой в столбце Товар содержится значение Мясо , а столбце Продавец содержится значение Белов . Если такая строка есть в таблице, то выведем соответствующее значение из столбца Продажи .

    • Создадим табличку критериев (желательно над исходной таблицей, чтобы она не мешала добавлению новых данных в таблицу), состоящую из заголовка (совпадает с названием заголовка столбца исходной таблицы, к которому применяется критерий) и собственно критерия (условия отбора);

    • Условия отбора должны быть записаны в специальном формате: =»=Мясо» (будет производиться поиск в столбце Товар только значений точно совпадающих со словом Мясо (или мясо , МЯСО , т.е. без учета регистра). Если написать условие не в виде =»=Мясо», а просто ввести в ячейку значение Мясо , то условию будут удовлетворять текстовые строки, которые содержат слово Мясо , например, « СвежееМЯСО», «Мясо барана» и пр.)
    • Предполагаем, что база_данных (исходная таблица) находится в A10:C15 . С10 – это ссылка на заголовок столбца, из которого выводится значение, если выполняется условие. B4:С5 – ссылка на табличку критериев (см. рисунок выше) Итоговая формула выглядит так =БИЗВЛЕЧЬ(A10:C15;C10;B4:C5)

    Как видно из исходной таблицы, условиям удовлетворяет вторая запись в таблице, поэтому будет выведено соответствующее значение из столбца С (450).

    Вроде функция не плохо справляется, но что произойдет, если в таблице нет удовлетворяющих критерию записей? Функция вернет значение ошибки #ЗНАЧ! A что произойдет, если в таблице 2 и более записи удовлетворяющие критерию? Функция вернет значение ошибки #ЧИСЛО! К сожалению, в EXCEL нет функции, умеющей различать эти ошибки: для ЕОШ() , ЕОШИБКА() , ЕСЛИОШИБКА() эти ошибки неразличимы. Т.е. пользователю нужно помнить какой вид ошибки возвращается в каждом случае и принимать в зависимости от этого решение — это не удобно.

    Таким образом, функция БИЗВЛЕЧЬ() НЕ возвращает ошибку только в случае, если удовлетворяющая критерию запись единственная. Более логичным решением выглядит формула =СУММПРОИЗВ((A11:A15=»Мясо»)*((B11:B15)=»Белов»)*C11:C15) , которая возвращает ошибку только в случае, если запись удовлетворяющая критерию не обнаружена. Если обнаружено 2 и более записи, то соответствующие значения суммируются.

    Читать еще:  Цифры вместо букв в excel 2020

    Вопрос 2 (Есть ли товар ФРУКТЫ (с учетом регистра)?). Выполним поиск в столбце Товар слова ФРУКТЫ с учетом регистра (например, слово фрукты не будет удовлетворять условию поиска).

    В качестве условия отбора можно использовать значение, вычисляемое при помощи формулы. Формула должна возвращать результат ИСТИНА или ЛОЖЬ. Для этого введем в ячейку С3 файла примера формулу =СОВПАД(«ФРУКТЫ»;A11) , а в С2 вместо заголовка введем произвольный поясняющий текст, например, « ФРУКТЫ с учетом регистра » (заголовок не должен повторять заголовки исходной таблицы).

    Записать формулу можно так =БИЗВЛЕЧЬ(A10:A15;A10;C2:C3) Результат — слово ФРУКТЫ (значит такое слово есть в диапазоне А10:А15 и оно единственное).

    Альтернативная формула: =ЕСЛИ(СУММПРОИЗВ(—СОВПАД(«ФРУКТЫ»;A11:A15));»ФРУКТЫ»;»Нет»)

    Вопрос 3 (Есть ли продавец с фамилией начинающейся на Ро ?). Выполним поиск в столбце Продавец с использованием подстановочного знака *.

    В качестве условия можно записать в ячейке B3 формулу =»=Ро*»

    Формула =БИЗВЛЕЧЬ(B10:B15;B10;B2:B3) вернет слово Рощин (значит в диапазоне B10:B15 имеется такая фамилия и она единственная начинается на Ро ).

    В этом случае гораздо предпочтительнее выглядит формула =ВПР(«Ро*»;B11:B15;1;ЛОЖЬ) , т.к. не требуется создавать отдельную табличку с критериями и в случае наличия нескольких фамилий начинающихся на Ро , будет выведена первая фамилия, а не ошибка #ЧИСЛО!, как в случае с функцией БИЗВЛЕЧЬ() .

    Вопрос 4 (Есть ли продавец с фамилией длиной 5 букв?). Выполним поиск в столбце Продавец с использованием подстановочного знака ?.

    В качестве условия можно записать в ячейке А3 формулу =»=. «

    Формула =БИЗВЛЕЧЬ(B10:B15;B10;A2:A3) вернет ошибку #ЧИСЛО! (т.к. таких фамилий несколько).

    В этом случае гораздо предпочтительнее выглядит формула =ВПР(«. «;B11:B15;1;ЛОЖЬ) , по тем же причинам, что и в предыдущей задаче.

    Вывод : забудьте про функцию БИЗВЛЕЧЬ() , если только Вы не на 100% уверены в том, что в таблице гарантировано имеются данные удовлетворяющие критериям, причем в единственном экземпляре.

    Трюк №80. Трюк с одной функцией баз данных Excel, чтобы она работала вместо нескольких функций

    Функции баз данных Excel, например, БДСУММ (DSUM), БСЧЁТ (DCOUNT) и другие могут работать вместо, возможно, тысяч функций, сокращая, таким образом, и время пересчета, и объем рабочей книги. При работе с функциями баз данных Excel можно указать до 256 различных критериев.

    Может понадобиться, например, суммировать значения в столбце А, только если соответствующие значения в столбце В больше 100, а соответствующий возраст в столбце С меньше 40. Если, однако, вы хотите суммировать те значения, для которых соответствующие значения в столбце В меньше 50, понадобится использовать другую функцию и другой диапазон критерия. Было бы намного проще, если бы была только одна функция, для которой можно быстро и просто изменить критерий! Если вы раньше никогда не работали с функциями баз данных Excel, настоятельно рекомендуем познакомиться с ними, так как они прекрасно подходят для выделения статистической информации из базы данных или таблицы Excel.

    Чтобы увидеть, как это работает, задайте данные. Укажите те же заголовки столбцов, но в самих столбцах могут быть любые фиктивные данные. Присвойте этой таблице данных, включая все заголовки столбцов, имя AllData. Назовите лист Data. Добавьте еще один рабочий лист и назовите его Results. В ячейке А2 введите следующую формулу: =Data!A1.

    Скопируйте ее до ячейки F2, чтобы получить зеркальное отображение заголовков вашей таблицы. В ячейке A3 введите любое имя, присутствующее в таблице на листе с данными, например, John D. Затем в ячейке ВЗ введите формулу =DGET(AllData;В2;$А$2:$А$3), в русской версии Excel =БИЗВЛЕЧЬ(AllData;В2;$А$2:$А$3). Скопируйте эту формулу до ячейки F3 и отформатируйте ячейки C3:F3 нужным образом.

    Так как вы всегда ссылаетесь на ячейку A3, получая оттуда имя, было бы намного удобнее, чтобы в этой ячейке находился раскрывающийся список, содержащий все имена из таблицы данных. Для создания такого списка можно воспользоваться стандартной возможностью проверки Excel. Однако, так как исходный список имен находится на другом рабочем листе, нельзя сослаться на него как на список на том же листе, то есть указать стандартную ссылку на диапазон. Это ограничение можно легко обойти, присвоив имя столбцу Name исходной таблицы, а затем указав это имя как источник для списка проверки.

    Можно продвинуться еще дальше и использовать функцию БСЧЁТ (DCOUNT), чтобы узнать количество человек, для которых значение Full Cost больше одного указанного числа, а значение Percent Pa >

    Перейдите на лист Results, выделите ячейку АИ и выберите команду Данные → Проверка (Data → Val >

    В ячейке А12 введите формулу =Data!C1. Выделите ячейку В12 и введите следующую формулу: =Data!E1. Выделите ячейку А13 и введите следующую формулу: =»>»&А11. Выделите ячейку В13 и введите следующую формулу: =» =, >, Базы данных • Формулы • Функции

    Ссылка на основную публикацию
    Adblock
    detector