rss
  •  
Обучение Microsoft Excel: от основ до PowerBI

Как увидеть скрытые имена в файле?

| Категория: Приемы и советы, Формулы и функции |

8

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

Можно отобразить скрытые имена с помощью небольшого макроса:

unhidden-name.png

Чтобы воспользоваться данным алгоритмом, необходимо открыть редактор Visual Basic (клавиши Alt+F11) и вставить на лист модуля (если модуля нет, то выполнить команду InsertModule):

Sub Unhidden_Name()
Dim vName As Variant
For Each vName In ThisWorkbook.Names
vName.Visible = 1
Next vName
End Sub

Затем вернуться в окно Microsoft Excel, запустить выполнение макроса в окне Макросов (клавиши Alt+F8).

В окне Диспетчера имен (клавиши Ctrl+F3) будет сформирован список всех имен, при необходимости их можно и удалить.

Как получить по формуле несколько значений из списка по заданному критерию

| Категория: Приемы и советы, Формулы и функции |

14

Такие замечательные функции, как ВПР, ПОИСКПОЗ+ИНДЕКС, ГПР позволяют по известному критерию найти только одно значение из списка: самое первое при просмотре сверху вниз для вертикальных таблиц или самое первое при просмотре слева направо при просмотре слева направо. А что делать, если нужно получить не одно, а все значения. Например, выбрать для каждой компании объекты, которые ей подчиняются и не с помощью фильтрации, а именно по формулам. Найдем ответ и на эту задачу!

vprs1.png

Решение этой задачи будет с использованием формулы массива, поэтому необходимо заранее выделить предполагаемый диапазон ячеек (можно с запасом) и написать формулу, завершив её формулой массива, т.е. нажав клавиши Ctrl+Shift+Enter:

vprs2.png

Сперва в ответ получаем значения из таблицы, а когда они заканчиваются, то сообщение об ошибке. Подобное, как и всегда, можно убрать с применением функции ЕСЛИОШИБКА.

Разберем формулу “по косточкам”:

  • $C$2:$C$16 – диапазон ячеек-результата, т.е. объекты.
  • НАИМЕНЬШИЙ(Массив;K) – возвращает k-е наименьшее значение в множестве данных:
    Массив определяется по формуле: ЕСЛИ(D2:D16=$F$2;СТРОКА(D2:D16)-СТРОКА($D$1);””), т.е. проверяется в ячейках D2:D16 соответствие выбранной компании (критерий) в ячейке F2, а затем определяются позиции (номера по порядку) в выделенной области, но так как диапазон выделен без заголовков (с ячейки D2), то необходимо скорректировать на строку-заголовок, т.к. СТРОКА($D$1), а в случае если совпадение критерия не найдено, то позиция не определяется – “”.
    K – позиция в диапазоне данных.

vprs7.png

Окончательно формула будет выглядеть:

vprs5.png

В этом случае, порядок расположения объектов следует сверху вниз. Если требуется обратный порядок, т.е. снизу вверх, то функцию НАИМЕНЬШИЙ надо заменить на НАИБОЛЬШИЙ:

vprs6.png

В случае, если ответ необходимо получать данные то одного столбца, то другого, то необходимо расширить массив в функции ИНДЕКС и определить номер столбца с помощью функции ПОИСКПОЗ:

vprs8.png

Как определить номер квартала по дате

| Категория: Приемы и советы, Формулы и функции |

6

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

Первый способ – используем функции МЕСЯЦ, ЕСЛИ, И.

Определяем значение месяца с помощью функции МЕСЯЦ, а затем в функции ЕСЛИ, описываем 4 условия, каждое из которых отвечает за принадлежность того или иного месяца к определенному кварталу:

kv1.png

Второй способ – использование функций МЕСЯЦ, ЦЕЛОЕ.

Т.к. квартал – это каждые 3 последующих месяца в году, то можно с помощью функции МЕСЯЦ определить значение месяца, а затем к текущему значению месяца прибавить значение 2. Если полученную сумму разделить на 3 (количество месяцев в квартале), то целая часть числа будет соответствовать значению квартала:

kv3.png

Или, собрав всё в одну формулу, получаем простое решение:

kv4.png