Программирование суммы в excel

excelЗдравствуйте!

Многие кто не пользуются Excel — даже не представляют, какие возможности дает эта программа! ☝

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

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

То есть эта статья будет что-то мини гайда по обучению самому нужному для работы (точнее, чтобы начать пользоваться Excel и почувствовать всю мощь этого продукта!).

Возможно, что прочти подобную статью лет 17-20 назад, я бы сам намного быстрее начал пользоваться Excel (и сэкономил бы кучу своего времени для решения «простых» задач…👌

*

Содержание статьи

    ускорение ПК

  • 1 Обучение основам Excel: ячейки и числа
  • 2 Как посчитать сумму (формулы СУММ и СУММЕСЛИМН)
  • 3 Как посчитать количество строк (с одним, двумя и более условием)
  • 4 Как посчитать процент от суммы
  •  → Задать вопрос | дополнить 

Обучение основам Excel: ячейки и числа

Примечание: все скриншоты ниже представлены из программы Excel 2016 (одна из самых новых на сегодняшний день. Если у вас версия 2019 — всё будет аналогично).

*

Многие начинающие пользователи, после запуска Excel — задают один странный вопрос: «ну и где тут таблица?». Между тем, все клеточки, что вы видите после запуска программы — это и есть одна большая таблица!

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

  • слева: в ячейке (A1) написано простое число «6». Обратите внимание, когда вы выбираете эту ячейку, то в строке формулы (Fx) показывается просто число «6».
  • справа: в ячейке (C1) с виду тоже простое число «6», но если выбрать эту ячейку, то вы увидите формулу «=3+3» — это и есть важная фишка в Excel!

Просто число и посчитанная формула

Просто число (слева) и посчитанная формула (справа)

📌 Суть в том, что Excel может считать как калькулятор, если выбрать какую нибудь ячейку, а потом написать формулу, например «=3+5+8» (без кавычек). Результат вам писать не нужно — Excel посчитает его сам и отобразит в ячейке (как в ячейке C1 в примере выше)!

Но писать в формулы и складывать можно не просто числа, но и числа, уже посчитанные в других ячейках. На скриншоте ниже в ячейке A1 и B1 числа 5 и 6 соответственно. В ячейке D1 я хочу получить их сумму — можно написать формулу двумя способами:

  • первый: «=5+6» (не совсем удобно, представьте, что в ячейке A1 — у нас число тоже считается по какой-нибудь другой формуле и оно меняется. Не будете же вы подставлять вместо 5 каждый раз заново число?!);
  • второй: «=A1+B1» — а вот это идеальный вариант, просто складываем значение ячеек A1 и B1 (несмотря даже какие числа в них!).

Сложение ячеек

Сложение ячеек, в которых уже есть числа

📌 Распространение формулы на другие ячейки

В примере выше мы сложили два числа в столбце A и B в первой строке. Но строк то у нас 6, и чаще всего в реальных задачах сложить числа нужно в каждой строке! Чтобы это сделать, можно:

  1. в строке 2 написать формулу «=A2+B2», в строке 3 — «=A3+B3» и т.д. (это долго и утомительно, этот вариант никогда не используют);
  2. выбрать ячейку D1 (в которой уже есть формула), затем подвести указатель мышки к правому уголку ячейки, чтобы появился черный крестик (см. скрин ниже). Затем зажать левую кнопку и растянуть формулу на весь столбец. Удобно и быстро! (Примечание: так же можно использовать для формул комбинации Ctrl+C и Ctrl+V (скопировать и вставить соответственно)).

Растягивание формулы

Растягивание формулы

Кстати, обратите внимание на то, что Excel сам подставил формулы в каждую строку. То есть, если сейчас вы выберите ячейку, скажем, D2 — то увидите формулу «=A2+B2» (т.е. Excel автоматически подставляет формулы и сразу же выдает результат).

📌 Как задать константу (ячейку, которая не будет меняться при копировании формулы)

Довольно часто требуется в формулах (когда вы их копируете), чтобы какой-нибудь значение не менялось. Скажем простая задача: перевести цены в долларах в рубли. Стоимость рубля задается в одной ячейке, в моем примере ниже — это G2.

Далее в ячейке E2 пишется формула «=D2*G2» и получаем результат. Только вот если растянуть формулу, как мы это делали до этого,  в других строках результата мы не увидим, т.к. Excel в строку 3 поставит формулу «D3*G3», в 4-ю строку: «D4*G4» и т.д. Надо же, чтобы G2 везде оставалась G2…

Чтобы это сделать — просто измените ячейку E2 — формула будет иметь вид  «=D2*$G$2». Т.е. значок доллара $ — позволяет задавать ячейку, которая не будет меняться, когда вы будете копировать формулу (т.е. получаем константу, пример ниже).

Константа // в формуле ячейка не изменяется

Константа / в формуле ячейка не изменяется

*

Как посчитать сумму (формулы СУММ и СУММЕСЛИМН)

Можно, конечно, составлять формулы в ручном режиме, печатая «=A1+B1+C1» и т.п. Но в Excel есть более быстрые и удобные инструменты.

Один из самых простых способов сложить все выделенные ячейки — это использовать опцию автосуммы (Excel сам напишет формулу и вставить ее в ячейку).

📌 Что нужно сделать, чтобы посчитать сумму определенных ячеек:

  1. сначала выделяем ячейки (см. скрин ниже 👇);
  2. далее открываем раздел «Формулы»;
  3. следующий шаг жмем кнопку «Автосумма». Под выделенными вами ячейками появиться результат из сложения;
  4. если выделить ячейку с результатом (в моем случае — это ячейка E8) — то вы увидите формулу «=СУММ(E2:E7)».
  5. таким образом, написав формулу «=СУММ(xx)», где вместо xx поставить (или выделить) любые ячейки, можно считать самые разнообразные диапазоны ячеек, столбцов, строк…

Автосумма выделенных ячеек

Автосумма выделенных ячеек

📌 Как посчитать сумму с каким-нибудь условием

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

Я в своей таблицы буду использовать всего 7 строк (для наглядности), реальная же таблица может быть намного больше. Предположим, нам нужно посчитать всю прибыль, которую сделал «Саша». Как будет выглядеть формула:

  1. «=СУММЕСЛИМН(F2:F7;A2:A7;»Саша»)» — (прим.: обратите внимание на кавычки для условия — они должны быть как на скрине ниже, а не как у меня сейчас написано на блоге). Так же обратите внимание, что Excel при вбивании начала формулы (к примеру «СУММ…»), сам подсказывает и подставляет возможные варианты — а формул в Excel’e сотни!;
  2. F2:F7 — это диапазон, по которому будут складываться (суммироваться) числа из ячеек;
  3. A2:A7 — это столбик, по которому будет проверяться наше условие;
  4. «Саша» — это условие, те строки, в которых в столбце A будет «Саша» будут сложены (обратите внимание на показательный скриншот ниже).

Сумма с условием

Сумма с условием

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

*

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

Довольно типичная задача: посчитать не сумму в ячейках, а количество строк, удовлетворяющих какомe-либо условию.

Ну, например, сколько раз имя «Саша» встречается в таблице ниже (см. скриншот). Очевидно, что 2 раза (но это потому, что таблица слишком маленькая и взята в качестве наглядного примера). А как это посчитать формулой?

Формула:

«=СЧЁТЕСЛИ(A2:A7;A2)» — где:

  • A2:A7 — диапазон, в котором будут проверяться и считаться строки;
  • A2 — задается условие (обратите внимание, что можно было написать условие вида «Саша», а можно просто указать ячейку).

Результат показан в правой части на скрине ниже.

Количество строк с одним условием

Количество строк с одним условием

Теперь представьте более расширенную задачу: нужно посчитать строки, где встречается имя «Саша», и где в столбце «B» будет стоять цифра «6». Забегая вперед, скажу, что такая строка всего лишь одна (скрин с примером ниже).

Формула будет иметь вид:

=СЧЁТЕСЛИМН(A2:A7;A2;B2:B7;»6″)  — (прим.: обратите внимание на кавычки — они должны быть как на скрине ниже, а не как у меня), где:

A2:A7;A2 — первый диапазон и условие для поиска (аналогично примеру выше);

B2:B7;»6″ — второй диапазон и условие для поиска (обратите внимание, что условие можно задавать по разному: либо указывать ячейку, либо просто написано в кавычках текст/число).

Счет строк с двумя и более условиями

Счет строк с двумя и более условиями

*

Как посчитать процент от суммы

Тоже довольно распространенный вопрос, с которым часто сталкиваюсь. Вообще, насколько я себе представляю, возникает он чаще всего — из-за того, что люди путаются и не знают, что от чего ищут процент (да и вообще, плохо понимают тему процентов (хотя я и сам не большой математик, и все таки… ☝)).

📌 В помощь!

Как посчитать проценты: от числа, от суммы чисел и др. [в уме, на калькуляторе и с помощью Excel] — заметка для начинающих

Самый простой способ, в котором просто невозможно запутаться — это использовать правило «квадрата», или пропорции.

Вся суть приведена на скрине ниже: если у вас есть общая сумма, допустим в моем примере это число 3060 — ячейка F8 (т.е. это 100% прибыль, и какую то ее часть сделал «Саша», нужно найти какую…).

По пропорции формула будет выглядеть так: =F10*G8/F8 (т.е. крест на крест: сначала перемножаем два известных числа по диагонали, а затем делим на оставшееся третье число).

В принципе, используя это правило, запутаться в процентах практически невозможно 👌.

Пример решения задач с процентами

Пример решения задач с процентами

*

PS 

Собственно, на этом я завершаю данную статью. Не побоюсь сказать, что освоив все, что написано выше (а приведено здесь всего лишь «пяток» формул) — Вы дальше сможете самостоятельно обучаться Excel, листать справку, смотреть, экспериментировать, и анализировать. 👌

Скажу даже больше, все что я описал выше, покроет многие задачи, и позволит решать всё самое распространенное, над которым часто ломаешь голову (если не знаешь возможности Excel), и даже не догадывается как быстро это можно сделать… ✔

*

Дополнения по теме приветствуются!

Удачи!

👋

Первая публикация: 21.01.2017

Корректировка: 23.10.2022

donate

dzen-ya

Полезный софт:

  • видеомонтаж
  • Видео-Монтаж
  • Отличное ПО для создания своих первых видеороликов (все действия идут по шагам!).
    Видео сделает даже новичок!

  • утилита для оптимизации
  • Ускоритель компьютера
  • Программа для очистки Windows от «мусора» (удаляет временные файлы, ускоряет систему, оптимизирует реестр).

In Excel, you can use VBA to calculate the sum of values from a range of cells or multiple ranges. And, in this tutorial, we are going to learn the different ways that we can use this.

Sum in VBA using WorksheetFunction

In VBA, there are multiple functions that you can use, but there’s no specific function for this purpose. That does not mean we can’t do a sum. In VBA, there’s a property called WorksheetFunction that can help you to call functions into a VBA code.

sum-in-vba-using-worksheet

Let sum values from the range A1:A10.

  1. First, enter the worksheet function property and then select the SUM function from the list.
    2-enter-worksheet-function
  2. Next, you need to enter starting parenthesis as you do while entering a function in the worksheet.
    3-starting-parenthesis
  3. After that, we need to use the range object to refer to the range for which we want to calculate the sum.
    4-use-the-range-object
  4. In the end, type closing parenthesis and assign the function’s returning value to cell B1.
    5-closing-parenthesis
Range("B1") = Application.WorksheetFunction.Sum(Range("A1:A10"))

Now when you run this code, it will calculate the sum for the values that you have in the range A1:A10 and enter the value in cell B1.

run-the-code-to-calculate

Sum Values from an Entire Column or a Row

In that just need to specify a row or column instead of the range that we have used in the earlier example.

'for the entire column A
Range("B1") = Application.WorksheetFunction.Sum(Range("A:A"))

'for entire row 1
Range("B1") = Application.WorksheetFunction.Sum(Range("1:1"))

Use VBA to Sum Values from the Selection

Now let’s say you want to sum value from the selected cells only in that you can use a code just like the following.

Sub vba_sum_selection()

Dim sRange As Range
Dim iSum As Long

On Error GoTo errorHandler

Set sRange = Selection

iSum = WorksheetFunction.Sum(Range(sRange.Address))
MsgBox iSum

errorHandler:
MsgBox "make sure to select a valid range of cells"

End Sub

In the above code, we have used the selection and then specified it to the variable “sRange” and then use that range variable’s address to get the sum.

The following code takes all the cells and sum values from them and enters the result in the selected cell.

Sub vba_auto_sum()

Dim iFirst As String
Dim iLast As String
Dim iRange As Range

On Error GoTo errorHandler

iFirst = Selection.End(xlUp).End(xlUp).Address
iLast = Selection.End(xlUp).Address

Set iRange = Range(iFirst & ":" & iLast)
ActiveCell = WorksheetFunction.Sum(iRange)

Exit Sub

errorHandler:
MsgBox "make sure to select a valid range of cells"

End Sub

Sum a Dynamic Range using VBA

And in the same way, you can use a dynamic range while using VBA to sum values.

Sub vba_dynamic_range_sum()

Dim iFirst As String
Dim iLast As String
Dim iRange As Range

On Error GoTo errorHandler

iFirst = Selection.Offset(1, 1).Address
iLast = Selection.Offset(5, 5).Address

Set iRange = Range(iFirst & ":" & iLast)
ActiveCell = WorksheetFunction.Sum(iRange)

Exit Sub

errorHandler:
MsgBox "make sure to select a valid range of cells"

End Sub

Sum a Dynamic Column or a Row

In the same way, if you want to use a dynamic column you can use the following code where it will take the column of the active cell and sum for all the values that you have in it.

Sub vba_dynamic_column()

Dim iCol As Long

On Error GoTo errorHandler

iCol = ActiveCell.Column
MsgBox WorksheetFunction.Sum(Columns(iCol))

Exit Sub

errorHandler:
MsgBox "make sure to select a valid range of cells"

End Sub

And for a row.

Sub vba_dynamic_row()

Dim iRow As Long

On Error GoTo errorHandler

iRow = ActiveCell.Row

MsgBox WorksheetFunction.Sum(Rows(iCol))

Exit Sub

errorHandler:
MsgBox "make sure to select a valid range of cells"

End Sub

Using SUMIF with VBA

Just like sum you can use the SUMIF function to sum values with criteria just like the following example.

sumif-with-vba
Sub vba_sumif()

Dim cRange As Range
Dim sRange As Range

Set cRange = Range("A2:A13")
Set sRange = Range("B2:B13")

Range("C2") = _
WorksheetFunction.SumIf(cRange, "Product B", sRange)

End Sub

Решаем счётные задачи с помощью Excel VBA

Visual Basic for Applications (VBA) – диалект языка Visual Basic, включённый в состав пакета Microsoft Office. Программы на VBA, называемые макросами, могут выполняться прямо из документа Word или Excel, используя при этом в качестве интерфейса пользователя стандартные для Windows кнопки, поля ввода, списки, окна диалога или переключатели.

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

Перед началом работы:

1. Включите настройку Кнопка Office — Параметры Excel (или Word) — Основные — «Показывать вкладку Разработчик на ленте». В последних версиях офиса настройка может называться иначе, но она там есть :)

2. На вкладке Разработчик нажмите кнопку Безопасность макросов и разрешите выполнение макросов:

параметры макросов

параметры макросов

В противном случае придётся каждый раз разрешать выполнение макросов при открытии документа.

Когда цикл разработки окончен, лучше вернуть настройку на место, чтобы не открыть вирусный документ, полученный откуда-нибудь со стороны.

3. Нажмите вкладку Разработчик – Макросы, дайте новой программе имя и нажмите кнопку Создать:

создание макроса

создание макроса

Откроется редактор Visual Basic, в котором можно писать, отлаживать, выполнять и сохранять программы.

На скрине ниже показана программа, позволяющая вычислить, сколько процентов составляет значение A от B.

пример программы

пример программы

Вот листинг почти программки такого же типа, только ещё проще.

Sub Project1()
 Dim A, B, C As Double
 A = Val(InputBox("Ввод A", "Введите A", 0))
 B = Val(InputBox("Ввод B", "Введите B", 0))
 C = Sqr(A ^ 2 + B ^ 2)
 MsgBox "Ответ =" & C
End Sub

В простых случаях нам достаточно с помощью окна InputBox получить значение переменной (третьим аргументом ей можно дать значение по умолчанию),
при необходимости проверить, корректно ли введены данные (так как введённая в InputBox величина возвращается в виде строки, можно получить её числовое значение функцией Val или узнать, введено ли вообще числовое значение функцией IsNumeric), произвести расчёты и
вывести результаты в новом окне сообщения, полученном функцией MsgBox. Её первым аргументом мы передаём строку, выводимую в окне, её можно получить сложением строк в двойных кавычек и/или числовых значений, которые нужно преобразовать к строковым функцией Str.

Теперь можно нажать зелёный треугольничек или клавишу F5 в редакторе VBA, чтобы запустить программу.
Если доступно несколько программ или текстовый курсор не установлен внутри программы, компьютер может попросить выбрать нужную по имени:

запуск программы из редактора Visual Basic

запуск программы из редактора Visual Basic

Чтобы макросы не пропали, при первом сохранении рабочей книги нужно выбрать пункт меню «Сохранить как» и указать в списке «Тип файла» значение «Книга Excel с поддержкой макросов (*.xlsm)».

Обычно мы хотим запускать программу не из Visual Basic, а прямо из документа, например, нажимая кнопку.

Чтобы встроить кнопку непосредственно в документ Word или Excel, действуем так:

1. На вкладке разработчика нажмём кнопку «Режим конструктора» и выберем нужный элемент управления, например, кнопку:

выбор инструмента "Кнопка"

выбор инструмента «Кнопка»

2. Потом курсором-крестиком «нарисуем» кнопку в документе и нажмём «Создать» в окне «Назначить макрос объекту», чтобы кнопке была назначена пустая процедура-обработчик её основного события (то есть, нажатия):

добавление кнопки на лист

добавление кнопки на лист

3. После этого можно запрограммировать процедуру обработки нажатия нашей кнопки.

Обращаться к ячейкам Excel из программы VBA тоже очень легко, вот несколько примеров:

Range("B1").Value = 2018	
'Поместить в ячейку B1 текущего листа значение 2018

Range("A1:A10").Select
Range("A1:A10").Value = "Программа"	
'Выделить и заполнить словом "Программа" ячейки A1:A10

Range("C2").Font.Size = 18	
'В ячейке С2 установить размер шрифта 18

For N = 1 To 10
  Range("D" & N).Value = _
   Range("D" & (N + 1)).Value
 Next	
'Сдвинуть вверх ячейки от D1 до D10 (пропадает первое значение)

Sheets("Лист1").Cells(1, 1) = 13 ^ 64	
'Записать в ячейку A1 листа "Лист1" большое числовое значение

Ну и немного более законченного кода.

Попробуйте скопировать в VBA и выполнить эти 2 несложных программы, и начальный опыт программирования в нём у Вас появится :)

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

Полученные значения заносятся в массив A, заполнение прекращается по достижении пустой ячейки, ячейки, заполненной не числом или когда набрано 100 элементов.

Затем от введённых чисел рассчитывается сумма и записывается в ячейку B6.

Sub Кнопка5_Щелчок() 'Кнопка Массив
 Dim A(100) As Double
 Dim N As Integer
 N = 0
 For I = 1 To 100
  V = Range("A" & I).Value
  If (IsEmpty(V) Or IsNumeric(V) = False Or N > 100) Then
   MsgBox "Введено чисел : " & N
   Exit For
  End If
  A(I) = V
  N = N + 1
 Next I
 Dim S As Double
 S = 0
 For I = 1 To N
  S = S + A(I)
 Next I
 Range("B6").Value = S
End Sub

Вторая программа предполагает, что в ячейках B12 и B13 рабочего листа записаны 2 даты. Это могут быть строки, интерпретируемые Вашим Excel как даты, например, 01.01.2001 или даты, полученные формулой, скажем, =СЕГОДНЯ()

По нажатию кнопки даты проверяются, если двух дат не найдено, выводится сообщение и программа завершается.

В противном случае мы вычисляем и выводим в ячейку B16 количество дней между датами, а в C12 и C13 — дни недели по русски. Добавьте небольшое оформление и получите простейший калькулятор дат:

Sub Кнопка4_Щелчок() 'Кнопка Вычислить
 Dim d1, d2 As Date
 d1 = Range("B12").Value
 d2 = Range("B13").Value
 'Обработка ошибок ввода (IsNumeric для чисел)
 If (IsDate(d1) = False Or IsDate(d2) = False) Then
  MsgBox "Введите 2 даты", vbOKOnly, "Ошибка"
  Exit Sub
 End If
 'Расчёты
 Days = DateDiff("d", d1, d2, vbMonday)
 Range("B16").Value = Days 'Прошло дней
 Dim A(7) As String
 A(1) = "Пн": A(2) = "Вт": A(3) = "Ср"
 A(4) = "Чт": A(5) = "Пт": A(6) = "Сб"
 A(7) = "Вс"
 wd1 = Weekday(d1, vbMonday) 'Дни недели
 Range("C12").Value = A(wd1)
 wd2 = Weekday(d2, vbMonday)
 Range("C13").Value = A(wd2)
End Sub

пример "интерфейса" для макроса VBA

пример «интерфейса» для макроса VBA

09.05.2018, 10:56 [9942 просмотра]


К этой статье пока нет комментариев, Ваш будет первым

Просмотров 4к. Обновлено 8 декабря 2020

В этом руководстве по Excel объясняется, как использовать функцию СУММ(SUM) в Excel, с синтаксисом и примерами.

Содержание

  1. Описание
  2. Синтаксис
  3. Пример функции СУММ
  4. Cумма столбца в эксел
  5. Автосумма столбца
  6. Сумма строки эксел

Описание

Функция СУММ возвращает сумму предоставленных значений. Эти значения могут быть числами, ссылками на ячейки, диапазонами, массивами и константами в любой комбинации. SUM может обрабатывать до 255 отдельных аргументов.

Функция СУММ — это встроенная функция Excel, относящаяся к категории математических / триггерных функций. Как функцию рабочего листа, функцию СУММ можно ввести как часть формулы в ячейку рабочего листа.

Функция СУММ на Русском Функция СУММ на Английском
СУММ SUM

Синтаксис

Синтаксис функции СУММ

=СУММ([Число1], [Число2] ,…)

Первый аргумент является обязательным, другие числа необязательны, и вы можете ввести до 255 чисел в одной формуле.

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

=СУММ(A1:A100)
=СУММ(A1;A2;A5)
=СУММ(1;5;-2)

Пример функции СУММ

Давайте посмотрим на несколько примеров функции СУММ в Excel и узнаем, как использовать функцию СУММ в качестве функции рабочего листа в Microsoft Excel:

Функция СУММ excel с примерами

На изображении выше у нас в столбце А расположены значения, допустим вы хотите сложить значения 2 и 3 строки для этого пишем в ячейке которой вы хотите увидеть результат =СУММ(A2;A3).
Если вы хотите суммировать весь диапазон значений то указывайте его через двоеточие, например в нашем случае это будет =СУММ(A2:A6).

Для того чтобы не писать какие ячейки вы хотите суммировать, вы набираете =СУММ( или выбираете эту функцию в окне «Вставка функции» найти его можно на панели меню выбираете «Формулы»->»Вставка функции»

Функция СУММ excel с примерами

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

Cумма столбца в эксел

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

Функция СУММ excel с примерами

Таким же способом можно подсчитать сумму нескольких столбцов, просто выделив нужные вам.

Если столбец, который вы хотите суммировать, имеет переменное количество строк (т. е. Новые ячейки могут быть добавлены, а существующие могут быть удалены в любое время), вы можете просуммировать весь столбец, указав ссылку на столбец, без указания нижней или верхней границы , Например: =SUM(B:B), но в этом случае вы не должны помещать формулу «Сумма столбца» в столбец, который вы хотите суммировать потому что это создаст циклическую ссылку на ячейку, и ваша формула СУММ вернет 0.

Функция СУММ excel с примерами

Автосумма столбца

Если в конце столбца вам необходимо вывести сумму этого столбца то вам необходимо выполнить следующие шаги:

  1. Выделить ячейку в которой будет сумма строк выше
  2. Выбираем в меню «Главная» значек Сумма

Функция СУММ excel с примерами

  1. После выбора программа выделяет нужный диапазон, проверяем все ли правильно и нажимаем Enter.

Функция СУММ excel с примерами

Более быстрый способ выполнить автосумму в Excel — использовать 

Alt + =, 

Просто удерживайте клавишу Alt, нажмите клавишу со знаком равенства, а затем нажмите Enter, чтобы завершить автоматически вставленную формулу суммы.

Сумма строки эксел

Чтобы суммировать всю строку с неопределенным числом столбцов, укажите ссылку на всю строку в формуле Excel СУММ, например:

=СУММ(2:2)

Помните, что вы не должны вводить эту формулу «Сумма строки» в любой ячейке той же строки, чтобы избежать создания циклической ссылки, поскольку это приведет к неправильному вычислению, если таковое имеется:

Функция СУММ excel с примерами

Вычисление суммы числовых аргументов или значений диапазона ячеек с помощью кода VBA Excel. Метод WorksheetFunction.Sum – синтаксис, примеры.

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

Синтаксис метода WorksheetFunction.Sum:

WorksheetFunction.Sum(Arg1, Arg2, Arg3, ..., Arg30)

  • Arg – аргумент, который может быть числом, переменной, выражением. Тип данных — Variant. Максимальное количество аргументов – 30.
  • Метод WorksheetFunction.Sum возвращает значение типа Double.

Значение функции рабочего листа Sum может быть присвоено:

  • переменной числового типа Double или универсального типа Variant (при использовании числовых переменных других типов возможны недопустимые округления значений, возвращаемых методом WorksheetFunction.Sum);
  • выражению, возвращающему диапазон ячеек (точнее, возвращающему свойство Value диапазона, которое является свойством по умолчанию и его в выражениях можно не указывать);
  • другой функции в качестве аргумента.

Примеры вычисления сумм в коде VBA

Пример 1

Присвоение значений, вычисленных методом WorksheetFunction.Sum, переменной:

Sub Primer1()

Dim a As Integer

  a = WorksheetFunction.Sum(5.5, 25, 8, 28)

MsgBox a

  a = WorksheetFunction.Sum(4.5, 25, 8, 28)

MsgBox a

End Sub

Наверно, вы удивитесь, но информационное окно MsgBox дважды покажет одно и то же число 10. Почему так происходит?

Дело в том, что переменная a объявлена как целочисленная (Integer). Дробные числа, возвращенные функцией рабочего листа Sum, были округлены, а в VBA Excel применяется бухгалтерское округление, которое отличается от общепринятого.

При бухгалтерском округлении 10.5 и 9.5 округляются до 10. Будьте внимательны при выборе типа переменной.

Пример 2

Вычисление суммы значений диапазона ячеек, расположенного на текущем листе:

Sub Primer2()

‘Итог в 6 ячейке столбца «A»

Cells(6, 1) = WorksheetFunction.Sum(Cells(1, 1), Cells(2, 1), _

Cells(3, 1), Cells(4, 1), Cells(5, 1))

‘Итог в 6 ячейке столбца «B»

Range(«B6») = WorksheetFunction.Sum(Range(Cells(1, 2), Cells(5, 2)))

‘Итог в 6 ячейке столбца «C»

Range(«B6»).Offset(, 1) = WorksheetFunction.Sum(Range(«C1:C5»))

‘Присвоение суммы диапазону ячеек

Range(«A8:C10») = WorksheetFunction.Sum(Range(«A1:C5»))

End Sub

Если хотите проверить работу кода в своем редакторе VBA, заполните на рабочем листе Excel диапазон A1:C5 любыми числами.

Самая удобная формулировка по моему мнению:

Cells(10, 6) = WorksheetFunction.Sum(Range(Cells(2, 6), Cells(9, 6))) ,

где вместо номеров строк и столбцов можно использовать переменные.

Пример 3

Вычисление суммы значений диапазона ячеек, расположенного на другом листе:

Sub Primer3()

Лист1.Cells(3, 10) = WorksheetFunction.Sum(Range(Лист2.Cells(2, 5), Лист2.Cells(100, 5)))

End Sub

Пример 4

Самый простой пример, где метод WorksheetFunction.Sum используется в качестве аргумента другой функции:

Sub Primer4()

MsgBox WorksheetFunction.Sum(24, 5, 8 * 2)

End Sub

В данном случае значение функции рабочего листа Sum является аргументом функции MsgBox.


Возможно, вам интересно, откуда я взял, что функция рабочего листа (WorksheetFunction) является объектом, а сумма (Sum) ее методом? Из справки Microsoft.

Смотрите также статьи о методах WorksheetFunction.SumIf (суммирование с одним условием) и WorksheetFunction.SumIfs (суммирование с несколькими условиями).


Введение[править]

Написание формул — весьма увлекательный процесс, почти программирование, но чисто с помощью функций.

Написание формул[править]

Любая формула должна начинаться с «=»:

=IF(A1 > 2; "ДА"; IF(B1+A1 < 10; "ДА"; "НЕТ"))

Это соответствует участку кода на VBA:

If cells(0, 0) > 2 Then
   cells(0, 3) = "ДА"
Else
   If cells(0, 0) + cells(1, 0) < 10 Then
      cells(0, 3) = "ДА"
   Else
      cells(0, 3) = "НЕТ"
   End If
End If

Относительность ячеек[править]

Изначально в формулах ячейки, на которые ссылаются формулы, имеют относительную адресацию. Это значит, что запоминаются координаты ячейки не относительно A1, а относительно той ячейки, в которой формула.

Для фиксации координаты по оси X или Y — для того, чтобы та или иная координата считалась от A1, нужно писать знак $ перед буквой или цифрой.

Адрес ячейки Что зафиксировано
A1 ничего
$A1 Столбец A.
A$1 Строка 1.
$A$1 И столбец A, и строка 1.

Математические операции[править]

Операция Смысл
+ сумма
разность
* умножение
/ деление
^ возведение в степень
%a получение процента (делением числа a на 100)
SQRT(a) квадратный корень из a

Дополнительные операции[править]

Операция Смысл
SIN(a) синус числа a
COS(a) косинус числа a
TAN(a) тангенс числа a
ASIN(a) арксинус числа a
ACOS(a) арккосинус числа a
ATAN(a) арктангенс числа a

Диапазоны и группы ячеек[править]

Любой диапазон можно описать следующим образом:

В диапазон попадут все ячейки, заключенные в прямоугольник, крайними ячейками которого являются A1 и G2. Тут ячейки могут быть любыми.

Функция Описание
SUMM(range) Суммирует все значения ячеек диапазона range.
MIN(range) Находит ячейку с минимальным значением в диапазоне.
MAX(range) Находит ячейку с максимальным значением в диапазоне.
MIN(список ячеек) Находит ячейку с минимальным значением из перечисленных через запятую ячеек.
MAX(список ячеек) Находит ячейку с максимальным значением из перечисленных через запятую ячеек.

Условия[править]

Условия описываются функцией IF, которая имеет такой вид:

IF(условие; команды, выполняющиеся при верности условия; команды, выполняющиеся при ложности условия)

После первой «;» в качестве команд может быть абсолютно любые функции. Например:

=IF(A1 > 2; SUMM(A1:C3); SUMM(A1:C6))

Функции AND, OR[править]

Эти две функции позволяют совершать логические операции объединения (AND) и сложения (OR). При AND результат будет TRUE (истина), только в том случае, если все условия выполнились. В OR результат будет TRUE только тогда, когда хотя бы одно условие выполнилось.

Так описывается AND:

AND(условие, ... , последнее условие)

Так описывается OR:

OR(условие, ... , последнее условие)

Например:

=IF(OR(A1>2; A1<-2); SUMM(A1:C3); SUMM(A1:C6))

Функции TRUE и FALSE[править]

Эти функции возвращают соответствующие названию логические значение. TRUE() — возвращает всегда истину, FALSE — ложь.

Like this post? Please share to your friends:
  • Программирование столбцов в excel
  • Программирование расчетов в excel
  • Программирование отчетов в excel
  • Программирование на языке vba в microsoft office word
  • Программирование на с замена в excel