Время на прочтение
7 мин
Количество просмотров 312K
Приветствую всех.
В этом посте я расскажу, что такое VBA и как с ним работать в Microsoft Excel 2007/2010 (для более старых версий изменяется лишь интерфейс — код, скорее всего, будет таким же) для автоматизации различной рутины.
VBA (Visual Basic for Applications) — это упрощенная версия Visual Basic, встроенная в множество продуктов линейки Microsoft Office. Она позволяет писать программы прямо в файле конкретного документа. Вам не требуется устанавливать различные IDE — всё, включая отладчик, уже есть в Excel.
Еще при помощи Visual Studio Tools for Office можно писать макросы на C# и также встраивать их. Спасибо, FireStorm.
Сразу скажу — писать на других языках (C++/Delphi/PHP) также возможно, но требуется научится читать, изменять и писать файлы офиса — встраивать в документы не получится. А интерфейсы Microsoft работают через COM. Чтобы вы поняли весь ужас, вот Hello World с использованием COM.
Поэтому, увы, будем учить Visual Basic.
Чуть-чуть подготовки и постановка задачи
Итак, поехали. Открываем Excel.
Для начала давайте добавим в Ribbon панель «Разработчик». В ней находятся кнопки, текстовые поля и пр. элементы для конструирования форм.
Появилась вкладка.
Теперь давайте подумаем, на каком примере мы будем изучать VBA. Недавно мне потребовалось красиво оформить прайс-лист, выглядевший, как таблица. Идём в гугл, набираем «прайс-лист» и качаем любой, который оформлен примерно так (не сочтите за рекламу, пожалуйста):
То есть требуется, чтобы было как минимум две группы, по которым можно объединить товары (в нашем случае это будут Тип и Производитель — в таком порядке). Для того, чтобы предложенный мною алгоритм работал корректно, отсортируйте товары так, чтобы товары из одной группы стояли подряд (сначала по Типу, потом по Производителю).
Результат, которого хотим добиться, выглядит примерно так:
Разумеется, если смотреть прайс только на компьютере, то можно добавить фильтры и будет гораздо удобнее искать нужный товар. Однако мы хотим научится кодить и задача вполне подходящая, не так ли?
Кодим
Для начала требуется создать кнопку, при нажатии на которую будет вызываться наша програма. Кнопки находятся в панели «Разработчик» и появляются по кнопке «Вставить». Вам нужен компонент формы «Кнопка». Нажали, поставили на любое место в листе. Далее, если не появилось окно назначения макроса, надо нажать правой кнопкой и выбрать пункт «Назначить макрос». Назовём его FormatPrice. Важно, чтобы перед именем макроса ничего не было — иначе он создастся в отдельном модуле, а не в пространстве имен книги. В этому случае вам будет недоступно быстрое обращение к выделенному листу. Нажимаем кнопку «Новый».
И вот мы в среде разработки VB. Также её можно вызвать из контекстного меню командой «Исходный текст»/«View code».
Перед вами окно с заглушкой процедуры. Можете его развернуть. Код должен выглядеть примерно так:
Sub FormatPrice()End Sub
Напишем Hello World:
Sub FormatPrice()
MsgBox "Hello World!"
End Sub
И запустим либо щелкнув по кнопке (предварительно сняв с неё выделение), либо клавишей F5 прямо из редактора.
Тут, пожалуй, следует отвлечься на небольшой ликбез по поводу синтаксиса VB. Кто его знает — может смело пропустить этот раздел до конца. Основное отличие Visual Basic от Pascal/C/Java в том, что команды разделяются не ;, а переносом строки или двоеточием (:), если очень хочется написать несколько команд в одну строку. Чтобы понять основные правила синтаксиса, приведу абстрактный код.
Примеры синтаксиса
' Процедура. Ничего не возвращает
' Перегрузка в VBA отсутствует
Sub foo(a As String, b As String)
' Exit Sub ' Это значит "выйти из процедуры"
MsgBox a + ";" + b
End Sub' Функция. Вовращает Integer
Function LengthSqr(x As Integer, y As Integer) As Integer
' Exit Function
LengthSqr = x * x + y * y
End FunctionSub FormatPrice()
Dim s1 As String, s2 As String
s1 = "str1"
s2 = "str2"
If s1 <> s2 Then
foo "123", "456" ' Скобки при вызове процедур запрещены
End IfDim res As sTRING ' Регистр в VB не важен. Впрочем, редактор Вас поправит
Dim i As Integer
' Цикл всегда состоит из нескольких строк
For i = 1 To 10
res = res + CStr(i) ' Конвертация чего угодно в String
If i = 5 Then Exit For
Next iDim x As Double
x = Val("1.234") ' Парсинг чисел
x = x + 10
MsgBox xOn Error Resume Next ' Обработка ошибок - игнорировать все ошибки
x = 5 / 0
MsgBox xOn Error GoTo Err ' При ошибке перейти к метке Err
x = 5 / 0
MsgBox "OK!"
GoTo ne
Err:
MsgBox
"Err!"
ne:
On Error GoTo 0 ' Отключаем обработку ошибок
' Циклы бывает, какие захотите
Do While True
Exit DoLoop 'While True
Do 'Until False
Exit Do
Loop Until False
' А вот при вызове функций, от которых хотим получить значение, скобки нужны.
' Val также умеет возвращать Integer
Select Case LengthSqr(Len("abc"), Val("4"))
Case 24
MsgBox "0"
Case 25
MsgBox "1"
Case 26
MsgBox "2"
End Select' Двухмерный массив.
' Можно также менять размеры командой ReDim (Preserve) - см. google
Dim arr(1 to 10, 5 to 6) As Integer
arr(1, 6) = 8Dim coll As New Collection
Dim coll2 As Collection
coll.Add "item", "key"
Set coll2 = coll ' Все присваивания объектов должны производится командой Set
MsgBox coll2("key")
Set coll2 = New Collection
MsgBox coll2.Count
End Sub
Грабли-1. При копировании кода из IDE (в английском Excel) есь текст конвертируется в 1252 Latin-1. Поэтому, если хотите сохранить русские комментарии — надо сохранить крокозябры как Latin-1, а потом открыть в 1251.
Грабли-2. Т.к. VB позволяет использовать необъявленные переменные, я всегда в начале кода (перед всеми процедурами) ставлю строчку Option Explicit. Эта директива запрещает интерпретатору заводить переменные самостоятельно.
Грабли-3. Глобальные переменные можно объявлять только до первой функции/процедуры. Локальные — в любом месте процедуры/функции.
Еще немного дополнительных функций, которые могут пригодится: InPos, Mid, Trim, LBound, UBound. Также ответы на все вопросы по поводу работы функций/их параметров можно получить в MSDN.
Надеюсь, что этого Вам хватит, чтобы не пугаться кода и самостоятельно написать какое-нибудь домашнее задание по информатике. По ходу поста я буду ненавязчиво знакомить Вас с новыми конструкциями.
Кодим много и под Excel
В этой части мы уже начнём кодить нечто, что умеет работать с нашими листами в Excel. Для начала создадим отдельный лист с именем result (лист с данными назовём data). Теперь, наверное, нужно этот лист очистить от того, что на нём есть. Также мы «выделим» лист с данными, чтобы каждый раз не писать длинное обращение к массиву с листами.
Sub FormatPrice()
Sheets("result").Cells.Clear
Sheets("data").Activate
End Sub
Работа с диапазонами ячеек
Вся работа в Excel VBA производится с диапазонами ячеек. Они создаются функцией Range и возвращают объект типа Range. У него есть всё необходимое для работы с данными и/или оформлением. Кстати сказать, свойство Cells листа — это тоже Range.
Примеры работы с Range
Sheets("result").Activate
Dim r As Range
Set r = Range("A1")
r.Value = "123"
Set r = Range("A3,A5")
r.Font.Color = vbRed
r.Value = "456"
Set r = Range("A6:A7")
r.Value = "=A1+A3"
Теперь давайте поймем алгоритм работы нашего кода. Итак, у каждой строчки листа data, начиная со второй, есть некоторые данные, которые нас не интересуют (ID, название и цена) и есть две вложенные группы, к которым она принадлежит (тип и производитель). Более того, эти строки отсортированы. Пока мы забудем про пропуски перед началом новой группы — так будет проще. Я предлагаю такой алгоритм:
- Считали группы из очередной строки.
- Пробегаемся по всем группам в порядке приоритета (вначале более крупные)
- Если текущая группа не совпадает, вызываем процедуру AddGroup(i, name), где i — номер группы (от номера текущей до максимума), name — её имя. Несколько вызовов необходимы, чтобы создать не только наш заголовок, но и всё более мелкие.
- После отрисовки всех необходимых заголовков делаем еще одну строку и заполняем её данными.
Для упрощения работы рекомендую определить следующие функции-сокращения:
Function GetCol(Col As Integer) As String
GetCol = Chr(Asc("A") + Col)
End FunctionFunction GetCellS(Sheet As String, Col As Integer, Row As Integer) As Range
Set GetCellS = Sheets(Sheet).Range(GetCol(Col) + CStr(Row))
End FunctionFunction GetCell(Col As Integer, Row As Integer) As Range
Set GetCell = Range(GetCol(Col) + CStr(Row))
End Function
Далее определим глобальную переменную «текущая строчка»: Dim CurRow As Integer. В начале процедуры её следует сделать равной единице. Еще нам потребуется переменная-«текущая строка в data», массив с именами групп текущей предыдущей строк. Потом можно написать цикл «пока первая ячейка в строке непуста».
Глобальные переменные
Option Explicit ' про эту строчку я уже рассказывал
Dim CurRow As Integer
Const GroupsCount As Integer = 2
Const DataCount As Integer = 3
FormatPrice
Sub FormatPrice()
Dim I As Integer ' строка в data
CurRow = 1
Dim Groups(1 To GroupsCount) As String
Dim PrGroups(1 To GroupsCount) As String
Sheets(
"data").Activate
I = 2
Do While True
If GetCell(0, I).Value = "" Then Exit Do
' ...
I = I + 1
Loop
End Sub
Теперь надо заполнить массив Groups:
На месте многоточия
Dim I2 As Integer
For I2 = 1 To GroupsCount
Groups(I2) = GetCell(I2, I)
Next I2
' ...
For I2 = 1 To GroupsCount ' VB не умеет копировать массивы
PrGroups(I2) = Groups(I2)
Next I2
I = I + 1
И создать заголовки:
На месте многоточия в предыдущем куске
For I2 = 1 To GroupsCount
If Groups(I2) <> PrGroups(I2) Then
Dim I3 As Integer
For I3 = I2 To GroupsCount
AddHeader I3, Groups(I3)
Next I3
Exit For
End If
Next I2
Не забудем про процедуру AddHeader:
Перед FormatPrice
Sub AddHeader(Ty As Integer, Name As String)
GetCellS("result", 1, CurRow).Value = Name
CurRow = CurRow + 1
End Sub
Теперь надо перенести всякую информацию в result
For I2 = 0 To DataCount - 1
GetCellS("result", I2, CurRow).Value = GetCell(I2, I)
Next I2
Подогнать столбцы по ширине и выбрать лист result для показа результата
После цикла в конце FormatPrice
Sheets("Result").Activate
Columns.AutoFit
Всё. Можно любоваться первой версией.
Некрасиво, но похоже. Давайте разбираться с форматированием. Сначала изменим процедуру AddHeader:
Sub AddHeader(Ty As Integer, Name As String)
Sheets("result").Range("A" + CStr(CurRow) + ":C" + CStr(CurRow)).Merge
' Чтобы не заводить переменную и не писать каждый раз длинный вызов
' можно воспользоваться блоком With
With GetCellS("result", 0, CurRow)
.Value = Name
.Font.Italic = True
.Font.Name = "Cambria"
Select Case Ty
Case 1 ' Тип
.Font.Bold = True
.Font.Size = 16
Case 2 ' Производитель
.Font.Size = 12
End Select
.HorizontalAlignment = xlCenter
End With
CurRow = CurRow + 1
End Sub
Уже лучше:
Осталось только сделать границы. Тут уже нам требуется работать со всеми объединёнными ячейками, иначе бордюр будет только у одной:
Поэтому чуть-чуть меняем код с добавлением стиля границ:
Sub AddHeader(Ty As Integer, Name As String)
With Sheets("result").Range("A" + CStr(CurRow) + ":C" + CStr(CurRow))
.Merge
.Value = Name
.Font.Italic = True
.Font.Name = "Cambria"
.HorizontalAlignment = xlCenterSelect Case Ty
Case 1 ' Тип
.Font.Bold = True
.Font.Size = 16
.Borders(xlTop).Weight = xlThick
Case 2 ' Производитель
.Font.Size = 12
.Borders(xlTop).Weight = xlMedium
End Select
.Borders(xlBottom).Weight = xlMedium ' По убыванию: xlThick, xlMedium, xlThin, xlHairline
End With
CurRow = CurRow + 1
End Sub
Осталось лишь добится пропусков перед началом новой группы. Это легко:
В начале FormatPrice
Dim I As Integer ' строка в data
CurRow = 0 ' чтобы не было пропуска в самом начале
Dim Groups(1 To GroupsCount) As String
В цикле расстановки заголовков
If Groups(I2) <> PrGroups(I2) Then
CurRow = CurRow + 1
Dim I3 As Integer
В точности то, что и хотели.
Надеюсь, что эта статья помогла вам немного освоится с программированием для Excel на VBA. Домашнее задание — добавить заголовки «ID, Название, Цена» в результат. Подсказка: CurRow = 0 CurRow = 1.
Файл можно скачать тут (min.us) или тут (Dropbox). Не забудьте разрешить исполнение макросов. Если кто-нибудь подскажет человеческих файлохостинг, залью туда.
Спасибо за внимание.
Буду рад конструктивной критике в комментариях.
UPD: Перезалил пример на Dropbox и min.us.
UPD2: На самом деле, при вызове процедуры с одним параметром скобки можно поставить. Либо использовать конструкцию Call Foo(«bar», 1, 2, 3) — тут скобки нужны постоянно.
Массив функций Excel позволяет решать сложные задачи в автоматическом режиме одновременно. Те, которые выполнить посредством обычных функций невозможно.
Фактически это группа функций, которые одновременно обрабатывают группу данных и сразу выдают результат. Рассмотрим подробно работу с массивами функций в Excel.
Виды массивов функций Excel
Массив – данные, объединенные в группу. В данном случае группой является массив функций в Excel. Любую таблицу, которую мы составим и заполним в Excel, можно назвать массивом. Пример:
В зависимости от расположения элементов различают массивы:
- одномерные (данные находятся в ОДНОЙ строке или в ОДНОМ столбце);
- двумерные (НЕСКОЛЬКО строк и столбцов, матрица).
Одномерные массивы бывают:
- горизонтальными (данные – в строке);
- вертикальными (данные – в столбце).
Примечание. Двумерные массивы Excel могут занимать сразу несколько листов (это сотни и тысячи данных).
Формула массива – позволяет обработать данные из этого массива. Она может возвращать одно значение либо давать в результате массив (набор) значений.
С помощью формул массива реально:
- подсчитать количество знаков в определенном диапазоне;
- суммировать только те числа, которые соответствуют заданному условию;
- суммировать все n-ные значения в определенном диапазоне.
Когда мы используем формулы массива, Excel видит диапазон значений не как отдельные ячейки, а как единый блок данных.
Синтаксис формулы массива
Используем формулу массива с диапазоном ячеек и с отдельной ячейкой. В первом случае найдем промежуточные итоги для столбца «К оплате». Во втором – итоговую сумму коммунальных платежей.
- Выделяем диапазон Е3:Е8.
- В строку формул вводим следующую формулу: =C3:C8*D3:D8.
- Нажимаем одновременно клавиши: Ctrl + Shift + Enter. Промежуточные итоги посчитаны:
Формула после нажатия Ctrl + Shift + Enter оказалась в фигурных скобках. Она подставилась автоматически в каждую ячейку выделенного диапазона.
Если попытаться изменить данные в какой-либо ячейке столбца «К оплате» — ничего не выйдет. Формула в массиве защищает значения диапазона от изменений. На экране появляется соответствующая запись:
Рассмотрим другие примеры использования функций массива Excel – рассчитаем итоговую сумму коммунальных платежей с помощью одной формулы.
- Выделяем ячейку Е9 (напротив «Итого»).
- Вводим формулу вида: =СУММ(C3:C8*D3:D8).
- Нажимаем сочетание клавиш: Ctrl + Shift + Enter. Результат:
Формула массива в данном случае заменила две простые формулы. Это сокращенный вариант, вместивший всю необходимую информацию для решения сложной задачи.
Аргументы для функции – одномерные массивы. Формула просматривает каждый из них по отдельности, совершает заданные пользователем операции и генерирует единый результат.
Рассмотрим ее синтаксис:
Функции работы с массивами Excel
Предположим, в следующем месяце планируется увеличение коммунальных платежей на 10%. Если мы введем обычную формулу для итога =СУММ((C3:C8*D3:D8)+10%), то вряд ли получим ожидаемый результат. Нам нужно, чтобы каждый аргумент увеличился на 10%. Чтобы программа поняла это, мы используем функцию как массив.
- Посмотрим, как работает оператор «И» в функции массива. Нам нужно узнать, сколько мы платим за воду, горячую и холодную. Функция: . Итого – 346 руб.
- Функция «Сортировки» в формуле массива. Отсортируем суммы к оплате в порядке возрастания. Для списка отсортированных данных создадим диапазон. Выделим его. В строке формул вводим . Жмем сочетание Ctrl + Shift + Enter.
- Транспонированная матрица. Специальная функция Excel для работы с двумерными массивами. Функция «ТРАНСП» возвращает сразу несколько значений. Преобразует горизонтальную матрицу в вертикальную и наоборот. Выделяем диапазон ячеек, где количество строк = числу столбцов в таблице с исходными данными. А количество столбцов = числу строк в исходном массиве. Вводим формулу: . Получается «перевернутый» массив данных.
- Поиск среднего значения без учета нулей. Если мы воспользуемся стандартной функцией «СРЗНАЧ», то получим в результате «0». И это будет правильно. Поэтому вставляем в формулу дополнительное условие: . Получаем:
Скачать примеры массива функций
Распространенная ошибка при работе с массивами функций – НЕ нажатие кодового сочетания «Ctrl + Shift + Enter» (никогда не забывайте эту комбинацию клавиш). Это самое главное, что нужно запомнить при обработке больших объемов информации. Правильно введенная функция выполняет сложнейшие задачи.
Значительная
часть работы в Excel
приходится на ввод данных, их редактирование
и обработку.
Общие принципы
В
ячейку рабочего листа можно вводить
число, текст, дату/время или формулу.
Ввод всегда происходит в активную
ячейку. Место появления вводимых символов
указывает мигающий курсор.
Весь
введенный текст
и числа
отображаются и в строке формул, и в самой
ячейке. При вводе формул
(по умолчанию) в ячейке отражается
результат вычислений, а в строке формул
видна сама вводимая формула или функция.
При
необходимости можно исправить свои
ошибки до фиксации ввода или изменить
содержимое ячейки после того, как ввод
зафиксирован.
Форматирование
и защита рабочих листов
Вводимая
в ячейки Excel
информация может быть отображена на
экране различными способами. Для
изменения формы отображения и доступа
к информации используются средства
форматирования и защиты.
Неправильный
формат представления данных может
вызвать значительные проблемы, особенно,
если у пользователя отсутствует
достаточный опыт. Например, если
пользователь введет число 0.9, но в
качестве десятичного разделителя в
настройках компьютера используется
запятая, то введенные данные будут
восприниматься как текст. Опытный
пользователь сразу это заметит, так как
обычно по умолчанию текст выравнивается
по левому краю, а числа – по правому
краю ячейки.
Форматирование
в Excel
включает в себя решение следующих
вопросов:
-
изменение
шрифта, размеров, начертания и цвета
символов -
выравнивание
и изменение ориентации текста и чисел
в ячейках -
форматирование
чисел, дат и времени -
форматирование
строк и столбцов -
создание
и использование пользовательских
форматов -
условное
форматирование -
защита
ячеек, листов и рабочих книг -
использование
стилей при форматировании -
применение
автоформатов
Большинство
операций по форматированию таблиц
сосредоточено в пункте меню Формат|Ячейки
на соответствующих вкладках, но наиболее
употребляемые операции (цвет заливки,
цвет шрифта, выравнивание по различным
признакам, границы, разрядность и т.п.)
выведены в качестве пиктограмм панели
инструментов Форматирование.
Построение диаграмм в Excel
Значительный
набор возможностей предоставляет
пользователю Excel для графического
представления данных. Составлять
диаграммы можно как на одном рабочем
листе с таблицей, так и на отдельном
листе рабочей книги, который называется
листом
диаграммы.
Диаграмма, созданная на одном рабочем
листе с таблицей, называется внедренной.
Для построения диаграмм в Excel используется:
-
Мастер диаграмм;
-
Панель Диаграммы.
Мастер
диаграмм позволяет строить несколько
типов графиков, для каждого из которых
можно выбрать модификацию основного
варианта диаграммы.
Элементы диаграммы
Основные компоненты
диаграммы представлены на следующей
схеме:
Примечание:
для объемной диаграммы составные части
несколько отличаются.
Типы диаграмм
В
зависимости от выбранного типа диаграммы
можно получить различное отображение
данных:
-
линейчатые
диаграммы
и гистограммы
могут быть
использованы для иллюстрации соотношения
отдельных значений или показа динамики
изменения данных за определенный период
времени; -
график
отражает тенденции изменения данных
за определенные промежутки времени; -
круговые
диаграммы
предназначены для наглядного отображения
соотношения частей и целого -
точечная
диаграмма
отображает взаимосвязь между числовыми
значениями нескольких рядов данных и
представляет две группы чисел в виде
одного ряда точек, часто используется
для представления данных научного
характера; -
диаграмма
с областями
подчеркивает величину изменения данных
во времени, показывая сумму введенных
значений, а также демонстрирует вклад
отдельных значений в общую сумму; -
кольцевая
диаграмма
показывает вклад каждого элемента в
общую сумму, но, в отличие от круговой
диаграммы, может содержать несколько
рядов данных (каждое кольцо – отдельный
ряд); -
лепестковая
диаграмма
позволяет сравнивать общие значения
из нескольких рядов данных; -
поверхностная
диаграмма
используется для поиска наилучшего
сочетания двух наборов данных; -
пузырьковая
диаграмма
представляет разновидность точечной
диаграммы, где два значения определяют
положение пузырька, а третье – его
размер; -
биржевая
диаграмма
часто используется для демонстрации
цен на акции, курсов валют, для определения
изменения температуры, а также для
научных данных
Кроме
того, можно строить диаграммы так
называемого нестандартного
типа, позволяющие совмещать в одной
диаграмме различные типы представления
данных.
При
работе с нестандартным типом диаграмм
предусмотрена возможность быстрого
просмотра диаграммы. Каждый нестандартный
тип диаграммы основывается на стандартном
типе и содержит дополнительные формат
и параметры, такие как легенда, сетка,
подписи данных, вспомогательная ось,
цвета, шаблоны, заливки и места расположения
различных элементов диаграммы.
Можно
использовать либо один из встроенных
нестандартных типов диаграмм, либо
создать свой собственный. Нестандартные
типы диаграмм находятся в книгах.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
В этом посте Ренат Шагабутдинов, ассистент генерального директора издательства «Манн, Иванов и Фербер», делится классными Excel-лайфхаками. Приведённые советы будут полезны для всех, кто занимается различной отчётностью, обработкой данных и созданием презентаций.
Ренат уже не в первый раз выступает гостевым автором на Лайфхакере. Ранее мы публиковали отличный материал от него о том, как составить план тренировок: основные книги и онлайн-ресурсы, а также пошаговый алгоритм создания тренировочного плана.
В этой статье собраны несложные приёмы, позволяющие упростить работу в Excel. Особенно они пригодятся тем, кто занимается управленческой отчётностью, готовит разнообразные аналитические отчёты, основанные на выгрузках из 1С и других отчётах, формирует из них презентации и диаграммы для руководства. Не претендую на абсолютную новизну — в том или ином виде эти приёмы наверняка обсуждались на форумах или упоминались в статьях.
Простые альтернативы ВПР и ГПР, если искомые значения не в первом столбце таблицы: ПРОСМОТР, ИНДЕКС+ПОИСКПОЗ
Функции ВПР (VLOOKUP) и ГПР (HLOOKUP) работают только в том случае, если искомые значения находятся в первом столбце или строке той таблицы, из которой вы планируете получить данные.
В остальных случаях есть два варианта:
- Использовать функцию ПРОСМОТР (LOOKUP).
У неё следующий синтаксис: ПРОСМОТР (искомое_значение; вектор_просмотра; вектор_результата). Но для её корректной работы нужно, чтобы значения диапазона вектор_просмотра были отсортированы по возрастанию: - Использовать сочетание функций ПОИСКПОЗ (MATCH) и ИНДЕКС (INDEX).
Функция ПОИСКПОЗ возвращает порядковый номер элемента в массиве (с её помощью вы можете найти, в какой строке таблицы искомый элемент), а функция ИНДЕКС возвращает элемент массива с заданным номером (который мы и узнаем с помощью функции ПОИСКПОЗ).Синтаксис функций:
• ПОИСКПОЗ (искомое_значение; массив_поиска; тип_сопоставления) — для нашего случая нам нужен тип сопоставления «точное сопоставление», ему соответствует цифра 0.
• ИНДЕКС (массив; номер_строки; [номер_столбца]). В данном случае номер столбца указывать не нужно, так как массив состоит из одной строки.
Как быстро заполнить пустые ячейки в списке
Задача — заполнить ячейки в столбце со значениями сверху (чтобы тематика стояла в каждой строке таблицы, а не только в первой строке блока книг по тематике):
Выделяем столбец «Тематика», нажимаем на ленте в группе «Главная» кнопку «Найти и выделить» → «Выделить группу ячеек» → «Пустые ячейки» и начинаем ввод формулы (то есть ставим знак равно) и ссылаемся на ячейку сверху, просто нажимая стрелку вверх на клавиатуре. После этого нажимаем Ctrl + Enter. После этого можно сохранить полученные данные как значения, так как формулы больше не нужны:
Как найти ошибки в формуле
Вычисление отдельной части формулы
Чтобы разобраться в сложной формуле (в которой в качестве аргументов функции используются другие функции, то есть одни функции вложены в другие) или найти в ней источник ошибок, часто нужно вычислить её часть. Есть два простых способа:
- Чтобы вычислить часть формулы прямо в строке формул, выделите эту часть и нажмите F9:
В данном примере была проблема с функцией ПОИСК (SEARCH) — в ней были перепутаны местами аргументы. Важно помнить, что если вы не отмените вычисление части функции и нажмёте Enter, то вычисленная часть так и останется числом. - Нажмите на кнопку «Вычислить формулу» в группе «Формулы» на ленте:
В появившемся окне можно вычислять формулу по шагам и определить, на каком этапе и в какой функции возникает ошибка (если она есть):
Как определить, от чего зависит или на что ссылается формула
Чтобы определить, от каких ячеек зависит формула, в группе «Формулы» на ленте нажмите на кнопку «Влияющие ячейки»:
Появляются стрелки, указывающие, от чего зависит результат вычислений.
Если отображается символ, выделенный на картинке красным цветом, то формула зависит от ячеек, находящихся на других листах или в других книгах:
Щёлкнув на него, мы увидим, где именно находятся влияющие ячейки или диапазоны:
Рядом с кнопкой «Влияющие ячейки» находится кнопка «Зависимые ячейки», работающая аналогично: она отображает стрелки от активной ячейки с формулой к ячейкам, которые зависят от неё.
Кнопка «Убрать стрелки», расположенная в том же блоке, позволяет убрать стрелки к влияющим ячейкам, стрелки к зависимым ячейкам или же оба типа стрелок сразу:
Как найти сумму (количество, среднее) значений ячеек с нескольких листов
Допустим, у вас есть несколько однотипных листов с данными, которые вы хотите сложить, посчитать или обработать как-то иначе:
Для этого в ячейку, в которой вы хотите видеть результат, введите стандартную формулу, например СУММ (SUM), и укажите в аргументе через двоеточие название первого и последнего листов из списка тех листов, что вам нужно обработать:
Вы получите сумму ячеек с адресом B3 с листов «Данные1», «Данные2», «Данные3»:
Такая адресация работает для листов, расположенных последовательно. Синтаксис следующий: =ФУНКЦИЯ (первый_лист:последний_лист!ссылка на диапазон).
Как автоматически строить шаблонные фразы
Используя базовые принципы работы с текстом в Excel и несколько простых функций, можно готовить шаблонные фразы для отчётов. Несколько принципов работы с текстом:
- Объединяем текст с помощью знака & (можете заменить его функцией СЦЕПИТЬ (CONCATENATE), но в этом нет особого смысла).
- Текст всегда записывается в кавычках, ссылки на ячейки с текстом — всегда без.
- Чтобы получить служебный символ «кавычки», используем функцию СИМВОЛ (CHAR) с аргументом 32.
Пример создания шаблонной фразы с помощью формул:
Результат:
В данном случае, кроме функции СИМВОЛ (CHAR) (для отображения кавычек) используется функция ЕСЛИ (IF), позволяющая изменять текст в зависимости от того, наблюдается ли положительная динамика продаж, и функция ТЕКСТ (TEXT), позволяющая отобразить число в любом формате. Её синтаксис описан ниже:
ТЕКСТ (значение; формат)
Формат указывается в кавычках точно так же, как если бы вы вводили пользовательский формат в окне «Формат ячеек».
Автоматизировать можно и более сложные тексты. В моей практике была автоматизация длинных, но рутинных комментариев к управленческой отчётности в формате «ПОКАЗАТЕЛЬ упал/вырос на XX относительно плана в основном из-за роста/снижения ФАКТОРА1 на XX, роста/снижения ФАКТОРА2 на YY…» с меняющимся списком факторов. Если вы пишете такие комментарии часто и процесс их написания можно алгоритмизировать — стоит один раз озадачиться созданием формулы или макроса, которые избавят вас хотя бы от части работы.
Как сохранить данные в каждой ячейке после объединения
При объединении ячеек сохраняется только одно значение. Excel предупреждает об этом при попытке объединить ячейки:
Соответственно, если у вас была формула, зависящая от каждой ячейки, она перестанет работать после их объединения (ошибка #Н/Д в строках 3–4 примера):
Чтобы объединить ячейки и при этом сохранить данные в каждой из них (возможно, у вас есть формула, как в этом абстрактном примере; возможно, вы хотите объединить ячейки, но сохранить все данные на будущее или скрыть их намеренно), объедините любые ячейки на листе, выделите их, а затем с помощью команды «Формат по образцу» перенесите форматирование на те ячейки, которые вам и нужно объединить:
Как построить сводную из нескольких источников данных
Если вам нужно построить сводную сразу из нескольких источников данных, придётся добавить на ленту или панель быстрого доступа «Мастер сводных таблиц и диаграмм», в котором есть такая опция.
Сделать это можно следующим образом: «Файл» → «Параметры» → «Панель быстрого доступа» → «Все команды» → «Мастер сводных таблиц и диаграмм» → «Добавить»:
После этого на ленте появится соответствующая иконка, нажатие на которую вызывает того самого мастера:
При щелчке на неё появляется диалоговое окно:
В нём вам необходимо выбрать пункт «В нескольких диапазонах консолидации» и нажать «Далее». В следующем пункте можно выбрать «Создать одно поле страницы» или «Создать поля страницы». Если вы хотите самостоятельно придумать имя для каждого из источников данных — выберите второй пункт:
В следующем окне добавьте все диапазоны, на основании которых будет строиться сводная, и задайте им наименования:
После этого в последнем диалоговом окне укажите, где будет размещаться отчёт сводной таблицы — на существующем или новом листе:
Отчёт сводной таблицы готов. В фильтре «Страница 1» вы можете выбрать только один из источников данных, если это необходимо:
Как рассчитать количество вхождений текста A в текст B («МТС тариф СуперМТС» — два вхождения аббревиатуры МТС)
В данном примере в столбце A есть несколько текстовых строк, и наша задача — выяснить, сколько раз в каждой из них встречается искомый текст, расположенный в ячейке E1:
Для решения этой задачи можно воспользоваться сложной формулой, состоящей из следующих функций:
- ДЛСТР (LEN) — вычисляет длину текста, единственный аргумент — текст. Пример: ДЛСТР (“машина”) = 6.
- ПОДСТАВИТЬ (SUBSTITUTE) — заменяет в текстовой строке определённый текст другим. Синтаксис: ПОДСТАВИТЬ (текст; стар_текст; нов_текст). Пример: ПОДСТАВИТЬ (“автомобиль”;“авто”;“”)= “мобиль”.
- ПРОПИСН (UPPER) — заменяет все символы в строке на прописные. Единственный аргумент — текст. Пример: ПРОПИСН (“машина”) = “МАШИНА”. Эта функция понадобится нам, чтобы делать поиск без учёта регистра. Ведь ПРОПИСН(“машина”)=ПРОПИСН(“Машина”)
Чтобы найти вхождение определённой текстовой строки в другую, нужно удалить все её вхождения в исходную и сравнить длину полученной строки с исходной:
ДЛСТР(“Тариф МТС Супер МТС”) – ДЛСТР(“Тариф Супер”) = 6
А затем разделить эту разницу на длину той строки, которую мы искали:
6 / ДЛСТР (“МТС”) = 2
Именно два раза строка «МТС» входит в исходную.
Осталось записать этот алгоритм на языке формул (обозначим «текстом» тот текст, в котором мы ищем вхождения, а «искомым» — тот, число вхождений которого нас интересует):
=(ДЛСТР(текст)-ДЛСТР(ПОДСТАВИТЬ(ПРОПИСН(текст);ПРОПИСН(искомый);“”)))/ДЛСТР(искомый)
В нашем примере формула выглядит следующим образом:
=(ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(ПРОПИСН(A2);ПРОПИСН($E$1);“”)))/ДЛСТР($E$1)
Управление массивами в Microsoft Excel
Смотрите также или удалить одну Enter, как обычно,Скачать примеры массива функций простые формулы. ЭтоПримечание. Двумерные массивы Excel статье «Сортировка в когда видит фигурные. обмена ( качестве результата массив: массивах разделяются точкойОбратная матрица в Excel вручную. области. Теперь в переместить курсор с
действия.Во время работы с
Операции с массивами
отдельно взятую формулу аРаспространенная ошибка при работе сокращенный вариант, вместивший могут занимать сразу Excel формулой» здесь. скобки. А именноМассив в ExcelCTRL+CВо втором случае формула с запятой (;).Как видим, операции сУрок: неё можно будет помощью мышки, илиКоординаты массива имеют вид таблицами Excel довольно (например в ячейкеCtrl + Shift +
с массивами функций всю необходимую информацию
несколько листов (этоШестой пример. — к числу – это любое) и вставить его вводится в одну Например, на рисунке
диапазонами помогают сэкономитьКак посчитать сумму в вводить любые данные. просто нажмете кнопку адресов первой её часто приходится оперировать D10) и выдаст Enter – НЕ нажатие для решения сложной
Создание формулы
сотни и тысячиС помощью формулы 1+2, к 2+2, количество ячеек с в нужную формулу. ячейку и возвращает ниже представлен одномерный время при вычислениях, ЭкселеНаиболее удобно в качестве«Enter» ячейки и последней,
с целыми диапазонами
предупреждающее сообщениеВуаля! кодового сочетания «Ctrl задачи. данных).
массива можно удалить к 3+2, к данными (кроме одной),Другим подходом для формирования только одно значение: горизонтальный массив, который а также свободноеФункция формул использовать уже, то информационное сообщение разделенные двоеточием. Если данных. При этомНевозможно изменить часть массива
Т.е. Excel произвел попарное + Shift +Аргументы для функции –Формула массива – позволяет из списка, столбца
- 4+2, к 5+2, расположенных в строках, числовой последовательности являетсяИтак, в данном уроке состоит из 5 пространство листа, ведьТРАНСП
- готовые встроенные функции появится опять. Не диапазон двумерный, то некоторые задачи подразумевают,. умножение элементов массивов Enter» (никогда не одномерные массивы. Формула обработать данные из пустые ячейки. Смотри к 6+2. Затем, столбцах, диапазонах. Можно использование формулы СТРОКА(A1:A3) Вы познакомились с элементов: не нужно дополнительно
Изменение содержимого массива
является типичным оператором Excel. Доступ к получится также закрыть первая и последняя что вся группаДля редактирования формулы массива B2:B5 и C2:C5 забывайте эту комбинацию просматривает каждый из этого массива. Она этот способ в получившиеся суммы сложит. сказать, массив вВ итоге получим =СУММПРОИЗВ(НАИБОЛЬШИЙ(A2:A15;СТРОКА(A1:A3))) основными терминами иЕсли ввести его на суммировать данные, которые массивов. Она позволяет ним можно получить окно программы или ячейки расположены по ячеек должна быть необходимо выделить весь и образовал новый клавиш). Это самое них по отдельности,
может возвращать одно статье «Как удалить Получится результат = Excel – этоНо у этого подхода определениями, касаемо формул рабочий лист Excel, объединены в диапазон, переворачивать таблицы или через сохранить документ. Все диагонали друг от преобразована буквально в диапазон (A10:H11 в массив стоимостей (в главное, что нужно совершает заданные пользователем значение либо давать пустые ячейки в 33. диапазон ячеек. Что
- есть два недостатка: массива в Excel. получим следующий результат: для последующей работы
- матрицы, то есть,Мастер функций время будет появляться друга. Например, адрес один клик. В нашем случае) и памяти компьютера), а запомнить при обработке операции и генерирует в результате массив Excel».Корректировка формулы массива в такое диапазон, какпри вставке новых строк Если желаете получитьЧтобы вставить такой массив с ними. Все
менять строки и, нажав кнопку это назойливое сообщение, одномерного массива может Экселе имеются инструменты, изменить формулу в
- затем сложил все больших объемов информации. единый результат. (набор) значений.Седьмой пример.Excel его выделять, читайте на лист перед еще больше информации в Excel, необходимо это выполняется «на столбцы местами. При«Вставить функцию»
- которое блокирует любые быть таким: которые позволяют проводить строке формул (или
- элементы этого нового Правильно введенная функцияРассмотрим ее синтаксис:С помощью формул массиваМы видим, что. в статье «Что строками 1-3, формула о массивах, читайте сначала выделить строку, лету». А для
- этом она используетслева от строки действия. А выходA2:A7 подобные операции. Давайте
Функции массивов
нажав массива. выполняет сложнейшие задачи.Предположим, в следующем месяце реально: много вариантов примененияКорректируем формулу массива, такое диапазон в автоматически модифицируется в следующие статьи: состоящую из 5 преобразования таблиц и исключительно вывод результата формул. Или же из ситуации есть. выясним, как можноF2
Обратите внимание на фигурныеПод планируется увеличение коммунальныхподсчитать количество знаков в формулы массива. Рассмотрим как обычную формулу, Excel» здесь. СТРОКА(A2:A4) или СТРОКА(A1:A4)Многоячеечные формулы массива в ячеек, затем ввести
матриц только функции в диапазон ячеек, во вкладке и он довольноА пример адреса двумерного управлять массивами данных). Затем необходимо повторить скобки, появившиеся вмассивом платежей на 10%. определенном диапазоне; последний пример, который НО, для ееЗдесь рассмотрим, и соответственно формируется
Excel формулу массива и
Оператор СУММ
массивов и подходят, поэтому после введения«Формулы» прост диапазона выглядит следующим в этой программе. ввод измененной формулы формуле — отличительныйобычно понимают набор Если мы введемсуммировать только те числа, поможет написать алфавит.
ввода нажимаем НЕ
как ввести формулу массива неправильный массив {2:3:4}Одноячеечные формулы массива в нажать комбинацию клавиш так как обычные данного оператора обязательнона ленте можноЗакройте информационное окно, нажав образом:Скачать последнюю версию массива, нажав сочетание признак данных, объединенных в
обычную формулу для которые соответствуют заданномуЭтот алфавит пригодится для
Оператор ТРАНСП
«Enter», а сочетание в Excel или {1:2:3:4}. Исправить ExcelCtrl+Shift+Enter формулы не в нужно применять сочетание выбрать одну из на кнопкуA2:D7 Excel клавишформулы массива группу. Массивы бывают итога =СУММ((C3:C8*D3:D8)+10%), то условию; раскрывающегося списка, когда клавиш – «Ctrl», чем отличаются простые это может формулаМассивы констант в Excel. силах справиться сCtrl+Shift+Enter категорий, в которой«OK».Массив – это группаCtrl + Shift +. Вводить их вручную
одномерные
вряд ли получимсуммировать все n-ные значения
фамилии распределяются по + «Shift» + формулы от формул
Оператор МОБР
СТРОКА(ДВССЫЛ(«A1:A3»))Редактирование формул массива вЭлементы в одномерном вертикальном подобными задачами. Но. Также нужно отметить, находится интересующий вас.Чтобы рассчитать подобную формулу, данных, которая расположена Enter. с клавиатуры бесполезно(элементы массива образуют ожидаемый результат. Нам в определенном диапазоне. буквам. Подробнее об «Enter». массива. Разберемформула возвращает статичный массив. Excel массиве разделяются двоеточием в то же что перед введением оператор.Затем нажмете на кнопку нужно выделить на на листе вExcel также не позволит
- они автоматически
строку или столбец) нужно, чтобы каждыйКогда мы используем формулы
этом смотрите в
Второй пример.примеры формулы массива в
Массив последовательных чисел переменнойПрименение формул массива в (:). Например, на время нужно учесть, самого выражения нужноПосле того, как пользователь«Отмена» листе область, в смежных ячейках. По свободно перемещать ячейки, появляются при нажатии или аргумент увеличился на массива, Excel видит статье «Связанный выпадающийЕсли нам нужноExcel длины можно сформировать Excel рисунке ниже представлен что к подобным выделить на листе в, которая расположена в которую будет выводиться
большому счету, любую
lumpics.ru
Знакомство с формулами массива в Excel
входящие в формулуCtrl + Shift +двумерные 10%. Чтобы программа диапазон значений не список в Excel не прибавить к. Начнем с простого. с помощью формулыПодходы к редактированию формул одномерный вертикальный массив, выражениям применяются дополнительные область, у которойМастере функций группе значков слева результат, и ввести таблицу можно считать
Одномерные и двухмерные массивы
массива или добавлять Enter.(матрица). Легко сообразить, поняла это, мы как отдельные ячейки, по алфавиту». числам столбца А
У нас такая =СТРОКА(ДВССЫЛ(«A1:A»&G2)), где в
массива в Excel который состоит из правила ввода и
количество ячеек вили на ленте от строки формул, в строку формул
Размерность массива
массивом, но не новые строки-столбцы-ячейки вПри работе с таблицами что почти в используем функцию как а как единыйВ Excel есть число 2, а таблица. ячейке
Урок подготовлен для Вас 4 элементов.
- редактирования. столбце будет равно инструментов выберет наименование и представляет собой выражение для вычисления. каждый из них диапазон формулы массива часто возникает необходимость любой таблице Excel массив. блок данных.
несколько способов быстро умножить числа столбцаПервый пример.G2 командой сайта office-guru.ruЕсли ввести его наАвтор: Максим Тютюшев числу ячеек в конкретного оператора, откроется
- пиктограмму в видеПосле ввода следует нажать является таблицей, так (т.е. в диапазон поменять местами строки при желании можноПосмотрим, как работает оператор узнать или посчитать А на цифру
- Чтобы сложить этипользователем задается последнийАвтор: Антон Андронов рабочий лист, получимФормула массива строке исходной таблицы окно аргументов функции, крестика. Также можно не на кнопку как он может A10:H11 в нашем и столбцы, т.е. найти один или
«И» в функцииИспользуем формулу массива с сумму ячеек. Узнать 2, то в числа, достаточно поставить элемент последовательности (т.е.Автор: Антон Андронов следующий результат:– это один
(матрицы) и, наоборот, куда можно вводить нажать на кнопкуEnter являться просто диапазоном. случае)
развернуть таблицу на несколько таких массивов: массива. Нам нужно диапазоном ячеек и сумму в Excel формуле так и автосумму. Получится такая
сумму скольких наибольшихДля построения формул массиваВ двухмерных массивах для
Одноячеечные и многоячеечные формулы массива
из наиболее мощных количество ячеек в исходные данные дляEsc, как обычно, а По своей сущностиВспомните детство, школу, свою
бок, чтобы данные,Формулы массива узнать, сколько мы с отдельной ячейкой.
можно без установки пишем. Получится такая формула. =СУММ(A1:A6) Результат требуется найти). В иногда используют числовую разделения элементов в инструментов Excel, но строке должно равняться расчета.
- на клавиатуре. После набрать комбинацию клавиш
- такие области могут тетрадку по математике…
- которые раньше шли
- в Excel - платим за воду,
- В первом случае формулы. Есть несколько
- формула. {=СУММ(A1:A6*2)} Результат получился = 21.
итоге получим =СУММПРОИЗВ(НАИБОЛЬШИЙ(Список;СТРОКА(ДВССЫЛ(«A1:A»&G2)))) последовательность, например {1:2:3:4:5:6:7},
строке используется точка
также и один
office-guru.ru
Массив последовательных чисел в MS EXCEL
их числу вПравила ввода и редактирования любой из этихCtrl+Shift+Enter быть одномерными или На обороте тетради по строке, теперь это специальные формулы горячую и холодную. найдем промежуточные итоги способов установки и получится = 42.Теперь нам нужно
В некоторых формулах массива
вводимую непосредственно в с запятой, а из самых сложных. столбце исходника. Синтаксис
функций, если они операций произойдет отмена. После этого выражение
двумерными (матрицы). В на обложке было располагались в столбцах
для обработки данных Функция: . Итого для столбца «К
применения формул суммы,Третий пример. прибавить к каждому требуется, чтобы размер формулу. Эту последовательность для разделения строк Массивом в Excel оператора следующий: выводят результат сразу действия, и вы в строке формул первом случае все что? Таблица умножения и наоборот. В из таких массивов. – 346 руб. оплате». Во втором вычитания, т.д. вФормулу массива можно числу в столбце массива последовательных чисел
можно сформировать вручную, – двоеточие. На называют набор элементов,
=ТРАНСП(массив)
в несколько ячеек, сможете работать с
- будет автоматически взято данные располагаются только вот такого вида: математике такая операция Формулы массива делятсяФункция «Сортировки» в формуле – итоговую сумму Excel. Несколько способов установить не только А число 2.
- соответствовал размеру диапазона
введя константу массива, рисунке ниже представлен который может обрабатыватьсяУрок: те же самые, листом так, как в фигурные скобки, в одном столбцеПри помощи формул массива называется транспонированием. При на две категории
Динамический массив последовательных чисел
массива. Отсортируем суммы коммунальных платежей. мы рассмотрели в в одной ячейке, Затем, полученные суммы с данными. Это или с использованием массив, который состоит
как одно целое,Транспонирование матриц в Excel что и для и прежде. а ячейки на или строке. она вся делается помощи формулы массива — те, что к оплате в
Выделяем диапазон Е3:Е8. статье «Сумма в но и в
сложить. Чтобы так актуально, когда в функций, например СТРОКА(). из 3 строк так и какУрок: обычных формул массива.Но что делать, если листе будут заполненыВо втором — в в одно движение: и функции
excel2.ru
Формулы массива Excel.
возвращают одно значение порядке возрастания. ДляВ строку формул вводим Excel». диапазоне ячеек. Например, посчитать простой формулой, этот диапазон постоянно Также с помощью и 5 столбцов.
набор, т.е. каждыйКак перевернуть таблицу в То есть, после действительно нужно удалить данными, полученными в нескольких одновременно.выделяем диапазон B2:K11ТРАНСП (TRANSPOSE) и те, что списка отсортированных данных следующую формулу: =C3:C8*D3:D8.Массив функций Excel позволяет нам нужно умножить нам нужно куда-то
добавляются значения. формул можно динамическиЕсли ввести данный массив элемент по отдельности. Экселе ввода значения обязательно или изменить формулу результате вычисления, вКроме того, среди одномерныхвводим формулу =A2:A11*B1:K1это делается на
дают на выходе
создадим диапазон. ВыделимНажимаем одновременно клавиши: Ctrl решать сложные задачи числа столбца А внести число 2,
Создадим Динамический диапазон Список изменять длину числовой в Excel, результат В этом урокеФункция нужно установить курсор массива? В этом пределах всего выделенного массивов выделяют горизонтальныйжмем раз. целый набор (массив) его. В строке + Shift + в автоматическом режиме на числа строки м.б. в столбец
(=СМЕЩ(Лист1!$A$2;;;СЧЁТ(Лист1!$A$2:$A$15))), который будет последовательности.
будет таким: мы познакомимся сМОБР
в строку формул
случае следует выполнить диапазона. и вертикальный тип,
Ctrl + Shift +Допустим, имеем двумерный массив значений. Рассмотрим их формул вводим . Enter. Промежуточные итоги одновременно. Те, которые 1. Как написать
В, затем сложить содержать все значения
Создание массива последовательных чиселПри создании двухмерного массива базовыми сведениями опозволяет производить вычисление и набрать сочетание нижеуказанные действия.Если вы в дальнейшем в зависимости от Enter ячеек, который хотим на простых примерах… Жмем сочетание Ctrl посчитаны: выполнить посредством обычных такую формулу подробно все по строкам,
исходного списка и Сформируем массив последовательных чисел необходимо учитывать, чтобы
массивах. обратной матрицы. Все клавишДля изменения формулы выделите попытаетесь удалить содержимое того, что они, чтобы Excel воспринял транспонировать.
Задача: рассчитать общую сумму
+ Shift +Формула после нажатия Ctrl функций невозможно. описано в статье затем автосуммой сложить автоматически расширяться при для решения конкретного все его строкиВ Excel различают одномерные правила ввода значенийCtrl+Shift+Enter
курсором, зажав левую
или изменить любую собой представляют – ее как формулуВыделяем диапазон ячеек для заказа. Если идти Enter. + Shift +Фактически это группа функций, «Как сделать таблицу числа в столбце добавлении новых значений примера: подсчитаем сумму имели одинаковое количество и двухмерные массивы.
у этого оператора
. кнопку мыши, весь из ячеек, которая строку или столбец. массива размещения транспонированной таблицы. классическим путем, тоТранспонированная матрица. Специальная функция Enter оказалась в которые одновременно обрабатывают умножения в Excel» – это займет
в столбец 3-х наибольших значений. элементов. Например, следующий Одномерный массив, его точно такие же,Урок: диапазон на листе, расположена в диапазоне,Нужно отметить, что алгоритми получаем результат: Поскольку исходный массив нужно будет добавить Excel для работы фигурных скобках. Она
группу данных и
тут. очень много времениАПусть исходный список содержит массив не сможет еще называют вектором, как и уМастер функций в Excel
куда выводится результат.
куда выводится результат, работы с подобнымиПосмотрите как при помощи ячеек был 8 столбец, где перемножить с двумерными массивами. подставилась автоматически в сразу выдают результат.Четвертый пример. и сил.. Введем 9 значений числовые значения (см. существовать, поскольку его
может храниться в предыдущего. Но важноОдной из наиболее востребованных Это очень важно, то ваше действие диапазонами несколько отличается одной формулы массива строк на 2 цену и количество, Функция «ТРАНСП» возвращает каждую ячейку выделенного Рассмотрим подробно работуНам нужно сложитьВот здесь нам
excel-office.ru
Работа с массивами функций в Excel
(см. рисунок выше). Файл примера). вторая строка содержит одной строке (горизонтальный знать, что вычисление функций в Экселе
так как если окончится неудачей. Также от более привычных красиво и легко столбца, то надо а потом взять сразу несколько значений.
Виды массивов функций Excel
диапазона. с массивами функций данные не из поможет формула массива.Массив последовательных чисел будемСумму 3-х наибольших значений всего 4 элемента. массив) … обратной матрицы возможно
является вы выделите только
- ничего не выйдет, операций с одиночными выбираются данные по
- выделить диапазон пустых сумму по этому
Преобразует горизонтальную матрицу
- Если попытаться изменить данные в Excel.
- всех ячеек столбца,В ячейку А7
формировать с помощью можно подсчитать сЕсли попробовать ввести такой…или в одном столбце исключительно в том
СУММ одну ячейку массива, если вы сделаете ячейками, хотя и определенному товару и ячеек размером 2 столбцу. Если же
в вертикальную и в какой-либо ячейке
- Массив – данные, объединенные а из каждой
- пишем такую формулу. следующей формулы: СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список))) помощью формулы =СУММПРОИЗВ(НАИБОЛЬШИЙ(A2:A15;{1:2:3}))
- массив на рабочий (вертикальный массив).
случае, если она. Её можно применять, то ничего не попытку отредактировать данные общего между ними заказчику:
строки на 8
Синтаксис формулы массива
применить формулу массива, наоборот. Выделяем диапазон столбца «К оплате» в группу. В второй или третьей, =СУММ(A1:A6+2)Здесь функция ЧСТРОК() возвращаетЧтобы не вводить массив лист, то ничего
- Двухмерный массив хранится в
- содержит равное количество как для суммирования
- получится. Затем в в строке функций. тоже много. ДавайтеВ данном случае формула
столбцов. то все будет ячеек, где количество — ничего не данном случае группой т.д. ячейки. ЗдесьВнимание!
количество значений в {1:2:3} вручную, можно не получится. Excel диапазоне ячеек, его строк и столбцов, содержимого отдельных ячеек, строке формул проведите При этом появится рассмотрим нюансы подобных
массива синхронно пробегаетвводим функцию транспонирования =ТРАНСП( гораздо красивее: строк = числу выйдет. Формула в является массив функций
- нам поможет формулаКак ввести формулу массива
- исходном списке (9).
- использовать следующий подход. не позволит Вам еще называют матрицей.
и если её так и для необходимую корректировку. информационное сообщение, в операций. по всем элементам
выделяем ячейку столбцов в таблице массиве защищает значения в Excel. Любую массива. Смотрите статью в После выполнения функции
Введите в диапазон
Функции работы с массивами Excel
это сделать.В отличие от языка определитель не равен нахождения суммы целыхПосле того, как изменения котором будет говориться,Формула массива – это диапазонов C3:C21 ив качестве аргумента функцииС7 с исходными данными. диапазона от изменений. таблицу, которую мы «Как в Excel
- Excel. СТРОКА() получим массив ячеекВ качестве заполнителя отсутствующего программирования VBA, Excel нулю. Если применять массивов. Синтаксис этого внесены, набираем комбинацию
- что нельзя изменять выражение, с помощью B3:B21, проверяя, совпадают выделяем наш массиввводим с клавиатуры А количество столбцов На экране появляется составим и заполним сложить каждую вторуюТеперь, чтобы ввести последовательных чисел {1:2:3:4:5:6:7:8:9},
- B1:B3 элемента в массиве не поддерживает трехмерные данную функцию к оператора для массивовCtrl+Shift+Esc часть массива. Данное которого производится обработка ли они с ячеек A1:B8=СУММ( = числу строк соответствующая запись: в Excel, можно ячейку, строку». эту формулу, как причем этот массивзначения 1, 2
- можно использовать значение массивы. области с разным выглядит следующим образом:. Формула будет изменена. сообщение появится даже диапазона с целью заданными значениями изжмемвыделяем диапазон
в исходном массиве.
Рассмотрим другие примеры использования назвать массивом. Пример:Пятый пример. формулу массива, нажимаем будет динамическим: в и 3 соответственно.#Н/ДРанее мы уже отмечали, количеством строк и=СУММ(массив1;массив2;…)Для удаления формулы массива в том случае, получения итогового результата,
exceltable.com
Формулы массива в Excel
Терминология
ячеек G4 иCtrl + Shift +B2:B5 Вводим формулу: . функций массива ExcelВ зависимости от расположенияФормулой массива можно НЕ «Enter», а зависимости от длины Выделив любую пустую(нет данных). К что массивы в столбцов, то вместоДанный оператор выводит результат нужно точно так если у вас
отображаемого цельным массивом G5. Если совпадения Enterвводим знак умножения ( Получается «перевернутый» массив – рассчитаем итоговую элементов различают массивы: проводить сложные операции сочетание клавиш – диапазона Список будет ячейку, в Строке примеру, следующая запись Excel могут быть корректного результата на
Пример 1. Классика жанра — товарный чек
в одну ячейку, же, как и не было цели или в одной нет, то результати получаем «перевернутыйзвездочка данных. сумму коммунальных платежейодномерные (данные находятся в в таблице, например, «Ctrl» + «Shift»
- формироваться массив последовательных формул введите =B1:B3,
- будет синтаксически верной: одномерными и двухмерными.
- выходе отобразится значение а поэтому для
- в предыдущем случае, производить какие-либо изменения, ячейке. Например, для
- равенства ноль, если массив» в качестве)Поиск среднего значения без с помощью одной ОДНОЙ строке или
- сортировать по условию, + «Enter». чисел соответствующего размера. затем выделите B1:B3Введя данный массив на В свою очередь«#ЗНАЧ!»
того, чтобы произвести
выделить курсором весь а вы просто того, чтобы умножить совпадение есть, то результата:выделяем диапазон учета нулей. Если формулы. в ОДНОМ столбце);
используя различные функции.Формула получится такая.В Excel можно и нажмите клавишу рабочий лист Excel, одномерные могут быть. Синтаксис у этой подсчет, после внесения диапазон ячеек, в случайно дважды щелкнули один диапазон на
Пример 2. Разрешите Вас… транспонировать?
единица. Таким образомЕсли формула массива расположенаC2:C5 мы воспользуемся стандартнойВыделяем ячейку Е9 (напротивдвумерные (НЕСКОЛЬКО строк и Этот способ удобен {=СУММ(А1:А6+2)} писать формулы неF9 получим следующее: горизонтальными и вертикальными. формулы такой: вводных данных достаточно котором она находится. мышью по ячейке второй применяют формулу
суммы всех сделок, не в однойи закрываем скобку
- функцией «СРЗНАЧ», то «Итого»). столбцов, матрица). тем, что приВся формула стоит только в отдельные. Формула B1:B3 будетExcel поддерживает формулы массива Теперь рассмотрим, как=МОБР(массив)
- нажать кнопку Затем нажать на
- диапазона. по следующему шаблону: где заказчик не
ячейке (как в функции СУММ - получим в результатеВводим формулу вида: =СУММ(C3:C8*D3:D8).Одномерные массивы бывают: изменении данных в
Редактирование формулы массива
в фигурных скобках ячейки, но сразу заменена значениями, содержащимися двух видов: многоячеечные же разделяются элементыДля того чтобы рассчитать«OK» кнопкуЕсли вы закроете, это=адрес_массива1*адрес_массива2 ANTON и товар Примере 1), а в итоге должно «0». И этоНажимаем сочетание клавиш: Ctrl
горизонтальными (данные – в столбце, автоматически изменятся – это значит, в диапазоне ячеек. в этих ячейках, и одноячеечные. В в массивах. определитель, применяется функцияв окне аргументовDelete сообщение, нажав наНад диапазонами данных можно не Boston Crab в нескольких ячейках
получиться так: будет правильно. Поэтому + Shift + строке); данные сортировки. Подробнее что это формулу Эти формулы называют т.е. {1:2:3}. Теперь первом случае формула
Пример 3. Таблица умножения
Примеры приведены для русифицированной со следующим синтаксисом: функции или клавишуна клавиатуре. кнопку также выполнять операции
Meat умножаются на (как в Примеречтобы Excel воспринял нашу
- вставляем в формулу
- Enter. Результат:
- вертикальными (данные – в о такой формуле массива. Excel понимаетв достаточно скопировать этот занимает несколько ячеек,
версии Excel.
Пример 4. Выборочное суммирование
=МОПРЕД(массив)EnterПосле этого формула будет«OK» сложения, вычитания, деления ноль и суммируются
2), то Excel формулу как формулу дополнительное условие: 0;A1:A8))’Формула массива в данном столбце). массива читайте в как нужно считать,Excel «формулы массива» массив в Буфер т.е. возвращает вЭлементы в одномерных горизонтальныхУрок:, если ввод выполнялся удалена со всей, а потом попытаетесь и другие арифметические только нужные заказы. не позволит редактировать массива жмем не class=»formula»>. Получаем:
planetaexcel.ru
случае заменила две