Ctrl shift enter excel не работает

Обновлено: 03.07.2024

Если вы работаете с Excel изо дня в день, сочетания горячих клавиш помогут сократить рабочий день и сэкономить много времени. Кроме того, они также могут удивить ваших коллег и начальника, заставив их думать, что вы настоящий мастер Excel ))

«Вам не нужно знать все функции. Просто освоите те, которые вам нужны регулярно, и у вас все получится отлично ».

Вот список из 200+ сочетаний клавиш Excel, которые сэкономят вам массу времени.

Работа с книгой

  • Создайте новую пустую книгу - Ctrl N
  • Отображает диалоговое окно «Открыть» для открытия / поиска файла - Ctrl+O
  • Сохраняет книгу с текущим именем файла, расположением и типом файла. - Ctrl+S
  • Открывает диалоговое окно «Сохранить как». - F12
  • Открывает окно предварительного просмотра. - Ctrl+F2
  • Развернуть или восстановить окно выбранной книги. - Ctrl+F10
  • Свернуть книгу. - Ctrl+F9
  • Перейти к следующей книге. - Ctrl+Tab
  • Перейти к предыдущей книге. - Ctrl+Shift+Tab
  • Закрыть текущую книгу. - Alt+F4

Редактирование ячеек

  • Редактировать активную ячейку. - F2
  • Начать новую строку в той же ячейке. - Alt+Enter
  • Выберите один символ справа от курсора. - Shift + →
  • Выберите один символ слева от курсора. - Shift + ←
  • Перейти на одно слово справа от курсора. - Ctrl + →
  • Перейти на одно слово слева от курсора. - Ctrl + ←
  • Выберите одно слово справа от курсора. - Ctrl + Shift + →
  • Выберите одно слово слева от курсора. - Ctrl + Shift + ←
  • Удалить один символ слева от курсора. - Backspace
  • Удалить символ справа от курсора. - Delete
  • Удалить до конца строки (от курсора). - Ctrl + Delete
  • Отменить запись. - Esc

Общие

  • Открывает справку. - F1
  • Повторяет последнюю команду или действие. - Ctrl+Y
  • Повторяет последнее действие. - F4
  • Отменить. - Ctrl+Z
  • Проверка орфографии. - F7
  • Применить фильтр данных. - Ctrl + Shift + L
  • Активировать фильтр (когда выбрана ячейка с фильтром). - Alt + ↓
  • Отобразить диалоговое окно "Перейти к". - F5
  • Отобразить диалоговое окно "Перейти к". - Ctrl + G
  • Пересчитать все книги. - F9
  • Рассчитать активный рабочий лист. - Shift + F9
  • Откройте меню печати. - Ctrl + P
  • Включите конечный режим. - End

Ввод данных

  • Активировать ячейку или двигаться вниз. - Enter
  • Активируйте и двигайтесь вверх. - Shift + Enter
  • Войдите и двигайтесь вправо. - Tab
  • Войдите и двигайтесь влево. - Shift + Tab
  • Введите одинаковые данные во все выбранные ячейки. - Ctrl + Enter
  • Показать список автозаполнения. - Alt + ↓
  • Заполнить. - Ctrl + D
  • Залить вправо. - Ctrl + R
  • Вставить текущую дату. - Ctrl + Shift + ;
  • Вставить текущее время. - Ctrl + Shift + :
  • Начать новую строку в той же ячейке. - Alt + Enter
  • Отменить ввод ячейки. - ESC

Навигация

  • Переместить на одну ячейку вверх. - ↑
  • Переместите одну ячейку вниз. - ↓
  • Переместите одну ячейку вправо. - →
  • Переместите одну ячейку влево. - ←
  • На один экран вниз. - PageDown
  • На один экран вверх. - PageUp
  • Переместите на один экран вправо. - Alt + PageDown
  • Переместите на один экран влево. - Alt + PageUp
  • Переместитесь к правому краю области данных. - Ctrl + →
  • Перейти к левому краю области данных. - Ctrl + ←
  • Переместитесь к нижнему краю области данных. - Ctrl + ↓
  • Перейти к верхнему краю области данных. - Ctrl + ↑
  • Переместитесь в нижнюю правую активную ячейку на листе. - Ctrl + End
  • Перейти к первой ячейке в текущей книге - Ctrl + Home
  • Перейти в начало ряда. - Home
  • Перейти к следующему листу. - Ctrl + PageDown
  • Перейти к предыдущему листу. - Ctrl + PageUp

Вырезать, копировать, вставить

Удаление

  • Очистить все - Alt + H + E + A
  • Только чистые форматы. - Alt + H + E + F
  • Только очистить содержимое. - Alt + H + E + C
  • Очистить только гиперссылки. - Alt + H + E + L
  • Удалить только комментарии. - Alt + H + E + M

Активация

  • Выберите текущую книгу / Выбрать все. - Ctrl + А
  • Выберите видимые ячейки в текущем регионе. - Alt + ;
  • Выберите текущую область вокруг активной ячейки. - Ctrl + Shift + *
  • Выберите всю строку. - Shift + Space
  • Выберите весь столбец. - Ctrl + Space
  • Выделите все ячейки, содержащие комментарии. - Ctrl + Shift + О
  • Выберите "Различия в строках". - Ctrl + \
  • Выберите "Различия в столбцах". - Ctrl + Shift +|
  • Выберите Прямые прецеденты. - Ctrl + [
  • Выбрать все прецеденты. - Ctrl + Shift +
  • Выберите Прямые иждивенцы. - Ctrl + ]
  • Выберите всех иждивенцев. - Ctrl + Shift + >
  • Отобразить диалоговое окно "Перейти к". - Ctrl + G

Выделение

  • Выделение вправо на одну ячейку. - Shift + →
  • Выделение влево на одну ячейку. - Shift + ←
  • Выделить вверх на одну ячейку. - Shift + ↑
  • Выделить на одну ячейку вниз. - Shift +↓
  • Расширьте выделение вправо до последней ячейки. - Ctrl + Shift + →
  • Расширьте выделение влево до последней ячейки. - Ctrl + Shift + ←
  • Расширить выделение вверх до последней ячейки. - Ctrl + Shift + ↑
  • Расширить выделение вверх на один экран. - Shift + PageUp
  • Расширить выделение на один экран вниз. - Shift + PageDown
  • Расширить выделение вправо на один экран. - ALT + Shift + PageUp
  • Расширить выделение влево на один экран. - ALT + Shift + PageDown
  • Расширить выделение до начала строки. - Shift + Home
  • Расширить выделение до первой ячейки на листе. - Ctrl + Shift + Home
  • Расширить выделение до последней ячейки на листе. - Ctrl + Shift + End
  • Переключить режим расширения выделения. - F8

Выравнивание

  • Выровняйте содержимое по центру ячейки. - Alt + H + A + C
  • Выровняйте содержимое по левому краю ячейки. - Alt + H + A + L
  • Выровняйте содержимое по правому краю ячейки. - Alt + H + A + R
  • Выровняйте содержимое по середине ячейки. - Alt + H + A + M

Скрыть / Показать (строки, столбцы, объекты)

  • Скрыть выбранные строки. - Ctrl + 9
  • Скрыть выбранные столбцы. - Ctrl + 0
  • Показать скрытые строки в выделении. - Ctrl + Shift + 9
  • Показать скрытые столбцы в выделении. - Ctrl + Shift + 0
  • Показать / скрыть объекты. - Ctrl + 6

Вставка

  • Вставить новую строку в той же ячейке - Alt + Enter
  • Вставить новый лист. - Shift + F11
  • Вставить строку / ячейку (показывает диалоговое окно). - Ctrl + Shift + =
  • Вставить текущую дату. - Ctrl + Shift + ;
  • Вставить текущее время. - Ctrl + Shift + :
  • Вставить таблицу. - Ctrl + Т
  • Вставить гиперссылку. - Ctrl + K
  • Вставьте имена аргументов в формулу. - Ctrl + Shift +A
  • Вставить / изменить комментарий к ячейке. - Shift+ F2
  • Удалить строку / ячейку (показывает диалоговое окно). - Ctrl + -

Форматирование

Связанные с формулами

  • Вставить формулу автосуммы. - Alt + =
  • При вводе формулы переключает ссылку на ячейку с абсолютной на относительную. - F4
  • Развернуть / свернуть панель формул. - Ctrl + Shift + U
  • Откройте диалоговое окно «Вставить функцию». - Shift + F3
  • Введите формулу как формулу массива. - Ctrl + Shift + Enter
  • Оцените часть формулы. - F9
  • Выберите массив, содержащий активную ячейку. - CTRL + /
  • Выберите все ячейки, на которые прямо или косвенно ссылаются формулы в выделенном фрагменте. - CTRL+ [
  • Выберите ячейки, содержащие формулы, которые прямо или косвенно ссылаются на активную ячейку. - CTRL + ]
  • Переключить отображение значения / формулы. - Ctrl + `
  • Повторно проверяет зависимые формулы, а затем вычисляет все ячейки во всех открытых книгах. - Ctrl+ Alt + Shift + F9

Поиск и замена

  • Отображение диалогового окна «Найти и заменить» («Найти выбранное»). - Ctrl + F
  • Отображение диалогового окна «Найти и заменить» («Заменить выбранное»). - Ctrl + H
  • Найти следующее совпадение. - Shift + F4
  • Найдите предыдущее совпадение. - Ctrl + Shift + F4

Условное форматирование

  • Откройте диалоговое окно условного форматирования. - Alt + O + D
  • Очистить условное обозначение из выбранных ячеек. - Alt + H + L + C + S
  • Очистить условное обозначение на всем листе. - Alt + H + L + C + E

Диаграммы

  • Вставляет диаграмму в рабочий лист (используя выбранные данные). - Alt + F1

Имена, диапазоны

  • Получите список всех определенных именованных диапазонов. - F3
  • Создать именованный диапазон из выделенного. - Ctrl + Shift + F3
  • Диалоговое окно определения имени. - Ctrl + F3

Сводная таблица

  • Отобразить диалоговое окно «Вставить сводную таблицу». - Alt + N + V
  • Откройте мастер сводной таблицы. - Alt + D + P
  • Выберите всю сводную таблицу (за исключением фильтров отчета). - Ctrl + A
  • Добавить / удалить галочку для выбранного поля в списке полей сводной таблицы. - Space
  • Сгруппируйте выбранные элементы сводной таблицы. - Alt + Shift + →
  • Разгруппируйте элементы сводной таблицы. - Alt + Shift + ←
  • Выберите следующий элемент в списке полей сводной таблицы или списке элементов. - ↓
  • Выберите предыдущий элемент в списке полей сводной таблицы или списке элементов. ↑
  • Выберите последний видимый элемент в списке. - End
  • Выберите первый видимый элемент в списке. - Home
  • Откройте список полей для активной ячейки. - Alt + ↓
  • Скрыть выбранный элемент или поле. - Ctrl + -
  • Открывает диалоговое окно «Расчетное поле» (когда выбрано поле данных). - Shift + Ctrl + =

Прочее

  • Восстановить размер окна. - Ctrl + F5
  • Переместить окно. - Ctrl + F7
  • Изменить размер окна. - Ctrl + F8
  • Предыдущее окно. - Ctrl + Shift + F6
  • Следующая панель. - F6
  • Предыдущая панель. - F8
  • Расширенный режим. - Shift + F10
  • Показать контекстное меню. - Shift + F6
  • Включает режим добавления к выделенному. - Shift + F8

Макросы

  • Переключайтесь между Excel Worksheet и редактором VBA. - Alt + F11
  • VB Help. - F1
  • Просмотр обозревателя объектов. - F2
  • Просмотр свойств. - F4
  • Просмотр окна кода. - F7
  • Просмотр немедленного окна. - Ctrl + G
  • Просмотр контекстного меню. - Shift + F10
  • Запустите Sub / UserForm. - F5
  • Шаг - F8
  • Переступить. - Shift + F8
  • Выйти. - Ctrl + Shift + F8
  • Перейти к курсору. - Ctrl + F8
  • Переключить точку останова. - F9
  • Очистить все точки останова. - Ctrl + F9
  • Закройте редактор VBA и вернитесь к таблице Excel. - Alt + Q

Отлично! Раз вы дочитали или просто долистали статью до конца, значит вам это нужно. Поэтому чтобы каждый раз не возвращаться к списку, просто скачайте его и распечатайте. СКАЧАТЬ . Так вы всегда будет видеть его перед глазами и запоминать сочетания если будете ими пользоваться.

На этом у меня всё. 🏁 Если вам понравился сегодняшний урок, ставьте лайки 👍 и подписывайтесь на канал. Если хотите посмотреть еще уроки загляните в СОДЕРЖАНИЕ , обязательно еще что-нибудь присмотрите )) Спасибо!


Ctrl Shift-Enter является одним из ярлыков, используемых в Excel для выполнения расчетов с формулами массива. Он поддерживает в выполнении сложных расчетов с использованием стандартных функций Excel. Он широко используется в формулах массива для применения функций и формул к набору данных. Совместное использование Ctrl Shift-Enter помогает конвертировать данные в формат массива, состоящий из нескольких значений данных в Excel. Он также поддерживает различие между обычной формулой и формулой массива. Благодаря этому ярлыку есть два основных преимущества, таких как работа с набором значений за раз, а также возврат нескольких значений за раз.

Объяснение Ctrl Shift-Enter в Excel

  • Прежде чем использовать комбинацию клавиш CTRL SHIFT-ENTER, нам нужно больше узнать о массивах. Массивы - это набор данных, включающий текстовые и числовые значения в нескольких строках и столбцах или только в одной строке и столбце. Например, Array = (15, 25, -10, 24).
  • Чтобы ввести вышеуказанные значения в массив, нам нужно ввести CTRL SHIFT + ENTER после выбора диапазона ячеек. В результате получается массив Array = (= (15, 25, -10, 24)).
  • Как показано выше, фигурные скобки заключаются в формулу, приводя диапазон ячеек в одном горизонтальном массиве. Это сочетание клавиш работает в разных версиях Excel, включая 2007, 2010, 2013 и 2016 годы.
  • CTRL SHIFT-ENTER также работает для вертикальных и многомерных массивов в Excel. Этот ярлык работает для различных функций, которые требуют использования данных в диапазоне ячеек. Он эффективно используется в различных операциях, таких как определение суммы и выполнение умножения матриц.

Как использовать Ctrl Shift-Enter в Excel?

CTRL SHIFT-ENTER используется во многих приложениях в Excel.

  • Создание формулы массива в матричных операциях, таких как умножение.
  • Создание формулы массива при определении суммы множества значений.
  • Замена сотен формул только одной формулой массива или суммирование диапазона данных, который соответствует определенным критериям или условиям.
  • Подсчет количества символов или значений в диапазоне данных в Excel.
  • Суммирование значений, представленных в каждом n-м столбце или строке в пределах нижней и верхней границ.
  • Выполнение задачи по созданию простых наборов данных в короткие сроки.
  • Расширение формулы массива до нескольких ячеек.
  • Определение среднего, минимального, максимального, агрегированного и массива выражений.
  • Возврат результатов в несколько ячеек с использованием формул массива.
  • Использование CTRL SHIFT-ENTER в функциях IF.

Примеры Ctrl Shift-Enter в Excel

Ниже приведены примеры управления Excel Shift-Enter.

Пример № 1 - Определить сумму

Этот пример иллюстрирует использование Ctrl SHIFT-ENTER при расчете суммы продаж, созданных для разных продуктов. Следующие данные рассматриваются для этого примера.


Шаг 1: Поместите курсор в пустую ячейку, где вы хотите рассчитать общую сумму продаж продукта.


Шаг 2: введите формулу как сумма = сумма (D6: D11 * E6: E11), как показано на рисунке ниже.


Шаг 3: После ввода формулы нажмите CTRL SHIFT-ENTER, чтобы преобразовать общую формулу в формулу массива.


Шаг 4: Открывающая и закрывающая скобки добавляются в формулу суммы. Результат получается так, как показано на рисунке.


Шаг 5: Проверьте результат определения итога с помощью общей процедуры, которую мы использовали.


Результат, полученный в результате двух процедур, одинаков. Но использование формулы массива с помощью клавиши CTRL SHIFT ENTER позволяет легко определить общий объем продаж, исключив вычисление дополнительного столбца промежуточной суммы.

Пример №2. Определение суммы с использованием условия

Этот пример иллюстрирует использование Ctrl SHIFT-ENTER при расчете суммы продаж, сгенерированных для различных продуктов, с использованием условий. Следующие данные рассматриваются для этого примера.


Шаг 1: На первом шаге определите детали продавца и продукта, которые хотят рассчитать объем продаж, сгенерированный индивидуально. Рассмотрим продавца = John и Product = PC и введите эти данные в соответствующие ячейки, как показано на скриншоте ниже.


Шаг 2: Чтобы определить объем продаж, произведенных Джоном при продаже продуктов для ПК, формула

= СУММА (ЕСЛИ (((A2: A10 = F2) * (B2: B10 = F3)), (C2: C10)))


Шаг 3: Нажмите CTRL SHIFT-ENTER, чтобы получить желаемый результат, как показано на рисунке.


Шаг 4: Измените значения ячеек F2 и F3, чтобы определить продажи, произведенные другими лицами.


Таким образом, расчет сгенерированных продаж автоматизируется с помощью комбинации клавиш CTRL SHIFT-ENTER.

Пример № 3 - Определение обратной матрицы

Для этого примера рассмотрим следующую матрицу А.

Шаг 1: Введите матрицу A в лист Excel, как показано на рисунке ниже.


Диапазон матрицы B1: C2

Шаг 2: Выделите диапазон ячеек, чтобы расположить обратную матрицу A -1 на том же листе.


Шаг 3: После выделения диапазона ячеек введите формулу MINVERSE для вычисления обратной матрицы. Будьте внимательны при вводе формулы, чтобы все ячейки были выделены.


Шаг 4: Введите диапазон массива или матрицы, как показано на скриншоте.


Шаг 5: После успешного ввода функции MINVERSE используйте комбинацию клавиш CTRL SHIFT-ENTER, чтобы сгенерировать формулу массива, чтобы получить результаты всех четырех компонентов матрицы без повторного входа в другие компоненты. Преобразованная формула массива отображается как (= MINVERSE (B1: C2))


Шаг 6: Результирующая обратная матрица получается как:


То, что нужно запомнить

  • Ручной ввод скобок вокруг формулы не работает в Excel. Мы должны нажать сочетание клавиш CTRL SHIFT-ENTER.
  • Когда мы редактируем формулу массива, нам нужно снова нажать сочетание клавиш CTRL SHIFT-ENTER, поскольку скобки удаляются каждый раз, когда мы вносим изменения.
  • При использовании ярлыка необходимо выбрать диапазон ячеек, чтобы получить результат, прежде чем вводить формулу массива.

Рекомендуемые статьи

Это руководство по нажатию клавиши CTRL-Enter в Excel. Здесь мы обсудим 3 способа использования Ctrl Shift-Enter в Excel для определения суммы, обратной матрицы и суммы с помощью условия, а также примеры и загружаемый шаблон Excel. Вы можете посмотреть наши следующие статьи, чтобы узнать больше -

F4: повторить последнюю команду или действие. Например, если последнее, что вы ввели в ячейку, - это «привет», или если вы изменили цвет шрифта, щелкнув другую ячейку и нажав F4, вы повторили это действие в новой ячейке.

Ctrl+ F2: переключиться в режим предварительного просмотра.

F9 : рассчитать все листы во всех открытых книгах

Ctrl + Shift + U: развернуть или свернуть строку формул.

F11 : создать гистограмму на основе выбранных данных (на отдельном листе)

Alt + F1: создать встроенную гистограмму на основе выбранных данных (тот же лист)

Ctrl + F: поиск в электронной таблице или использование функции "Найти и заменить"

Ctrl + Tab : переключение между открытыми книгами

Alt + F8: создать, запустить, отредактировать или удалить макрос.

Alt + F11: открыть редактор Microsoft Visual Basic для приложений.

Перемещение по листу или ячейке

Стрелка влево / вправо: перемещение на одну ячейку влево или вправо

Ctrl + стрелка влево / вправо: переход к самой дальней ячейке влево или вправо в строке

Стрелка вверх / вниз: перемещение на одну ячейку вверх или вниз

Ctrl + стрелка вверх / вниз: переход к верхней или нижней ячейке столбца.

Ctrl + End : перейти к самой нижней правой используемой ячейке

F5 : перейдите в любую ячейку, нажав F5 и введя координаты ячейки или имя ячейки.

Home : перейти к крайней левой ячейке в текущей строке (или перейти к началу ячейки при редактировании ячейки)

Page Up / Down : перемещение на один экран вверх или вниз по листу.

Alt + Page Up / Down: перемещение на один экран вправо или влево по листу.

Ctrl + Page Up / Down: переход к предыдущему или следующему листу

Выбор ячеек

Shift + стрелка влево / вправо: расширить выделение ячейки влево или вправо.

Ctrl + Shift + Space: выделить весь рабочий лист

Редактирование ячеек

Shift + F2: добавить или отредактировать комментарий к ячейке.

Ctrl + X: вырезать содержимое ячейки, выбранных данных или выделенного диапазона ячеек.

Ctrl + C или Ctrl + Insert: копирование содержимого ячейки, выбранных данных или выделенного диапазона ячеек.

Ctrl + V или Shift + Insert: вставить содержимое ячейки, выбранных данных или выделенного диапазона ячеек.

Ctrl + Alt + V: открыть диалоговое окно Специальная вставка.

Delete: удалить содержимое ячейки, выбранных данных или выбранного диапазона ячеек.

Alt + Enter: вставить жесткий возврат в ячейку (при редактировании ячейки)

F3: вставить имя ячейки (если ячейки указаны на листе)

Esc: отменить запись в ячейке или строке формул

Enter: заполните запись в ячейке или строке формул.

Форматирование ячеек

Ctrl + B : добавление или удаление жирным шрифтом содержимого ячейки, выбранных данных или выделенного диапазона ячеек.

Ctrl + I: добавить или удалить курсив к содержимому ячейки, выбранным данным или выбранному диапазону ячеек.

Ctrl + U: добавить или удалить подчеркивание содержимого ячейки, выбранных данных или выделенного диапазона ячеек.

Это перевод главы книги Bill Jelen. Excel Dynamic Arrays Straight to the Point. К содержанию.

Почему формулы массива (Ctrl+Shift+Enter) были так сложны для понимания?

Если вы когда-либо вводили Ctrl+Shift+Enter, эта глава прольет свет, почему формулы массива были столь трудными в использовании в предыдущих версиях Excel. Для начала несколько вопросов о работе прежних версий Excel. Я не ожидаю, что все ваши ответы будут правильными. Попробуйте угадать. Далее по ходу главы я внесу ясность в эти вопросы.

Вопрос 1. Если в ячейку D8 вы введете =B4:B14, каков будет результат?


Рис. 44. Что вы получите, если в старом Excel в одной ячейке попытаться вернуть много значений?

Вопрос 2. Если вы введете =B2:B14 в ячейку D16. Что вы получите? Ответ такой же, как и для вопроса 1? Или иной?

Вопрос 3. Что вернет формула =СУММ(C2:E2*B5:B7)?


Рис. 45. Сумма произведений двух массивов

Вопрос 4. Чему равно =СУММ(ДЛСТР(A4:A15))? Будут ли результаты разными, если:

  • ввести формулу и нажать Enter;
  • ввести формулу и нажать Ctrl+Shift+Enter;
  • ввести в ячейку С4 формулу =ДЛСТР(A4), скопировать ее вниз до С15, суммировать значения в диапазоне С4:С15.


Рис. 46. Функция ДЛСТР ожидает в качестве аргумента одну ячейку

В прошлом я мог взять сложную формулу массива из книги Майка Гирвина Ctrl+Shift+Enter и использовать ее. Я иногда мог объяснить, как она работает. Для этого я открывал диалоговое окно Вычисление формулы на вкладе Формулы. Однажды я даже целый час говорил о формулах массива на мероприятии в Люцерне, Швейцария. Экхард Пфайффер присутствовал при этом и даже кивнул мне, подтверждая, что я не полностью ошибаюсь в своем понимании. Правда, я говорил по-английски для немецкоговорящей аудитории, так что, возможно, я ошибался довольно часто, но слушатели были слишком вежливы, чтобы указать мне на это.

Но я никогда по-настоящему не понимал формулы массивов, пока не посмотрел презентацию Джо Макдэйда о формулах массивов в прежних версиях Excel.

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

Краткий глоссарий

  • Старый Excel: Excel, который не поддерживает формулы динамических массивов.
  • Скалярный: одно значение или одна ячейка.
  • Массив или вектор: много значений или много ячеек прямоугольного диапазона.

Старый Excel использовал массивы гораздо чаще, чем мы думаем

В старом Excel вы использовали массивы в следующих случаях:

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

В следующих разделах описываются пять типов поведения при работе с массивами:

  1. Неявное пересечение (Implicit Intersection)
  2. Подъем (Lifting).
  3. Попарный подъем (Pairwise Lifting).
  4. Трансляция (Broadcasting).
  5. Усечение массива (Array Truncation).

Неявное пересечение

Неявное пересечение возникает, когда диапазон передается в формулу, ожидающую скаляр (одно значение), и Excel выбирает значение в той же строке или столбце, что и формула. Если в старом Excel вы введете =ДЛСТР($A$2:$A$7)[1] в ячейке В2, формула вернет значение 5, т.е. длину строки в ячейке А2.


Рис. 47. Неявное пересечение приводит к тому, что ответ основан на ячейке A2

Если вы введете эту же формулу в ячейке В4, ответ будет основан на ячейке А4:


Рис. 48. Скопируйте формулу в ячейку В4, и ответ будет основан на A4

Неявное пересечение работает и с горизонтальными диапазонами. Если ввести формулу =ДЛСТР(@$E$1:$J$1) в ячейку Е3, ответом будет длина строки Е1:


Рис. 49. ДЛСТР работает и с горизонтальными диапазонами

Неявное пересечение всегда работало в старом Excel. Мы просто не знали о нем, и поэтому не использовали. Однажды я выдал приз Гуру Excel за следующую формулу: =ВПР($A$2:$A$10;$F$2:$H$30;3;ЛОЖЬ). Эта формула одинакова во всем диапазоне D2:D10. Единственная причина, по которой она работает, заключается в том, что неявное пересечение указывает для формулы в D2 только на A2 из всего диапазона A2:A10… В D3 на А3, и т.д.


Рис. 50. В старом Excel можно использовать ВПР как функцию массива благодаря неявному пересечению

Нарушение неявного пересечения

Неявное пересечение терпит неудачу, когда вы вводите формулу в ячейку, которая не пересекает данные. Например, в ячейке G3:


Рис. 51. Если пересекаться не с чем, формула возвращает ошибку

Ошибка вернется, и когда Excel не сможет решить, с какой именно ячейкой использовать неявное пересечение. С В8, В9 или В10?


Рис. 52. Ошибка возвращается также, если формула пересекается с более чем одной ячейкой диапазона

В старом Excel формула =СУММ(В2:В6*С2:С6) в зависимости от того, в какой ячейке она вводилась, либо возвращала ошибку, либо выдавала результат перемножения двух значений с использованием неявного пересечения:


Рис. 53. Там, где в старом Excel не справляется функция СУММ на выручку приходит СУММПРОИЗВ

Если заменить СУММ на СУММПРОИЗВ, результат будет адекватным. Это связано с тем, что СУММПРОИЗВ игнорирует неявное пересечение.

Неявное пересечение – это то, что иногда приводило к ошибкам. Более того, часто вы не понимали, что виновато неявное пересечение.

Когда формула ожидает одно значение, а поступает массив, происходит подъем (lifting)

Что происходит, когда старый Excel ожидает одно значение, а вы предоставляете диапазон значений? Excel сформирует из этих значений массив, и функция вернет массив того же размера. Это называется подъем – подъем (или увеличение размерности) от скалярной величины к вектору.


Рис. 54. Функция ДЛСТР ожидает скаляр

Когда вы подаете на вход функции диапазон значений (вектор), Excel поднимает функцию и вычисляет в оперативной памяти 12 значений. Их можно увидеть, если выделить формулу в строке формул, и нажать F9, заменяя формулу значениями:


Рис. 55. В строке формул показан массив из 12 результатов работы функции ДЛСТР(А1:С4)

Усечение массива

Если вы попытаетесь использовать =ДЛСТР(A1:C4) в старом Excel, и введете формулу, нажимая Ctrl+Shift+Enter, Excel применит к функции подъем и вычислит 12 результатов. Но вернет только одно значение, соответствующее верхней левой ячейке диапазона A1:C4, или 3, потому что ДЛСТР( " Joe " ) = 3. Это иллюстрирует концепцию усечения массива.

Прим. Багузина. Массив может усекаться не до одной ячейки, о до нескольких. Например, выделите ячейки Е6:F7 и введите формулу массива . 12 значений, хранящиеся в памяти функции =ДЛСТР(A1:C4) будут представлены четырьмя результатами, соответствующими диапазону А1:В2.


Рис. 56. Усечение массива из 12 значений до четырех

Использование функции-оболочки в старом Excel

Распространенным подходом в старом Excel было использование функции массива ДЛСТР(A1:C4) внутри функции-оболочки. Например, вводя =СУММ(ДЛСТР(A1:C4)) и нажимая Ctrl+Shift+Enter в любом месте листа вы получите правильный результат – 67. Нажатие Ctrl+Shift+Enter блокирует неявное пересечение.


Рис. 57. Формула массива работает в старом Excel в любом месте листа

Ctrl+Shift+Enter также управляет размером выходных данных. Если вы предварительно выделите диапазон «правильного» размера, введете формулу, возвращающую массив, и нажмете Ctrl+Shift+Enter, вы заполните все ячейки в предварительно выделенном диапазоне.

Пять функций в старом Excel блокировали неявное пересечение и без использования Ctrl+Shift+Enter. Это: СУММПРОИЗВ, МУМНОЖ, МОБР, ЧСТРОК и ЧИСЛСТОЛБ.

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

Благодаря динамическим массивам вам больше не нужно беспокоиться о том, что неявное пересечение испортит результаты. Формула =СУММ(ДЛСТР(A1:C4)), введенная в любом месте листа без Ctrl+Shift+Enter, вернет правильный результат:


Рис. 58. Формула динамического массива в новом Excel не требует Ctrl+Shift+Enter

От подъема к попарному подъему

Если Excel ожидает два скалярных выражения, а вы предоставляете ему два массива, Excel применит к ним попарное поднятие. Например, в старом Excel нельзя получить корректный результат, просто введя формулу =+


Рис. 59. Два массива имеют одинаковое количество строк (четыре), но для их сложения нужно поместить векторы внутрь функции

А. Если вы введете формулу =+ в ячейку А1, и нажмете Enter или Ctrl+Shift+Enter, результат будет одинаковым = 2. Т.е., сумма двух первых элементов каждого массива. Б. Если выделить формулу =+ в строке формул, и нажать F9, формула вернет массив . В. Если выбрать диапазон С1:С4, ввести формулу =+ и нажать Ctrl+Shift+Enter, вычисленный в Б. диапазон отразится в С1:С4. Г. Корректное суммирование двух массивов можно получить, если поместить исходную формулу внутрь функции СУММ.

Трансляция приводит все массивы к одному размеру

Когда Excel имеет дело с массивом и скаляром, он расширяет скаляр до размерности массива. Просто размножая значение скаляра. Предположим, что у вас есть массив из трех строк по одному столбцу. Чтобы умножить его на скаляр (или массив из одной строки и одного столбца), Excel расширит этот скаляр теми же значениями до размера первого массива:


Рис. 60. Трансляция (или расширение) приводит два массива к одному размеру

Если поместить произведение массива и скаляра внутрь функции суммирования =СУММ(*3), вы получаете верный ответ = 18. Как обычно, вы можете ввести формулу =*3, и в строке формул нажать F9, чтобы увидеть, что Excel возвращает массив =.

Кстати о массивах констант. Они состоят из фигурных скобок со значениями внутри. Элементы в одной строке и разных столбцах разделяются точкой с запятой. Для перехода к следующей строке используется двоеточие. Например, массив соответствует:


Рис. 61. Синтаксис массива констант


Рис. 62. В случае массивов разных размеров формула может вернуть ошибку

Как описанное выше поведение влияет на динамические массивы?

Неявный оператор пересечения @ делает то, что уже было возможно и в старом Excel. Но оператор явно указывает на пересечение, что делает ваши действия более осмысленными. В старом Excel формулы массива работали только тогда, когда вы совершали какую-то магию. Например, Ctrl+Shift+Enter или СУММПРОИЗВ / МУМНОЖ. Последние позволяли отключить неявное пересечение. С появлением динамических массивов неявное пересечение отключено в Excel по умолчанию. Если всё же вам нужно использовать пересечение (ставшее явным) добавьте оператор @.

Почему Excel иногда добавляет оператор пересечения?


Рис. 63. Excel добавляет символ @, когда формула может использовать неявное пересечение

За те 15 месяцев, пока динамические массивы проходили бета-тестирование было много вопросов, почему Excel добавил @ к той или иной формуле. Джо Макдэйд вступал в долгую дискуссию о том, почему в определенные дни, когда Луна в такой-то фазе эта формула может вызвать неявное пересечение. Эти повторяющиеся дискуссии заставили меня осознать, что неявное пересечение в старом Excel происходило существенно чаще, чем я подозревал.


Рис. 64. Джо и команда Calc рассматривают массу сценариев, в которых может возникнуть неявное пересечение

Ответы на вопросы в начале главы

Вопрос 1. Если в ячейку D8 вы введете =B4:B14, каков будет результат?


Вопрос 2. Если вы введете =B2:B14 в ячейку D16. Что вы получите? Ответ такой же, как и для вопроса 1? Или иной?

Вопрос 3. Что вернет формула =СУММ(C2:E2*B5:B7)?

Благодаря трансляции Excel расширит массив до , а массив до . У вас будет два массива 3х3, и их перемножение даст массив 3х3 в каждой ячейке которого будет шестерка. А девять по шесть вернет 54:


Рис. 66. Произведение двух зеленых массивов даст 54

Вопрос 4. Чему равно =СУММ(ДЛСТР(A4:A15))? Будут ли результаты разными, если:

  • ввести формулу и нажать Enter;
  • ввести формулу и нажать Ctrl+Shift+Enter;
  • ввести в ячейку С4 формулу =ДЛСТР(A4), скопировать ее вниз до С15, суммировать значения в диапазоне С4:С15.


Рис. 67. В старом Excel используйте Ctrl+Shift+Enter, чтобы предотвратить неявное пересечение

В старом Excel, если ввести формулу =СУММ(ДЛСТР($A$4:$A$15)) в ячейки диапазоне С4:С15 и нажать Enter, то, из-за неявного пересечения они вернут длину той же строки из диапазоне А4:А15. Если ввести =СУММ(ДЛСТР(A4:A15)) в любом месте листа и нажать Ctrl+Shift+Enter, формула вернет 113. ДЛСТР ожидает один аргумент, но подъем заставляет функцию вычислить длину строки 12 раз. Если поместить ДЛСТР(A4:A15) внутрь функции СУММ, эти 12 значений будут суммированы. Варианты b) и c) идентичны.

[1] Поскольку у меня на ПК установлен новый Excel, при вводе формулы =ДЛСТР($A$2:$A$7) в ячейку В2 он разольет массив на диапазон В2:В7. Я использую оператор неявного пересечения @ в аргументе функции, чтобы подавить работу функции динамического массива, и вывести только одно значение. – Здесь и далее прим. Багузина.

[2] Ноль во втором или третьем аргументе означает, что формула вернет массив, включающий весь столбец или всю строку диапазона B4:F15.

Читайте также: