Обработка элементов в excel

Время на прочтение
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 IntegerAs 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, название и цена) и есть две вложенные группы, к которым она принадлежит (тип и производитель). Более того, эти строки отсортированы. Пока мы забудем про пропуски перед началом новой группы — так будет проще. Я предлагаю такой алгоритм:

  1. Считали группы из очередной строки.
  2. Пробегаемся по всем группам в порядке приоритета (вначале более крупные)
    1. Если текущая группа не совпадает, вызываем процедуру AddGroup(i, name), где i — номер группы (от номера текущей до максимума), name — её имя. Несколько вызовов необходимы, чтобы создать не только наш заголовок, но и всё более мелкие.
  3. После отрисовки всех необходимых заголовков делаем еще одну строку и заполняем её данными.

Для упрощения работы рекомендую определить следующие функции-сокращения:

Function GetCol(Col As IntegerAs String
    GetCol = Chr(Asc("A") + Col)
End FunctionFunction GetCellS(Sheet As String, Col As Integer, Row As IntegerAs Range
    Set GetCellS = Sheets(Sheet).Range(GetCol(Col) + CStr(Row))
End FunctionFunction GetCell(Col As Integer, Row As IntegerAs 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 видит диапазон значений не как отдельные ячейки, а как единый блок данных.



Синтаксис формулы массива

Используем формулу массива с диапазоном ячеек и с отдельной ячейкой. В первом случае найдем промежуточные итоги для столбца «К оплате». Во втором – итоговую сумму коммунальных платежей.

  1. Выделяем диапазон Е3:Е8.
  2. В строку формул вводим следующую формулу: =C3:C8*D3:D8.
  3. Формула промежуточных итогов.

  4. Нажимаем одновременно клавиши: Ctrl + Shift + Enter. Промежуточные итоги посчитаны:
  5. Результат вычисления промежуточных итогов.

Формула после нажатия Ctrl + Shift + Enter оказалась в фигурных скобках. Она подставилась автоматически в каждую ячейку выделенного диапазона.

Если попытаться изменить данные в какой-либо ячейке столбца «К оплате» — ничего не выйдет. Формула в массиве защищает значения диапазона от изменений. На экране появляется соответствующая запись:

Ошибка.

Рассмотрим другие примеры использования функций массива Excel – рассчитаем итоговую сумму коммунальных платежей с помощью одной формулы.

  1. Выделяем ячейку Е9 (напротив «Итого»).
  2. Вводим формулу вида: =СУММ(C3:C8*D3:D8).
  3. Нажимаем сочетание клавиш: Ctrl + Shift + Enter. Результат:
  4. Итог одной формулой.

Формула массива в данном случае заменила две простые формулы. Это сокращенный вариант, вместивший всю необходимую информацию для решения сложной задачи.

Аргументы для функции – одномерные массивы. Формула просматривает каждый из них по отдельности, совершает заданные пользователем операции и генерирует единый результат.

Рассмотрим ее синтаксис:

Синтаксис массива функций.

Функции работы с массивами Excel

Предположим, в следующем месяце планируется увеличение коммунальных платежей на 10%. Если мы введем обычную формулу для итога =СУММ((C3:C8*D3:D8)+10%), то вряд ли получим ожидаемый результат. Нам нужно, чтобы каждый аргумент увеличился на 10%. Чтобы программа поняла это, мы используем функцию как массив.

Сложный массив.

  1. Посмотрим, как работает оператор «И» в функции массива. Нам нужно узнать, сколько мы платим за воду, горячую и холодную. Функция: . Итого – 346 руб.
  2. Выборочный итог.

  3. Функция «Сортировки» в формуле массива. Отсортируем суммы к оплате в порядке возрастания. Для списка отсортированных данных создадим диапазон. Выделим его. В строке формул вводим . Жмем сочетание Ctrl + Shift + Enter.
  4. Сортировка итогов.

  5. Транспонированная матрица. Специальная функция Excel для работы с двумерными массивами. Функция «ТРАНСП» возвращает сразу несколько значений. Преобразует горизонтальную матрицу в вертикальную и наоборот. Выделяем диапазон ячеек, где количество строк = числу столбцов в таблице с исходными данными. А количество столбцов = числу строк в исходном массиве. Вводим формулу: . Получается «перевернутый» массив данных.
  6. Перевернутый массив данных.

  7. Поиск среднего значения без учета нулей. Если мы воспользуемся стандартной функцией «СРЗНАЧ», то получим в результате «0». И это будет правильно. Поэтому вставляем в формулу дополнительное условие: . Получаем:
  8. Условие в массиве.

Скачать примеры массива функций

Распространенная ошибка при работе с массивами функций – НЕ нажатие кодового сочетания «Ctrl + Shift + Enter» (никогда не забывайте эту комбинацию клавиш). Это самое главное, что нужно запомнить при обработке больших объемов информации. Правильно введенная функция выполняет сложнейшие задачи.

Значительная
часть работы в Excel
приходится на ввод данных, их редактирование
и обработку.

Общие принципы

В
ячейку рабочего листа можно вводить
число, текст, дату/время или формулу.
Ввод всегда происходит в активную
ячейку. Место появления вводимых символов
указывает мигающий курсор.

Весь
введенный текст
и числа
отображаются и в строке формул, и в самой
ячейке. При вводе формул
(по умолчанию) в ячейке отражается
результат вычислений, а в строке формул
видна сама вводимая формула или функция.

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

Форматирование
и защита рабочих листов

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

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

Форматирование
в Excel
включает в себя решение следующих
вопросов:

  • изменение
    шрифта, размеров, начертания и цвета
    символов

  • выравнивание
    и изменение ориентации текста и чисел
    в ячейках

  • форматирование
    чисел, дат и времени

  • форматирование
    строк и столбцов

  • создание
    и использование пользовательских
    форматов

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

  • защита
    ячеек, листов и рабочих книг

  • использование
    стилей при форматировании

  • применение
    автоформатов

Большинство
операций по форматированию таблиц
сосредоточено в пункте меню Формат|Ячейки
на соответствующих вкладках, но наиболее
употребляемые операции (цвет заливки,
цвет шрифта, выравнивание по различным
признакам, границы, разрядность и т.п.)
выведены в качестве пиктограмм панели
инструментов Форматирование.

Построение диаграмм в Excel

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

Диаграмма, созданная на одном рабочем
листе с таблицей, называется внедренной.
Для построения диаграмм в Excel используется:

  • Мастер диаграмм;

  • Панель Диаграммы.

Мастер
диаграмм позволяет строить несколько
типов графиков, для каждого из которых
можно выбрать модификацию основного
варианта диаграммы.

Элементы диаграммы

Основные компоненты
диаграммы представлены на следующей
схеме:

Примечание:
для объемной диаграммы составные части
несколько отличаются.

Типы диаграмм

В
зависимости от выбранного типа диаграммы
можно получить различное отображение
данных:

  • линейчатые
    диаграммы

    и гистограммы
    могут быть
    использованы для иллюстрации соотношения
    отдельных значений или показа динамики
    изменения данных за определенный период
    времени;

  • график
    отражает тенденции изменения данных
    за определенные промежутки времени;

  • круговые
    диаграммы

    предназначены для наглядного отображения
    соотношения частей и целого

  • точечная
    диаграмма

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

  • диаграмма
    с областями

    подчеркивает величину изменения данных
    во времени, показывая сумму введенных
    значений, а также демонстрирует вклад
    отдельных значений в общую сумму;

  • кольцевая
    диаграмма

    показывает вклад каждого элемента в
    общую сумму, но, в отличие от круговой
    диаграммы, может содержать несколько
    рядов данных (каждое кольцо – отдельный
    ряд);

  • лепестковая
    диаграмма

    позволяет сравнивать общие значения
    из нескольких рядов данных;

  • поверхностная
    диаграмма

    используется для поиска наилучшего
    сочетания двух наборов данных;

  • пузырьковая
    диаграмма

    представляет разновидность точечной
    диаграммы, где два значения определяют
    положение пузырька, а третье – его
    размер;

  • биржевая
    диаграмма

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

Кроме
того, можно строить диаграммы так
называемого нестандартного
типа, позволяющие совмещать в одной
диаграмме различные типы представления
данных.

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

В этом посте Ренат Шагабутдинов, ассистент генерального директора издательства «Манн, Иванов и Фербер», делится классными Excel-лайфхаками. Приведённые советы будут полезны для всех, кто занимается различной отчётностью, обработкой данных и созданием презентаций.

Excel-лайфхаки для тех, кто занимается отчётностью и обработкой данных

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

В этой статье собраны несложные приёмы, позволяющие упростить работу в Excel. Особенно они пригодятся тем, кто занимается управленческой отчётностью, готовит разнообразные аналитические отчёты, основанные на выгрузках из 1С и других отчётах, формирует из них презентации и диаграммы для руководства. Не претендую на абсолютную новизну — в том или ином виде эти приёмы наверняка обсуждались на форумах или упоминались в статьях.

Простые альтернативы ВПР и ГПР, если искомые значения не в первом столбце таблицы: ПРОСМОТР, ИНДЕКС+ПОИСКПОЗ

Функции ВПР (VLOOKUP) и ГПР (HLOOKUP) работают только в том случае, если искомые значения находятся в первом столбце или строке той таблицы, из которой вы планируете получить данные.

В остальных случаях есть два варианта:

  1. Использовать функцию ПРОСМОТР (LOOKUP).
    У неё следующий синтаксис: ПРОСМОТР (искомое_значение; вектор_просмотра; вектор_результата). Но для её корректной работы нужно, чтобы значения диапазона вектор_просмотра были отсортированы по возрастанию:
  2. Использовать сочетание функций ПОИСКПОЗ (MATCH) и ИНДЕКС (INDEX).
    Функция ПОИСКПОЗ возвращает порядковый номер элемента в массиве (с её помощью вы можете найти, в какой строке таблицы искомый элемент), а функция ИНДЕКС возвращает элемент массива с заданным номером (который мы и узнаем с помощью функции ПОИСКПОЗ).Синтаксис функций:
    • ПОИСКПОЗ (искомое_значение; массив_поиска; тип_сопоставления) — для нашего случая нам нужен тип сопоставления «точное сопоставление», ему соответствует цифра 0.
    • ИНДЕКС (массив; номер_строки; [номер_столбца]). В данном случае номер столбца указывать не нужно, так как массив состоит из одной строки.

Как быстро заполнить пустые ячейки в списке

Задача — заполнить ячейки в столбце со значениями сверху (чтобы тематика стояла в каждой строке таблицы, а не только в первой строке блока книг по тематике):

Выделяем столбец «Тематика», нажимаем на ленте в группе «Главная» кнопку «Найти и выделить» → «Выделить группу ячеек» → «Пустые ячейки» и начинаем ввод формулы (то есть ставим знак равно) и ссылаемся на ячейку сверху, просто нажимая стрелку вверх на клавиатуре. После этого нажимаем Ctrl + Enter. После этого можно сохранить полученные данные как значения, так как формулы больше не нужны:

Как найти ошибки в формуле

Вычисление отдельной части формулы

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

  1. Чтобы вычислить часть формулы прямо в строке формул, выделите эту часть и нажмите F9:

    В данном примере была проблема с функцией ПОИСК (SEARCH) — в ней были перепутаны местами аргументы. Важно помнить, что если вы не отмените вычисление части функции и нажмёте Enter, то вычисленная часть так и останется числом.
  2. Нажмите на кнопку «Вычислить формулу» в группе «Формулы» на ленте:

    В появившемся окне можно вычислять формулу по шагам и определить, на каком этапе и в какой функции возникает ошибка (если она есть):

Как определить, от чего зависит или на что ссылается формула

Чтобы определить, от каких ячеек зависит формула, в группе «Формулы» на ленте нажмите на кнопку «Влияющие ячейки»:

Появляются стрелки, указывающие, от чего зависит результат вычислений.

Если отображается символ, выделенный на картинке красным цветом, то формула зависит от ячеек, находящихся на других листах или в других книгах:

Щёлкнув на него, мы увидим, где именно находятся влияющие ячейки или диапазоны:

Рядом с кнопкой «Влияющие ячейки» находится кнопка «Зависимые ячейки», работающая аналогично: она отображает стрелки от активной ячейки с формулой к ячейкам, которые зависят от неё.

Кнопка «Убрать стрелки», расположенная в том же блоке, позволяет убрать стрелки к влияющим ячейкам, стрелки к зависимым ячейкам или же оба типа стрелок сразу:

Как найти сумму (количество, среднее) значений ячеек с нескольких листов

Допустим, у вас есть несколько однотипных листов с данными, которые вы хотите сложить, посчитать или обработать как-то иначе:

Для этого в ячейку, в которой вы хотите видеть результат, введите стандартную формулу, например СУММ (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:

Для решения этой задачи можно воспользоваться сложной формулой, состоящей из следующих функций:

  1. ДЛСТР (LEN) — вычисляет длину текста, единственный аргумент — текст. Пример: ДЛСТР (“машина”) = 6.
  2. ПОДСТАВИТЬ (SUBSTITUTE) — заменяет в текстовой строке определённый текст другим. Синтаксис: ПОДСТАВИТЬ (текст; стар_текст; нов_текст). Пример: ПОДСТАВИТЬ (“автомобиль”;“авто”;“”)= “мобиль”.
  3. ПРОПИСН (UPPER) — заменяет все символы в строке на прописные. Единственный аргумент — текст. Пример: ПРОПИСН (“машина”) = “МАШИНА”. Эта функция понадобится нам, чтобы делать поиск без учёта регистра. Ведь ПРОПИСН(“машина”)=ПРОПИСН(“Машина”)

Чтобы найти вхождение определённой текстовой строки в другую, нужно удалить все её вхождения в исходную и сравнить длину полученной строки с исходной:

ДЛСТР(“Тариф МТС Супер МТС”) – ДЛСТР(“Тариф Супер”) = 6

А затем разделить эту разницу на длину той строки, которую мы искали:

6 / ДЛСТР (“МТС”) = 2

Именно два раза строка «МТС» входит в исходную.

Осталось записать этот алгоритм на языке формул (обозначим «текстом» тот текст, в котором мы ищем вхождения, а «искомым» — тот, число вхождений которого нас интересует):

=(ДЛСТР(текст)-ДЛСТР(ПОДСТАВИТЬ(ПРОПИСН(текст);ПРОПИСН(искомый);“”)))/ДЛСТР(искомый)

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

=(ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(ПРОПИСН(A2);ПРОПИСН($E$1);“”)))/ДЛСТР($E$1)

Управление массивами в Microsoft Excel

Массив в программе Microsoft Excel

​Смотрите также​ или удалить одну​ Enter, как обычно,​Скачать примеры массива функций​ простые формулы. Это​Примечание. Двумерные массивы Excel​ статье «Сортировка в​ когда видит фигурные​.​ обмена (​ качестве результата массив:​ массивах разделяются точкой​Обратная матрица в Excel​ вручную.​ области. Теперь в​ переместить курсор с​

​ действия.​Во время работы с​

Операции с массивами

​ отдельно взятую формулу​ а​Распространенная ошибка при работе​ сокращенный вариант, вместивший​ могут занимать сразу​ Excel формулой» здесь.​ скобки. А именно​Массив в Excel​CTRL+C​Во втором случае формула​ с запятой (;).​Как видим, операции с​Урок:​ неё можно будет​ помощью мышки, или​Координаты массива имеют вид​ таблицами Excel довольно​ (например в ячейке​Ctrl + Shift +​

Одномерный массив в Microsoft Excel

​ с массивами функций​ всю необходимую информацию​

Двумерный массив в Microsoft Excel

​ несколько листов (это​Шестой пример.​ — к числу​ – это любое​) и вставить его​ вводится в одну​ Например, на рисунке​

Горизонатльные и вертикальные одномерные массивы в Microsoft Excel

​ диапазонами помогают сэкономить​Как посчитать сумму в​ вводить любые данные.​ просто нажмете кнопку​ адресов первой её​ часто приходится оперировать​ D10) и выдаст​ Enter​ – НЕ нажатие​ для решения сложной​

Создание формулы

​ сотни и тысячи​С помощью формулы​ 1+2, к 2+2,​ количество ячеек с​ в нужную формулу.​ ячейку и возвращает​ ниже представлен одномерный​ время при вычислениях,​ Экселе​Наиболее удобно в качестве​«Enter»​ ячейки и последней,​

​ с целыми диапазонами​

​ предупреждающее сообщение​Вуаля!​ кодового сочетания «Ctrl​ задачи.​ данных).​

​ массива можно удалить​ к 3+2, к​ данными (кроме одной),​Другим подходом для формирования​ только одно значение:​ горизонтальный массив, который​ а также свободное​Функция​ формул использовать уже​, то информационное сообщение​ разделенные двоеточием. Если​​ данных. При этом​​Невозможно изменить часть массива​

Адрес одномерного массива в Microsoft Excel

​Т.е. Excel произвел попарное​ + Shift +​Аргументы для функции –​​Формула массива – позволяет​​ из списка, столбца​

Адрес двумерного массива в Microsoft Excel

  1. ​ 4+2, к 5+2,​ расположенных в строках,​ числовой последовательности является​Итак, в данном уроке​ состоит из 5​ пространство листа, ведь​ТРАНСП​

    Введение формулы массива в Microsoft Excel

  2. ​ готовые встроенные функции​ появится опять. Не​​ диапазон двумерный, то​​ некоторые задачи подразумевают,​.​​ умножение элементов массивов​​ Enter» (никогда не​ одномерные массивы. Формула​ обработать данные из​ пустые ячейки. Смотри​ к 6+2. Затем,​ столбцах, диапазонах. Можно​ использование формулы СТРОКА(A1:A3)​ Вы познакомились с​ элементов:​ не нужно дополнительно​

Результат вычислений формулы массива в Microsoft Excel

Изменение содержимого массива

​является типичным оператором​ Excel. Доступ к​ получится также закрыть​ первая и последняя​ что вся группа​Для редактирования формулы массива​ B2:B5 и C2:C5​ забывайте эту комбинацию​ просматривает каждый из​ этого массива. Она​ этот способ в​ получившиеся суммы сложит.​ сказать, массив в​В итоге получим =СУММПРОИЗВ(НАИБОЛЬШИЙ(A2:A15;СТРОКА(A1:A3)))​ основными терминами и​Если ввести его на​ суммировать данные, которые​ массивов. Она позволяет​ ним можно получить​ окно программы или​ ячейки расположены по​ ячеек должна быть​ необходимо выделить весь​ и образовал новый​ клавиш). Это самое​ них по отдельности,​

Нельзя изменять часть массива в Microsoft Excel

​ может возвращать одно​ статье «Как удалить​ Получится результат =​​ Excel – это​​Но у этого подхода​ определениями, касаемо формул​ рабочий лист Excel,​ объединены в диапазон,​​ переворачивать таблицы или​​ через​ сохранить документ. Все​ диагонали друг от​ преобразована буквально в​ диапазон (A10:H11 в​ массив стоимостей (в​ главное, что нужно​ совершает заданные пользователем​ значение либо давать​ пустые ячейки в​ 33.​ диапазон ячеек. Что​

  1. ​ есть два недостатка:​ массива в Excel.​​ получим следующий результат:​​ для последующей работы​

    Закрытие информационного окна в Microsoft Excel

  2. ​ матрицы, то есть,​​Мастер функций​​ время будет появляться​ друга. Например, адрес​ один клик. В​ нашем случае) и​ памяти компьютера), а​ запомнить при обработке​ операции и генерирует​​ в результате массив​​ Excel».​Корректировка формулы массива в​ такое диапазон, как​при вставке новых строк​ Если желаете получить​Чтобы вставить такой массив​ с ними. Все​

Отмена действия в Microsoft Excel

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

  1. ​ затем сложил все​ больших объемов информации.​ единый результат.​ (набор) значений.​Седьмой пример.​Excel​ его выделять, читайте​ на лист перед​ еще больше информации​ в Excel, необходимо​ это выполняется «на​ столбцы местами. При​«Вставить функцию»​

    Внесение изменений в формулу массива в Microsoft Excel

  2. ​ которое блокирует любые​ быть таким:​​ которые позволяют проводить​​ строке формул (или​

Изменения в формулу массива внесены в Microsoft Excel

  1. ​ элементы этого нового​ Правильно введенная функция​Рассмотрим ее синтаксис:​С помощью формул массива​Мы видим, что​.​ в статье «Что​ строками 1-3, формула​ о массивах, читайте​​ сначала выделить строку,​​ лету». А для​

    Удаление формулы массива в Microsoft Excel

  2. ​ этом она использует​слева от строки​ действия. А выход​A2:A7​ подобные операции. Давайте​

Формула массива удалена в Microsoft Excel

Функции массивов

​ нажав​ массива.​ выполняет сложнейшие задачи.​Предположим, в следующем месяце​ реально:​ много вариантов применения​​Корректируем формулу массива,​​ такое диапазон в​​ автоматически модифицируется в​​ следующие статьи:​ состоящую из 5​ преобразования таблиц и​​ исключительно вывод результата​​ формул. Или же​ из ситуации есть​.​ выясним, как можно​F2​

Переход к функциям в Microsoft Excel

​Обратите внимание на фигурные​Под​​ планируется увеличение коммунальных​​подсчитать количество знаков в​ формулы массива. Рассмотрим​ как обычную формулу,​ Excel» здесь.​ СТРОКА(A2:A4) или СТРОКА(A1:A4)​Многоячеечные формулы массива в​ ячеек, затем ввести​

​ матриц только функции​ в диапазон ячеек,​ во вкладке​ и он довольно​А пример адреса двумерного​ управлять массивами данных​). Затем необходимо повторить​ скобки, появившиеся в​массивом​ платежей на 10%.​ определенном диапазоне;​ последний пример, который​ НО, для ее​​Здесь рассмотрим,​​ и соответственно формируется​

​ Excel​​ формулу массива и​

Оператор СУММ

​ массивов и подходят,​ поэтому после введения​«Формулы»​​ прост​​ диапазона выглядит следующим​ в этой программе.​ ввод измененной формулы​ формуле — отличительный​обычно понимают набор​ Если мы введем​суммировать только те числа,​ поможет написать алфавит.​

​ ввода нажимаем НЕ​

Функция СУММ в Microsoft Excel

​как ввести формулу массива​ неправильный массив {2:3:4}​Одноячеечные формулы массива в​ нажать комбинацию клавиш​ так как обычные​ данного оператора обязательно​на ленте можно​​Закройте информационное окно, нажав​​ образом:​Скачать последнюю версию​​ массива, нажав сочетание​​ признак​ данных, объединенных в​

​ обычную формулу для​​ которые соответствуют заданному​Этот алфавит пригодится для​

Оператор ТРАНСП

​ «Enter», а сочетание​​ в Excel​​ или {1:2:3:4}. Исправить​ Excel​Ctrl+Shift+Enter​ формулы не в​ нужно применять сочетание​ выбрать одну из​ на кнопку​A2:D7​ Excel​ клавиш​формулы массива​ группу. Массивы бывают​​ итога =СУММ((C3:C8*D3:D8)+10%), то​​ условию;​ раскрывающегося списка, когда​ клавиш – «Ctrl»​, чем отличаются простые​ это может формула​Массивы констант в Excel​.​ силах справиться с​Ctrl+Shift+Enter​ категорий, в которой​«OK»​.​Массив – это группа​Ctrl + Shift +​. Вводить их вручную​

​одномерные​

Функция ТРАНСП в Microsoft Excel

​ вряд ли получим​​суммировать все n-ные значения​

​ фамилии распределяются по​​ + «Shift» +​ формулы от формул​

Оператор МОБР

​ СТРОКА(ДВССЫЛ(«A1:A3»))​​Редактирование формул массива в​​Элементы в одномерном вертикальном​ подобными задачами. Но​. Также нужно отметить,​ находится интересующий вас​.​Чтобы рассчитать подобную формулу,​ данных, которая расположена​ Enter.​ с клавиатуры бесполезно​(элементы массива образуют​ ожидаемый результат. Нам​ в определенном диапазоне.​ буквам. Подробнее об​ «Enter».​ массива. Разберем​формула возвращает статичный массив.​ Excel​ массиве разделяются двоеточием​ в то же​ что перед введением​ оператор.​Затем нажмете на кнопку​​ нужно выделить на​​ на листе в​Excel также не позволит​

​ - они автоматически​

Функция МОБР в Microsoft Excel

​ строку или столбец)​ нужно, чтобы каждый​Когда мы используем формулы​

​ этом смотрите в​

Функция МОПРЕД в Microsoft Excel

​Второй пример.​​примеры формулы массива в​

​Массив последовательных чисел переменной​Применение формул массива в​ (:). Например, на​ время нужно учесть,​ самого выражения нужно​После того, как пользователь​«Отмена»​ листе область, в​ смежных ячейках. По​ свободно перемещать ячейки,​ появляются при нажатии​ или​ аргумент увеличился на​ массива, Excel видит​ статье «Связанный выпадающий​Если нам нужно​Excel​ длины можно сформировать​ Excel​ рисунке ниже представлен​ что к подобным​ выделить на листе​ в​, которая расположена в​ которую будет выводиться​

​ большому счету, любую​

lumpics.ru

Знакомство с формулами массива в Excel

​ входящие в формулу​​Ctrl + Shift +​двумерные​ 10%. Чтобы программа​ диапазон значений не​ список в Excel​ не прибавить к​. Начнем с простого.​ с помощью формулы​Подходы к редактированию формул​ одномерный вертикальный массив,​ выражениям применяются дополнительные​ область, у которой​Мастере функций​ группе значков слева​ результат, и ввести​ таблицу можно считать​

Одномерные и двухмерные массивы

​ массива или добавлять​ Enter.​(матрица). Легко сообразить,​ поняла это, мы​ как отдельные ячейки,​ по алфавиту».​ числам столбца А​

Формула массива в Excel

​ У нас такая​ =СТРОКА(ДВССЫЛ(«A1:A»&G2)), где в​

Формула массива в Excel

​ массива в Excel​ который состоит из​ правила ввода и​

Формула массива в Excel

​ количество ячеек в​или на ленте​ от строки формул,​ в строку формул​

Размерность массива

​ массивом, но не​ новые строки-столбцы-ячейки в​При работе с таблицами​ что почти в​ используем функцию как​ а как единый​В Excel есть​ число 2, а​ таблица.​ ячейке​

​Урок подготовлен для Вас​ 4 элементов.​

  1. ​ редактирования.​ столбце будет равно​ инструментов выберет наименование​ и представляет собой​ выражение для вычисления.​ каждый из них​ диапазон формулы массива​ часто возникает необходимость​Формула массива в Excel​ любой таблице Excel​ массив.​ блок данных.​

    Формула массива в Excel

​ несколько способов быстро​ умножить числа столбца​Первый пример.​G2​ командой сайта office-guru.ru​Если ввести его на​Автор: Максим Тютюшев​​ числу ячеек в​​ конкретного оператора, откроется​

  1. ​ пиктограмму в виде​После ввода следует нажать​ является таблицей, так​ (т.е. в диапазон​ поменять местами строки​ при желании можно​Посмотрим, как работает оператор​Формула массива в Excel​​ узнать или посчитать​ А на цифру​

    Формула массива в Excel

  2. ​Чтобы сложить эти​пользователем задается последний​Автор: Антон Андронов​ рабочий лист, получим​Формула массива​ строке исходной таблицы​ окно аргументов функции,​ крестика. Также можно​ не на кнопку​ как он может​Формула массива в Excel​ A10:H11 в нашем​ и столбцы, т.е.​ найти один или​

    Формула массива в Excel

​ «И» в функции​Используем формулу массива с​ сумму ячеек. Узнать​ 2, то в​ числа, достаточно поставить​ элемент последовательности (т.е.​Автор: Антон Андронов​ следующий результат:​– это один​

Формула массива в Excel

​ (матрицы) и, наоборот,​ куда можно вводить​ нажать на кнопку​Enter​ являться просто диапазоном.​ случае)​

​ развернуть таблицу на​ несколько таких массивов:​ массива. Нам нужно​​ диапазоном ячеек и​​ сумму в Excel​ формуле так и​ автосумму. Получится такая​

Формула массива в Excel

​ сумму скольких наибольших​Для построения формул массива​В двухмерных массивах для​

Формула массива в Excel

Одноячеечные и многоячеечные формулы массива

​ из наиболее мощных​ количество ячеек в​ исходные данные для​Esc​, как обычно, а​ По своей сущности​Вспомните детство, школу, свою​

Формула массива в Excel

​ бок, чтобы данные,​Формулы массива​ узнать, сколько мы​ с отдельной ячейкой.​

Формула массива в Excel

​ можно без установки​ пишем. Получится такая​ формула. =СУММ(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. ​ получится. Затем в​ в строке функций.​ тоже много. Давайте​В данном случае формула​Результат вычисления промежуточных итогов.

​ столбцов.​ то все будет​ ячеек, где количество​ — ничего не​ данном случае группой​ т.д. ячейки. Здесь​Внимание!​

​ количество значений в​ {1:2:3} вручную, можно​ не получится. Excel​ диапазоне ячеек, его​ строк и столбцов,​ содержимого отдельных ячеек,​ строке формул проведите​ При этом появится​ рассмотрим нюансы подобных​

Ошибка.

​ массива синхронно пробегает​вводим функцию транспонирования =ТРАНСП(​ гораздо красивее:​ строк = числу​ выйдет. Формула в​ является массив функций​

  1. ​ нам поможет формула​Как ввести формулу массива​
  2. ​ исходном списке (9).​
  3. ​ использовать следующий подход.​ не позволит Вам​ еще называют матрицей.​Итог одной формулой.

​ и если её​ так и для​ необходимую корректировку.​ информационное сообщение, в​ операций.​ по всем элементам​   ​

​выделяем ячейку​ столбцов в таблице​ массиве защищает значения​ в Excel. Любую​ массива. Смотрите статью​ в​ После выполнения функции​

​Введите в диапазон​

Синтаксис массива функций.

Функции работы с массивами Excel

​ это сделать.​В отличие от языка​ определитель не равен​ нахождения суммы целых​После того, как изменения​ котором будет говориться,​Формула массива – это​ диапазонов C3:C21 и​в качестве аргумента функции​С7​ с исходными данными.​ диапазона от изменений.​ таблицу, которую мы​ «Как в Excel​

Сложный массив.

  1. ​Excel.​ СТРОКА() получим массив​ ячеек​В качестве заполнителя отсутствующего​ программирования VBA, Excel​ нулю. Если применять​ массивов. Синтаксис этого​ внесены, набираем комбинацию​Выборочный итог.
  2. ​ что нельзя изменять​ выражение, с помощью​ B3:B21, проверяя, совпадают​ выделяем наш массив​вводим с клавиатуры​ А количество столбцов​ На экране появляется​ составим и заполним​ сложить каждую вторую​Теперь, чтобы ввести​ последовательных чисел {1:2:3:4:5:6:7:8:9},​Сортировка итогов.
  3. ​B1:B3​ элемента в массиве​ не поддерживает трехмерные​ данную функцию к​ оператора для массивов​Ctrl+Shift+Esc​ часть массива. Данное​ которого производится обработка​ ли они с​ ячеек A1:B8​=СУММ(​ = числу строк​ соответствующая запись:​ в Excel, можно​ ячейку, строку».​ эту формулу, как​ причем этот массив​значения 1, 2​Перевернутый массив данных.
  4. ​ можно использовать значение​ массивы.​ области с разным​ выглядит следующим образом:​. Формула будет изменена.​ сообщение появится даже​ диапазона с целью​ заданными значениями из​жмем​выделяем диапазон​Условие в массиве.

​ в исходном массиве.​

​Рассмотрим другие примеры использования​ назвать массивом. Пример:​Пятый пример.​ формулу массива, нажимаем​ будет динамическим: в​ и 3 соответственно.​#Н/Д​Ранее мы уже отмечали,​ количеством строк и​=СУММ(массив1;массив2;…)​Для удаления формулы массива​ в том случае,​ получения итогового результата,​

exceltable.com

Формулы массива в Excel

Терминология

​ ячеек G4 и​​Ctrl + Shift +​​B2:B5​ Вводим формулу: .​ функций массива Excel​​В зависимости от расположения​​Формулой массива можно​ НЕ «Enter», а​ зависимости от длины​​ Выделив любую пустую​​(нет данных). К​ что массивы в​ столбцов, то вместо​Данный оператор выводит результат​ нужно точно так​ если у вас​

Работа с массивами данных эксель

​ отображаемого цельным массивом​​ G5. Если совпадения​ Enter​вводим знак умножения (​ Получается «перевернутый» массив​ – рассчитаем итоговую​ элементов различают массивы:​ проводить сложные операции​ сочетание клавиш –​ диапазона Список будет​ ячейку, в Строке​ примеру, следующая запись​ Excel могут быть​ корректного результата на​

Пример 1. Классика жанра — товарный чек

Работа с массивами данных эксель

​ в одну ячейку,​ же, как и​ не было цели​ или в одной​ нет, то результат​и получаем «перевернутый​звездочка​ данных.​ сумму коммунальных платежей​одномерные (данные находятся в​ в таблице, например,​ «Ctrl» + «Shift»​

  1. ​ формироваться массив последовательных​​ формул введите =B1:B3,​
  2. ​ будет синтаксически верной:​​ одномерными и двухмерными.​
  3. ​ выходе отобразится значение​​ а поэтому для​
  4. ​ в предыдущем случае,​​ производить какие-либо изменения,​​ ячейке. Например, для​
  5. ​ равенства ноль, если​​ массив» в качестве​​)​Поиск среднего значения без​ с помощью одной​ ОДНОЙ строке или​
    Работа с массивами данных эксель
  6. ​ сортировать по условию,​ + «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 воспринял нашу​

Работа с массивами данных эксель

  1. ​ вставляем в формулу​
  2. ​ Enter. Результат:​
  3. ​вертикальными (данные – в​​ о такой формуле​ массива. Excel понимает​​в​ достаточно скопировать этот​ занимает несколько ячеек,​

​ версии Excel.​

Работа с массивами данных эксель

Пример 4. Выборочное суммирование

​=МОПРЕД(массив)​Enter​После этого формула будет​«OK»​ сложения, вычитания, деления​ ноль и суммируются​

Работа с массивами данных эксель

​ 2), то Excel​ формулу как формулу​ дополнительное условие: 0;A1:A8))’​Формула массива в данном​ столбце).​ массива читайте в​ как нужно считать,​Excel «формулы массива»​ массив в Буфер​ т.е. возвращает в​Элементы в одномерных горизонтальных​Урок:​, если ввод выполнялся​ удалена со всей​, а потом попытаетесь​ и другие арифметические​ только нужные заказы.​ не позволит редактировать​ массива жмем не​ class=»formula»>. Получаем:​

planetaexcel.ru

​ случае заменила две​

Понравилась статья? Поделить с друзьями:
  • Обработка числовых данных microsoft excel
  • Обработка числовой информации табличным процессором excel
  • Обработка числовой информации в таблицах word
  • Обработка числовой информации в excel 9 класс
  • Обработка чисел в excel