Вводная статья для тех, кто никогда не использовал формулы массива.
Без формул массива (array formulas ) можно обойтись, т.к. это просто сокращенная запись группы однотипных формул. Однако, у формул массива есть серьезное преимущество: одна такая формула может заменить один или несколько столбцов с обычными формулами.
Например, можно найти сумму квадратов значений из диапазона А2:A12 , просто записав в ячейке B14 формулу =СУММ(A2:A12^2) . Для сравнения: чтобы найти сумму квадратов, используя обычные формулы, нам потребуется дополнительный столбец для вычисления квадратов значений и одна ячейка для их суммирования (см. файл примера или диапазон B 2 :B13 на рисунке ниже).
В отличие от ввода обычных формул, после ввода формулы массива нужно нажать вместо ENTER комбинацию клавиш CTRL+SHIFT+ENTER (поэтому, иногда, формулы массива также называются формулами CSE — это первые буквы от названия клавиш, используемых для ввода C trl, S hift, E nter). После этого формула будет обрамлена в фигурные скобки { } (их не вводят с клавиатуры, они автоматически появляются после нажатия CTRL+SHIFT+ENTER ). Это обрамление показано на рисунке выше (см. Строку формул ).
Если бы мы нажали просто ENTER , то получили бы сообщение об ошибке #ЗНАЧ!, возникающую при использовании неверного типа аргумента функции, т.к. функция СУММ() принимает в качестве аргумента только диапазон ячеек (или формулу, результатом вычисления которой является диапазон, или константы). В нашем случае мы в качестве аргумента ввели не диапазон, а некое выражение, которое еще нужно вычислить перед суммированием, поэтому и получили ошибку.
Чтобы глубже понять формулы массива проведем эксперимент:
- выделим ячейку B13 , содержащую обычную формулу =СУММ($B$2:$B$12) ;
- в C троке формул выделим аргумент функции СУММ() , т.е. $B$2:$B$12 ;
- нажмем клавишу F9 , т.е. вычислим, выделенную часть формулы;
- получим {1:4:9:16:25:36:49:64:81:100:121} – массив квадратов значений из столбца В . Массив – это просто набор неких элементов (значений).
Т.е. обычная функция СУММ() в качестве аргумента получила некий массив (или точнее ссылку на него).Теперь проведем тот же эксперимент с формулой массива:
- выделим ячейку, содержащую формулу массива =СУММ($A$2:$A$12^2) ;
- в строке формул выделим аргумент функции СУММ() , т.е. $A$2:$A$12^2 ;
- нажмем клавишу F9 , т.е. вычислим, выделенную часть формулы;
- получим {1:4:9:16:25:36:49:64:81:100:121} – тот же массив, что и в первом случае.
Т.е. нажатие CTRL+SHIFT+ENTER заставило EXCEL перед суммированием произвести промежуточные вычисления с диапазоном ячеек (с массивом содержащихся в нем значений). Для самой функции СУММ() ничего не изменилось – она получила тот же массив, только предварительно вычисленный, а не прямо из диапазона ячеек, как в случае с обычной формулой. Понятно, что вместо функции СУММ() в формуле массива может быть использована любая другая функция MS EXCEL: СРЗНАЧ() , МАКС() , НАИБОЛЬШИЙ() и т.п.
Вышеприведенный пример иллюстрирует использование функции массива возвращающей единственное значение, т.е. результат может быть выведен в одной ячейке. Это достигается использованием функций способных «свернуть» вычисленный массив до одного значения ( СУММ() , СРЗНАЧ() , МАКС() ). Примеры таких функций массива приведены в статье Формулы массива, возвращающие одно значение .
Формулы массива также могут возвращать сразу несколько значений. Понятно, что для того чтобы отобразить такой результат необходимо задействовать целый диапазон ячеек. Примеры таких функций приведены в статье Формулы массива, возвращающие несколько значений .
Преимущества и недостатки формул массива рассмотрены в одноименной статье Формулы массива. Преимущества и недостатки .
В файле примера также приведено решение данной задачи функцией СУММПРОИЗВ() , которая зачастую не требует введения ее как формулы массива: =СУММПРОИЗВ($A$2:$A$12^2)
Здесь, при вводе формулы СУММПРОИЗВ() нажимать CTRL+SHIFT+ENTER необязательно.
ПРИМЕЧАНИЕ : При создании Именованных формул и правил Условного форматирования формулы массива нельзя ввести нажимая CTRL+SHIFT+ENTER . Эти формулы вводятся только в ячейки листа. Однако, если формуле массива присвоить Имя , то EXCEL «сообразит», что нужно с ней нужно делать. Например, если формуле =СУММ($A$2:$A$12^2) присвоить имя Сумма_квадратов, а затем в ячейке указать =Сумма_квадратов , то получим правильный результат.
Bottom line: Learn a few quick ways to use the Ctrl+Enter keyboard shortcut to save time with entering data or formulas.
Skill level: Beginner
I had a few questions come in about the Ctrl+Enter keyboard shortcut I used in last week’s videos on the Progress Doughnut Chart. I mentioned this tip (#2) in my post on 17 Excel shortcuts for 2017, but thought I should explain it in more detail. Ctrl+Enter is a shortcut I use all the time when entering data or formulas.
#1 – Ctrl+Enter to Stay on the Active Cell
When editing a cell, pressing the Enter key will select the cell below the cell you are currently working in. This is the default behavior in Excel, and it allows us to quickly work our way down a list when entering data into cells.
If we hold the Ctrl key while pressing Enter, the selection will NOT move to the next cell. Instead, the cell that we just edited will remain selected. The cell we are editing is referred to as the active cell. So, Ctrl+Enter keeps the selection on the active cell after entering data or a formula.
When is it useful?
There are a lot of uses for this shortcut. In last week’s video I was entering the percentage completion number in the cell. I wanted to keep that cell selected so I could type a different number in it to see the change in the chart. I didn’t want to have to hit Enter, then up arrow back to the cell. Using Ctrl+Enter allowed me to keep the active cell selected and modify the cell again.
We might also want to keep the selection on the active cell so we can take the next step to apply formatting, fill down, fill across, adjust row height, or copy the cell.
This saves time from having to re-select the cell with the mouse or up arrow key. It might not seem like much, but think about how many times you have edited a cell and then wanted to make additional formatting changes or copy the cell. “If I had a nickle for every time I edited a cell…” 🙂
Change the Selection Direction After Pressing Enter
We can also control which cell is selected next after pressing the Enter key, or turn it off. This is a setting within Excel on the Excel Options menu.
To change the Direction After Pressing Enter setting:
- Go to File > Options.
- Click “Advanced” in the left side menu.
- The first option is “After pressing Enter, move selection”.
- We can choose the direction from the drop-down menu (Down, Right, Up, Left)
- We can also uncheck the checkbox to turn the feature off. This will keep the active cell selected after pressing enter.
If you don’t do much data entry, you might want to try turning the feature off and see how it works for you. You can still use the up and down arrow keys to select cells. This is totally a personal preference. It’s just good to know the option is available.
#2 – Ctrl+Enter to Fill All Selected Cells with the Same Data or Formula
When we are entering data or a formula in a cell, and have multiple cells selected, Ctrl+Enter will copy the data/formula to all of the selected cells.
In the screencast above I use Ctrl+Enter to fill all the selected cells with random numbers using the RANDBETWEEN function. This saves time from having to copy/paste or fill down and across.
Here are the steps to perform the Ctrl+Enter shortcut on multiple cells:
- Select a range of cells. It does NOT have to be a contiguous range.
- Type data or a formula in the active cell.
- Hold down the Ctrl key and press the Enter key.
- The data/formula is copied to all selected cells.
When is this useful?
This can save time when we want to enter the same data or formulas in multiple cells, especially if they are NOT in the same contiguous range.
If you just want to fill data or formulas down a column, then we can use the fill handle or copy/paste. However, if the cells that are NOT in the same row or column, then Ctrl+Enter can be a real time saver.
Select and Modify Non-Contiguous Cells with Go To Special
We can also use the Go To Special menu to select specific cells on the sheet like: blanks, numbers, errors, formulas, data validation, visible cells. The Go To Special menu helps us select all the cells of the same type.
The Go To Special Menu can be opened by pressing F5 on the keyboard, (Ctrl+G on the Mac) then pressing the Special… button in the bottom-left corner.
Once we have the cells selected, we can then edit the active cell and press Ctrl+Enter to copy the data/formula to all selected cells. The screencast below shows this in action.
Use Go To Special & Ctrl+Enter to Fill Blank Cells
Another good example of this technique is filling down values in non-contiguous ranges. In the screen cast below I have a report with region names in column A. The region names need to be filled down to the blank cells below in each area.
We can use the Go To Special menu to first select all the blank cells in column A. Then we can input a simple formula to reference the cell above, and press Ctrl+Enter to fill the formula to all blank cells. This fills all the blank cells with the value above.
This is much faster than copying down each area manually, especially if you have hundreds or thousands of rows of data.
Check out my article on how to copy & paste visible cells only for another example of how to use the Go To Special menu.
How do You use the Ctrl+Enter shortcut?
I hope those tips save a little time out of your busy day. How do you use Ctrl+Enter? Please leave a comment below with any suggestions, tips, or questions.
Thank you! 🙂
Терминология
Под массивом обычно понимают набор данных, объединенных в группу. Массивы бывают одномерные (элементы массива образуют строку или столбец) или двумерные (матрица). Легко сообразить, что почти в любой таблице Excel при желании можно найти один или несколько таких массивов:
Формулы массива в Excel — это специальные формулы для обработки данных из таких массивов. Формулы массива делятся на две категории — те, что возвращают одно значение и те, что дают на выходе целый набор (массив) значений. Рассмотрим их на простых примерах…
Пример 1. Классика жанра — товарный чек
Задача: рассчитать общую сумму заказа. Если идти классическим путем, то нужно будет добавить столбец, где перемножить цену и количество, а потом взять сумму по этому столбцу. Если же применить формулу массива, то все будет гораздо красивее:
- выделяем ячейку С7
- вводим с клавиатуры =СУММ(
- выделяем диапазон B2:B5
- вводим знак умножения (звездочка)
- выделяем диапазон C2:C5 и закрываем скобку функции СУММ — в итоге должно получиться так:
- чтобы Excel воспринял нашу формулу как формулу массива жмем не Enter, как обычно, а Ctrl + Shift + Enter
Вуаля!
Т.е. Excel произвел попарное умножение элементов массивов B2:B5 и C2:C5 и образовал новый массив стоимостей (в памяти компьютера), а затем сложил все элементы этого нового массива.
Обратите внимание на фигурные скобки, появившиеся в формуле — отличительный признак формулы массива. Вводить их вручную с клавиатуры бесполезно — они автоматически появляются при нажатии Ctrl + Shift + Enter.
Пример 2. Разрешите Вас… транспонировать?
При работе с таблицами часто возникает необходимость поменять местами строки и столбцы, т.е. развернуть таблицу на бок, чтобы данные, которые раньше шли по строке, теперь располагались в столбцах и наоборот. В математике такая операция называется транспонированием. При помощи формулы массива и функции ТРАНСП (TRANSPOSE) это делается на раз.
Допустим, имеем двумерный массив ячеек, который хотим транспонировать.
- Выделяем диапазон ячеек для размещения транспонированной таблицы. Поскольку исходный массив ячеек был 8 строк на 2 столбца, то надо выделить диапазон пустых ячеек размером 2 строки на 8 столбцов.
- вводим функцию транспонирования =ТРАНСП(
- в качестве аргумента функции выделяем наш массив ячеек A1:B8
жмем Ctrl + Shift + Enter и получаем «перевернутый массив» в качестве результата:
Редактирование формулы массива
Если формула массива расположена не в одной ячейке (как в Примере 1), а в нескольких ячейках (как в Примере 2), то Excel не позволит редактировать или удалить одну отдельно взятую формулу (например в ячейке D10) и выдаст предупреждающее сообщение Невозможно изменить часть массива.
Для редактирования формулы массива необходимо выделить весь диапазон (A10:H11 в нашем случае) и изменить формулу в строке формул (или нажав F2). Затем необходимо повторить ввод измененной формулы массива, нажав сочетание клавиш Ctrl + Shift + Enter.
Excel также не позволит свободно перемещать ячейки, входящие в формулу массива или добавлять новые строки-столбцы-ячейки в диапазон формулы массива (т.е. в диапазон A10:H11 в нашем случае)
Пример 3. Таблица умножения
Вспомните детство, школу, свою тетрадку по математике… На обороте тетради на обложке было что? Таблица умножения вот такого вида:
При помощи формул массива она вся делается в одно движение:
- выделяем диапазон B2:K11
- вводим формулу =A2:A11*B1:K1
- жмем Ctrl + Shift + Enter, чтобы Excel воспринял ее как формулу массива
и получаем результат:
Пример 4. Выборочное суммирование
Посмотрите как при помощи одной формулы массива красиво и легко выбираются данные по определенному товару и заказчику:
В данном случае формула массива синхронно пробегает по всем элементам диапазонов C3:C21 и B3:B21, проверяя, совпадают ли они с заданными значениями из ячеек G4 и G5. Если совпадения нет, то результат равенства ноль, если совпадение есть, то единица. Таким образом суммы всех сделок, где заказчик не ANTON и товар не Boston Crab Meat умножаются на ноль и суммируются только нужные заказы.
Ссылки по теме
- Формула массива для извлечения непустых ячеек из диапазона
- Формула массива для извлечения уникальных ячеек из диапазона
- Формула массива для извлечения данных из списка (многоразовый ВПР)
Ctrl Shift-Enter in Excel (Table of Contents)
- Explanation of Ctrl Shift-Enter in Excel
- Examples of Excel Control Shift-Enter
Excel Ctrl Shift-Enter
Ctrl Shift-Enter is one of the shortcuts used in Excel to perform the calculations with array formulae. It supports in performing complex calculation using the standard excel functions. It is widely used in the array formulae to apply functions and formulas on a set of data. The use of Ctrl Shift-Enter together helps in converting the data into an array format which consists of multiple data values in excel. It also supports in differentiation between the regular formula and array formula. With this shortcut, there are two major advantages, such as dealing with a set of values and returning the multiple values at a time.
Explanation of Ctrl Shift-Enter in Excel
- Before we use the shortcut CTRL SHIFT-ENTER, we need to understand more about the arrays. Arrays are the collection of the data, including text and numerical values in multiple rows and columns or only in a single row and column. For example, Array = {15, 25, -10, 24}.
- To enter the above values into an array, we need to enter CTRL SHIFT+ENTER after the selection of the range of cells. It results in the array as Array= {= {15, 25, -10, 24}}.
- As shown above, braces are enclosed to the formula by resulting in the range of cells in a single horizontal array. This keyboard shortcut works in different versions of Excel, including 2007, 2010, 2013, and 2016.
- CTRL SHIFT-ENTER also works for vertical and multi-dimensional arrays in Excel. This shortcut works for different functions that require the use of data in a range of cells. It is effectively used in various operations like determining sum and performing matrix multiplication.
How to Use Ctrl Shift-Enter in Excel?
CTRL SHIFT-ENTER is used in many applications in Excel.
You can download this CTRL Shift-Enter Excel Template here – CTRL Shift-Enter Excel Template
- Creation of array formula in matrix operations such as multiplication.
- Creation of array formula in determining the sum of the set of values.
- Replacing the hundreds of formulas with only a single array formula or summing the range of data that meets specific criteria or conditions.
- Counting the number of characters or values in the range of data in Excel.
- Summing the values presented in every nth column or row within low and upper boundaries.
- Performing the task of the creation of simple datasets in a short time.
- Expanding the array formula to multiple cells.
- Determining the Average, Min, Max, Aggregate, and array expressions.
- Returning the results in multiple and single cells applying the array formulas.
- Use of CTRL SHIFT-ENTER in IF functions.
Examples of Ctrl Shift-Enter in Excel
Below are the examples of excel control shift-enter.
Example #1 – To Determine Sum
This example illustrates the use of Ctrl SHIFT-ENTER in calculating the sum of sales generated for different products. The following data is considered for this example.
Step 1: Place the cursor in the empty cell where you want to produce the worth of the product’s total sales.
Step 2: Enter the formula as total = sum (D6:D11*E6: E11) as shown in the below image.
Step 3: After entering the formula, press CTRL SHIFT-ENTER to convert the general formula into an array formula.
Step 4: The opening and closing braces are added to the sum formula. The result is obtained as shown in the image.
Step 5: Check the result determining total with the general procedure we used.
The result obtained from the two procedures is the same. But, using the array formula with CTRL SHIFT ENTER is easy in determining total sales by eliminating the calculation of an additional column of the subtotal.
Example #2 – Determine the Sum using Condition
This example illustrates the use of Ctrl SHIFT-ENTER in calculating the sum of sales generated for different products using the conditions. The following data is considered for this example.
Step 1: In the first step, determine the details of the seller and product that want to calculate sales generated individually. Consider Seller =John and Product = PC and enter these details into respective cells as shown in the below screenshot.
Step 2: To determine the sales generated by John in selling PC products, the formula is
=SUM (IF (((A2:A10=F2)*(B2:B10=F3)), (C2:C10)))
Step 3: Press CTRL SHIFT-ENTER to have the desired result as shown in the image.
Step 4: Change the values of F2 and F3 cells to determine sales generated by other persons.
In this way, the calculation of sales generated is automated using the shortcut CTRL SHIFT-ENTER.
Example #3 – Determining the Inverse Matrix
For this example, consider the following matrix A.
Let A = 10 8
4 6
Step 1: Enter matrix A into the Excel sheet as shown in the below-mentioned image.
The range of the matrix is B1: C2.
Step 2: Highlight the range of cells to position the inverse matrix A-1 on the same sheet.
Step 3: After highlighting the range of cells, input the formula of MINVERSE to calculate the inverse matrix. Take care during inputting the formula that all cells are highlighted.
Step 4: Enter the range of the array or matrix as shown in the screenshot.
Step 5: Once the MINVERSE function is entered successfully, use the shortcut CTRL SHIFT-ENTER to generate the array formula to have the results of all four components of the matrix without reentering to other components. The converted array formula is shown as {=MINVERSE (B1: C2)}
Step 6: The resultant inverse matrix is produced as:
Things to Remember
- Manual entering of braces surrounding the formula doesn’t work in Excel. We should press the shortcut CTRL SHIFT-ENTER.
- When we edit the array formula, we need to press the shortcut CTRL SHIFT-ENTER again since the braces are removed every time we make changes.
- While using the shortcut requires selecting the range of cells to result in the output before entering the array formula.
Recommended Articles
This is a guide to CTRL Shift-Enter in Excel. Here we discuss 3 ways to use Ctrl Shift-Enter in excel to determine the sum, inverse matrix, and sum using condition along with examples and downloadable excel template. You may look at our following articles to learn more –
- Excel CTRL D
- Inverse Matrix in Excel
- Excel Correlation Matrix
- MINVERSE in Excel
Формулы массива довольно редко используются и, кроме того довольно трудны. Тем не менее, похоже, вы готовы прочитать о них целую книгу! На это может быть несколько причин:
- Вы любите магию и колдовство Excel.
- Вы умеете создавать некоторые формулы, и хотите сделать следующий шаг в освоении Excel.
- Вы слышали о формулах массива и знаете, что в некоторых ситуациях, они являются наиболее эффективным решением, но понятия не имеете, как их создавать.
- Вы используете формулы массива и наслышаны о некоторых их недостатках (например, медленной работе), и вы хотите узнать, как создавать более эффективные формулы массива.
Так начинается книга Майкла Гирвина, целиком посвященная формулам массива. Надо заметить, что с недавних пор я начал использовать формулы массива, но всё еще чувствую себя новичком в этом деле. Я перечитал всё что смог найти на эту тему в русскоязычной литературе (см., например, Excel. Введение в формулы массива, Excel. Некоторые примеры использования формул массива), и не удовлетворившись, нашел вот такую книгу на английском:
Скачать введение и главы 1 и 2 в формате Word или pdf, примеры в формате Excel: Введение. Примеры, Глава 02. Примеры
Введение
Глава 1. Основы формул Excel
Глава 2. Введение в формулы массива
Глава 3. Математические операции с массивами
Глава 4. Сравнение массивов и выборки по одному или нескольким условиям
Глава 5. Оператор конкатенации массивов
Глава 6. Использование массива, как аргумента функции
Глава 7. Массивы констант
Глава 8. Формулы массива, возвращающие более одного значения
Глава 9. Знакомство с функциями массива. ТРАНСП, МОДА.НСК и ТЕНДЕНЦИЯ
Глава 10. Удивительные функции СУММПРОИЗВ и СУММЕСЛИМН
Глава 11. Булева логика: критерии И, ИЛИ
Глава 12. Выборка из диапазона дат с помощью критерия в ином формате
Глава 13. Динамические диапазоны на основе функций ИНДЕКС и СМЕЩ
Глава 14. Правила эффективного применения формул массива. В этой главе собраны все правила, сформулированные в первых тринадцати главах. Я эти правила привожу в тексте перевода, не акцентируя внимания на том, что это правила. На мой взгляд, в русскоязычной традиции такие повторения не используются. Это, скорее, американская традиция, в которой принято разжевывать более тщательно))
Глава 15. Извлечение данных на основе критериев
Глава 16. Функция массива ЧАСТОТА
Глава 17. Формулы счета уникальных вхождений и еще раз о функции ЧАСТОТА
Глава 18. Функция массива МУМНОЖ
Глава 19. Формулы сортировки и извлечения уникальных списков
Глава 20. Условное форматирование и формулы массива
Глава 21. Таблицы данных
Глава 22. Функция массива ЛИНЕЙН
Глава 23. Можете ли вы понять, как работает огромная формулу массива?
Введение
Формулы массива довольно редко используются и, кроме того довольно трудны. Тем не менее, похоже, вы готовы прочитать о них целую книгу! На это может быть несколько причин:
- Вы любите магию и колдовство Excel.
- Вы умеете создавать формулы и хотите сделать следующий шаг в освоении Excel.
- Вы слышали о формулах массива и знаете, что в некоторых ситуациях, они являются наиболее эффективным решением, но понятия не имеете, как их создавать.
- Вы используете формулы массива и наслышаны о некоторых их недостатках (например, медленной работе), и вы хотите узнать, как создать более эффективные формулы массива.
Почему формулы массива способны занять важное место в вашем арсенале инструментов Excel?
- Иногда использование формул массивов – единственный путь решения задачи (рис. в.1).
- Формулы массива могут заменить промежуточные вычисления и обеспечить решение сразу в одной ячейке (рис. в2).
- Любые формулы обладают рядом преимуществ по сравнению с использованием различных инструментов Excel, таких как сортировка, фильтрация, сводные таблицы, так как при изменении исходных данных результат, получаемый с помощью формул, обновляются мгновенно. Изучая формулы массива, вы увеличите диапазон своих навыков и станете менее ограниченными в выборе вариантов решений (рис. в3).
- Если вы понимаете, как работают формулы массива, вы начинаете понимаешь истинную красоту и силу формул Excel (рис. в4).
Рис. в1. Формула массива является более удобной альтернативой сводной таблице в поиске минимального значения в категории (подробнее см. главу 4)
Рис. в2. Если вы хотите избежать использования столбца для промежуточных вычислений (в нашем случае D), вы можете использовать формулу массива в ячейке G7 (подробнее см. главу 6).
Рис. в3. Когда критерии для извлечения записей часто изменяются, может быть удобно использовать формулы, а не функцию фильтра. Формула в ячейке G8 – эффективное решение для извлечения с тремя критериями (подробнее см. главу 15).
Рис. в4. Формула массива делает, казалось бы, невозможное, считая, сколько «пятниц 13-е» существует между датами начала и окончания (подробнее см. главу 10).
При написании книги о формулах массива Майк Гивин столкнулся с рядом трудностей:
- Это очень узкая тема.
- Это очень сложная тема.
- Корпорация Майкрософт не предоставляет достаточно документации о формулах массива.
- Среди пользователей Excel нет единого мнения, что считать формулами массива.
Файлы Excel, использованные в англоязычной книге, можно найти по адресу http://people.highline.edu/mgirvin/excelisfun.htm
Все примеры в этой книге используют одну и туже заливку цветом, указывая на содержимое ячеек:
- Бледно-зеленый цвет указывает на ячейку, содержащую формулу.
- Темно-синий цвет указывает на ячейки, содержащие метки (заголовки).
- Ячейки, содержащие исходные данные или формулы, оставлены не закрашенными.
Давайте перейдем к главе 1 и вспомним понятия, используемые в построении любых формул.
Глава 1. Основы формул Excel
Предполагается, что читатели книги являются продвинутыми пользователями Excel. В то же время, глава 1 дает основные понятия, которые помогут начинающим не потерять нить изложения.
Золотое правило Excel: если исходные данные в формуле могут измениться, не используйте их непосредственно в формуле, а поместите в отдельные ячейки и обратитесь к ним путем ссылки на ячейки. Если данные не будут меняться, вы можете «вшить» их в саму формулу (например, в сутках всегда будет 24 часа).
Формулы Excel могут (а в некоторых случаях, обязаны) включать в себя следующие элементы:
- Знак равенства (с него начинается каждая формула)
- Ссылки на ячейки (включая диапазоны, имена, названия листов Excel, названия книг)
- Математические операторы
- Операторы сравнения
- Оператор конкатенации & (оператор сцепления для текста)
- Функции (например, ЕСЛИ, ИНДЕКС, СЧЁТЕСЛИ и т.д.)
- Аргументы функций (например, значение 1, в качестве первого аргумента функции АГРЕГАТ, сообщающее, что следует найти среднее значение)
- Числа (константы, не меняющиеся с течением времени)
- Текст в кавычках (например, «Утро»)
- Массив констант (например, {1,2,3})
Математические операторы:
Оператор Описание
+ сложение
– вычитание
* умножение
/ деление
^ возведение в степень
() скобки
Операторы сравнения:
Оператор Описание
= Равно: равны две вещи между собой?
<> Не равно: не равны две вещи между собой?
> Больше: больше ли левая часть правой?
>= Больше или равно: не меньше ли левая часть правой?
< Меньше: меньше ли левая часть правой?
<= Меньше или равно: не больше ли левая часть правой?
Типы формул:
- Формула расчета вычисляет значение ответа (например, формула сложения)
- Логическая формула возвращает логическое значение – ИСТИНА или ЛОЖЬ (например, формула, дающая ответ, являются ли два числа одинаковыми)
- Текстовая формула обрабатывает слово или текст в ячейке (например, формула, которая используется функцию ЛЕВСИМВ).
- Формула поиска ищет элемент в таблице (например, поиск цены продукта).
- Формула массива дает пример более сложной формулы, которая обрабатывает массив (диапазон), а не на отдельные ячейки. Формула массива может одновременно давать все четыре перечисленные выше результата: вычислять, логически сравнивать, обрабатывать текст, искать значения.
Очередность выполнения операторов в Excel (этот раздел вам особенно пригодится, когда вы начнете создавать мегаформулы со множеством элементов):
1 | Скобки: ( ) |
Например, (10-4)*5 = 6*5 = 30 | |
2 | Операторы ссылок: двоеточие, пробел, точка с запятой |
Например, двоеточие указывает на диапазон ячеек: =СУММ(A1:A4) | |
Например, пробел, как оператор пересечения строки и столбца: =E12:G12 F10:F15 (возвращает ячейку F12) | |
Например, точка с запятой, как оператор объединения: =СУММ(E10:G10;E14:G14) | |
3 | Отрицание: — |
Например, -2^4 = 16, -(2^4) = -16, - - 2+1=3 |
|
4 | Преобразования: % (1% в 0,01) |
5 | Возведение в степень: ^ |
Например: 4^(1/2) = 2, 3^2 = 9 | |
6 | Умножения и деления: * и / (выполняются по порядку слева на право) |
7 | Сложения и вычитания: + и — (выполняются по порядку слева на право) |
8 | Конкатенация: & (сцепление текста) |
9 | Символы сравнения: =, <>, >=, <=, <, > |
Понимание того, как Excel по умолчанию выравнивает содержимое ячейки, может быть очень полезным для отслеживания ошибок:
- Текст выравнивается по левому краю.
- Числа – по правому краю.
- Логические значения или двоичные данные выравниваются по центру.
- Значение ошибки выравнивается по центру.
То, что вы видите в ячейках Excel может отличаться от того, что там хранится. Например, вы можете использовать кнопку или форматирование, чтобы уменьшить число десятичных разрядов. При этом Excel не удаляет десятичные знаки для целей расчета. Фактически в ячейке число хранится с максимально доступной точность. В качестве другого примера, укажем на представление дат в Excel. Хотя вы видите 16/11/2012, на самом деле ячейка содержит номер 41229. Формулы расчета будут работать именно с числом 41229, а не с датой 16/11/2012.
Я буду периодически приводить правила эффективного применения формул массива (все эти правила можно найти в главе 14). Вот первое:
Чтобы быть создавать классные формулы, вы должны знать: (1) Золотое правило Excel, (2) элементы формул, (3) математические операторы и операторы сравнения, (4) типы формул (5) очередность выполнения операторов (6) принципы форматирования чисел, и (7) выравнивание по умолчанию.
Глава 2. Введение в формулы массива
Что такое массив? Массив – это набор из двух или более типов формул (см. главу 1). Это положение служит логической отправной точкой для книги (заметим, что такое определение не является общепризнанным). Все остальное вытекает из этого.
Типы массивов в Excel:
- Массив, как ссылка, содержащая более одной ячейки. Например, диапазон ячеек, лист Excel, именованный диапазон.
- Массив, возвращенный формулой (фрагментом формулы). Его также называют результирующим массивом.
- Массив констант – массив значений, закодированный («зашитый») в формулу.
Формула массива – это формула, которая включает операцию (математическую, сравнения, конкатенации и др.) с массивом элементов, а не с одним элементом, и/или операция, возвращающая массив элементов, а не один элемент. Результирующий массив элементов может далее использоваться в качестве промежуточных данных в мегаформуле, или он может быть окончательным ответом на вопрос и выводится в диапазон ячеек. Окончательный ответ в формуле массива может быть одним элементом или на массивом элементов.
Выполнение операции с массивом элементов, а не с отдельным элементом. Чтобы понять, что это значит, давайте сначала рассмотрим работу с отдельным элементом (рис. 2.1). Цель формулы – рассчитать изменение между ценами закрытия открытия в каждый из дней.
Рис. 2.1. Таблица открытия и закрытия фондовых цен
Формула на рис. 2.1 работает с отдельными элементами:
- Ячейка E3 содержит формулу, которая вычитает значение ячейке C3 из значения ячейки D3.
- Выполняется математическая операция вычитания.
- Обрабатываются отдельные значения в ячейках C3 и D3.
- Это не формула массива, поскольку операция выполняется с отдельными элементами, и в результате операции возвращается один элемент.
На рис. 2.2 показана аналогичная таблица. Однако, в этом случае цель иная – вычисление максимального дневного изменения стоимости акций в течение четырех торговых дней.
Рис. 2.2. Математические операции с массивом элементов
Формула на рис. 2.2 работает с массивом элементов:
- Ячейка D8 содержит формулу, которая вычитает значения в диапазоне C3:C6 из значений диапазона D3:D6.
- Выполняется математическая операция вычитания.
- Два массива, которые используют числа в диапазонах D3:D6 и C3:C6.
- Это формула массива, поскольку операция выполняется непосредственно с массивом элементов.
Рассмотрим два предыдущих примера подробнее.
Формула массива или вспомогательная колонка? На рис. 2.3 изображена таблица с ценами открытия и закрытия. Цель расчета – определение максимального дневного изменения стоимости акций в течение четырех торговых дней. Четыре отдельные формулы, расчеты, сделанные во вспомогательной колонке «Изменение». Эта колонка называется вспомогательной, поскольку она позволяет получить промежуточные значения, необходимые для расчета максимального изменения запасов. В ячейке B8, функция МАКС просматривает значения в ячейках Е3:Е6 и выбирает максимальное значение, равное 7. Расчет, сделанный функцией МАКС называется операцией агрегирования, потому что функция просматривает диапазон значений и подсчитывает один ответ; но это не операция с массивом.
Рис. 2.3. Если цель – посмотреть все ежедневные изменения и затем вычислить максимальное изменение за период, использование вспомогательного столбца – отличная идея
Однако, если вы хотите вычислить только максимальное изменение, и вас не интересуют изменения в каждый отдельный день, или у вас тысячи строк данных, и вам неудобно использовать дополнительный столбец, наилучшее решение – использовать формулу в одной ячейке.
Как вы получаете все эти отдельные изменения во вспомогательной колонке? Посмотрите еще раз на рис. 2.3 и обратите внимание, что функция МАКС просматривает значения 3, –8, 7, 6. Вот, если бы вы могли создать эти вспомогательные значения сразу в ячейке В8!? Формула массива позволяет вам это сделать. Как показано на рис. 2.4, при создании массива показателей «Изменение», можно выделить весь дружной колонной диапазон, затем введите оператор вычитания, а затем выделите весь Открыть диапазон столбцов внутри функции MAX число1 аргумент.
Рис. 2.4. Создаем массив, вычисляющий внутри функции МАКС аргумент число1
Можно проверить, что же собирается считать формула МАКС. Для этого кликните на число1 в подсказке, появившейся под формулой. Вы увидите, что в качестве аргумента число1 Excel понимает всё содержимое формулы, то есть D3:D6-C3:C6 (рис. 2.5.)
Рис. 2.5. Чтобы выделить содержимое аргументов функции кликните на число1 во всплывающей подсказке в то время как формула находится в режиме редактирования
Отследим работу функции массива с помощью инструмента Вычислить формулу (вкладка Формулы, область Зависимости формул). Находясь в ячейке В8 нажмите одновременно Ctrl+Shift+Enter. Этим вы введете в ячейке формулу массива. Вокруг формулы появятся открывающая и закрывающая фигурные скобки. Не вводите эти скобки с клавиатуры! Теперь нажмите Вычислить формулу (рис. 2.6).
Рис. 2.6. Изучаем работу формулы массива с помощью инструмента Вычислить формулу
Кликнув Вычислить, вы увидите, что на первом шаге формула превратила МАКС(D3:D6-C3:C6) в МАКС({3:-8:7:6}), т.е. вычислила поэлементную разность двух массивов, сформировав массив чисел. Фактически формула сымитировала вспомогательный столбец. На втором шаге формула МАКС нашла максимальное число среди четырех элементов массива – 7.
Существует альтернативный, в некоторых случаях, еще более удобный способ посмотреть, как работает формула. Этот способ также широко используется при отладке формул. В режиме редактирования выделите элемент формулы, который хотите вычислить, и нажмите F9. Проверив, как работает элемент формулы, но не желая сохранять результат вычисления, нажмите Ctrl+Z, формула вернется к исходному состоянию. «Поиграйте» с выделением различных элементов формулы, чтобы прочувствовать, как это работает (рис. 2.7).
Рис. 2.7. Вид формулы до (слева) и после (справа) вычисления отдельных элементов; чтобы вычислить выделенный элемент, нажмите F9, чтобы вернуть формулу к исходному виду, нажмите Ctrl+Z
Итак, для проверки того, как работает формула:
- Выберите элемент формулы.
- Нажмите F9.
- Посмотрите, что получилось? Похоже ли это на то, на что вы рассчитывали?
- Нажмите Ctrl+Z, чтобы отменить вычисления.
Почти всегда, когда вас не интересуют промежуточное расчеты, с помощью формулы массива, вы можете создать (сымитировать) столбец с промежуточными расчетами внутри самой формулы массива. Позже (когда вы освоите формулы массива), вы оцените еще один плюс такого подхода – значительная экономия времени.
Заметим, что если вы введете в ячейку формулу =МАКС(D3:D6-C3:C6) без Ctrl+Shift+Enter, то есть, как обычную формулу, Excel выдаст ошибку (рис. 2.8). Посылая вам #ЗНАЧ! В качестве сигнала об ошибке, Excel говорит вам, что вы ввели формулу массива неверно. (Да, есть правильный и неправильный способы ввода формул в ячейку!) Для «правильного» ввода формулы массива нажмите одновременно Ctrl+Shift+Enter (рис. 2.10). (Заметим, что в Excel есть четыре функции массива, которые можно вводить простым нажатием Enter: СУММПРОИЗВ, ПРОСМОТР, АГРЕГАТ и ИНДЕКС. Вы узнаете о них позже в этой главе.)
Рис. 2.8. Используя Enter, чтобы ввести формулу =МАКС(D3:D6-C3:C6) в ячейку В8, вы получите ошибку
Рис. 2.10. При вводе формулы с помощью одновременного нажатия клавиш Ctrl+Shift+Enter, формула МАКС работает корректно
После ввода формулы массива с помощью Ctrl+Shift+Enter, вы должны проверить, корректно ли она введена. Убедитесь, что левая фигурная скобка размещена в начале формулы, правая фигурная скобка – в конце. Excel автоматически помещает эти фигурные скобки при нажатии Ctrl+Shift+Enter. Размещая эти фигурные скобки, Excel говорит вам, что он понимает, что вы ввели формулу массива.
Итак, к настоящему моменту в отношении функций массива вы уже знаете, что
- Если функция не является исключением (таких четыре), то вы должны ввести формулу в ячейку с помощью Ctrl+Shift+Enter.
- После ввода формулы с помощью Ctrl+Shift+Enter, Excel помещает фигурные скобки в начале и в конце формулы. Если вы попытаетесь ввести эти фигурные скобки руками, они будут отображаться как текст, а не как часть формулы массива.
- Если вы не используете Ctrl+Shift+Enter, вы скорее всего получите ошибка #ЗНАЧ!
Примечание: если вы нажмете Ctrl+Shift+Enter на формулу не массива, ваша формула будет рассчитана правильно; она будет взята в фигурные скобки, которые являются необязательными.
Заметим, что #ЗНАЧ! – это не единственный ответ, который вы можете получить, если забудете использовать Ctrl+Shift+Enter. Рис. 2.12 показывает, что формула =МАКС(D3:D6-C3:C6), введенная в восьми ячейках, семь раз дала неверный результат (так как была введена без использования Ctrl+Shift+Enter), и только в ячейке B8 она была введена с Ctrl+Shift+Enter.
Рис. 2.12. Будьте осторожны при создании формул массива; только формула в ячейке B8 дает правильный результат; в ячейках F3:F6 хотя и не появилось значение ошибки #ЗНАЧ!, но и ответ неверный
Далее приведен обзор формулы массива, с которой мы только что познакомились. Формула массива позволяет не создавать столбец с промежуточными вычислениями. Вот как она рассчитывается:
- =MAX(D3:D6-C3:C6). Используются два массива D3:D6 и C3:C6, с которыми выполняется математическая операция вычитания.
- =MAX({762:757:763:768}-{759:765:756:762}). Берутся две колонки и…
- =MAX({762-759:757-765:763-756:768-762}). …соответствующее числа вычитаются
- =MAX({3:-8:7:6}). Разность двух массивов дала вертикальный массив {3:-8:7:6}.
- Формула находит ответ – одно значение в ячейке – 7.
Примечания: в главе 23 вы познакомитесь с альтернативой функции МАКС – новой функцией Excel (начиная с версии 2010 г.) – АГРЕГАТ; в главе 7 вы узнаете о синтаксисе, используемом в формулах массива: фигурные скобки указывают на начало и окончание формулы, точка с запятой отделяет один элемент в строке от другого, а двоеточие – одну строку от другой.
Выше упоминалось, что в Excel есть четыре функции массива, которые можно вводить простым нажатием Enter: СУММПРОИЗВ, ПРОСМОТР, АГРЕГАТ и ИНДЕКС. Ниже вы кратко познакомитесь с функцией СУММПРОИЗВ. (Вы узнаете о ней и других функциях гораздо больше из последующих глав.)
Функция СУММПРОИЗВ. Рис. 2.13 показывает тот же набор данных, но теперь ваша цель – найти сумму изменений цены за 4 дня. Вы используете вспомогательную колонку и формулу =СУММ(E3:E6). Этот метод хорош, если вам нужно видеть все детали, а расположение ваших данных позволяет добавить вспомогательную колонку. На рис. 2.14 показано, как можно использовать формулу = СУММПРОИЗВ(D3:D6-C3:C6). Этот метод хорош, если вам не нужны все подробности, и/или вы не можете позволить себе использовать вспомогательную колонку.
Рис. 2.13. Чтобы увидеть все детали, вы можете использовать вспомогательный столбец и функцию СУММ
Рис. 2.14. Если вам не нужны подробности, вашу задачу решит функция СУММПРОИЗВ
Рассматривая формулу на рис. 2.14, что вы заметили? Верно: нет фигурных скобок!
На рис. 2.15 обратите внимание, что те же массивы, что использовались и в предыдущей функции MАКС, снова входят в первый аргумент – массив1. Разница в том, что массив1 – аргумент функции СУММПРОИЗВ изначально запрограммирован обрабатывать без необходимости использовать Ctrl+Shift+Enter. Вы можете просто создать формулу и ввести ее в ячейку кнопкой Enter.
Рис. 2.15. Функция СУММПРОИЗВ может обрабатывать массив аргументов и без Ctrl+Shift+Enter
Примечание: СУММПРОИЗВ – это функция, которая обычно обрабатывает два массива или более (помещенные в аргументы массив1, массив2, и т.д.). Во-первых, функция попарно перемножает соответствующие элементы массивов (первый с первым, второй со вторым и т.д.); во-вторых, она складывает результаты, полученные на первом этапе. В нашем примере, поскольку нет второго массива, функция просто складывает все значения.
Сравним функции СУММПРОИЗВ и СУММ при обработке массивов. На рис. 2.14 (ячейка В9) показано, что вы можете использовать функцию СУММ в качестве формулы массива. А поскольку функция СУММ изначально не запрограммирована для обработки массива, формулу нужно ввести с помощью Ctrl+Shift+Enter. Если у вас есть выбор между использованием СУММ и СУММПРОИЗВ, более эффективно использовать последнюю. Почему? Как начинающие, так и продвинутые пользователи иногда забывают использовать Ctrl+Shift+Enter и получают, либо ошибки, либо потенциально неправильные ответы из-за неявного пересечения. Позаботьтесь о себе и других и используйте ту версию формулы массива, которая не требует нажатия Ctrl+Shift+Enter.
Основной недостаток формул массива – их относительно большое время работы, сказывающееся на больших массивах данных. Примеры этой книги используют небольшие наборы данных, так что замедления вы не почувствуете. С другой стороны, если у вас есть несколько вариантов формулы, выберите ту, которая работает быстрее. В примерах в данной книге вы сможете рассматривать расчет времени в качестве критерия для выбора наиболее эффективной формуле.
Если вы заинтересованы в «ускорении» ваших формул рекомендую замечательную статью Excel MVP Чарльза Уильямса: http://msdn.microsoft.com/en-us/library/ff700515(v=office.14).aspx. Он обсуждает, как ускорить работу ваших формул и предлагает бесплатный код VBA, который можно скачать и использовать для оценки времени работы ваших формул. Чарльз Уильямс известен как «Fast Excel», поскольку он является мировым лидером в области решений по ускорению работы электронных таблиц. Его сайт http://www.decisionmodels.com/.