Ctrl shift enter excel не работает
Если вы работаете с 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 в то время, как были выделены некоторые символы в строке формул. Даже обычные формулы демонстрировали поведение массивов.
В следующих разделах описываются пять типов поведения при работе с массивами:
- Неявное пересечение (Implicit Intersection)
- Подъем (Lifting).
- Попарный подъем (Pairwise Lifting).
- Трансляция (Broadcasting).
- Усечение массива (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.
Читайте также: