Сумма

Автор korel, 31 мая 2012, 12:25

0 Пользователи и 1 гость просматривают эту тему.

korel

Здравствуйте, помогите пожалуйста. Вопрос в следующем- у меня есть строка чисел в ней есть и положительные, и отрицательные значения. Мне надо что б программа отдельно сложила все положительные числа в строке и отдельно отрицательные. Как сделать???

JohnSUN

Добро пожаловать на форум!
Один из примеров приведен в Справке по функции SUM. Там предлагается в качестве параметра функции ввести произведение диапазона на условие и сделать формулу "массивной" (закончить введение формулы не простым Enter, а Ctrl+Shift+Enter).
Например, если значения находятся в первой строке с колонки B по колонку AI, то формулы для положительных и отрицательных значений будут
{=SUM(B1:AI1*(B1:AI1>0))}
{=SUM(B1:AI1*(B1:AI1<0))}

Однако такие сложности не нужны, если пользоваться функцией условного суммирования SUMIF()
=SUMIF(B1:AI1;">0";B1:AI1)
=SUMIF(B1:AI1;"<0";B1:AI1)

Здесь три параметра - что проверяем, по какому условию и где суммируем. То есть, есть возможность проверять в одном диапазоне, а суммировать значения из другого.
Недостаток этой функции - можно задать только одно условие. Если нужно просуммировать по нескольким условиям (например, "положительное, но меньше ста"), то лучше использовать первый вариант, с "массивной SUM" или функцию SUMPRODUCT
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

korel

Огромное спасибо за помощь

korel

А как еще сделать что бы цветом окрашивалась если например меньше нуля????

JohnSUN

Не помнишь этот старый анекдот?
Преподаватель спрашивает студента на экзамене:
- Вам задать один сложный вопрос или два простых?
- Один сложный...
- Тогда ответьте, где появился первый человек?
- В Урюпинске.
- Но почему вы так думаете?
- Э-э, профессор, а это уже второй вопрос.

Так вот, про раскрашивание - это уже второй вопрос  ;D Для него было бы лучше создать отдельную тему

Есть несколько способов. Если значения достаточно отметить цветом шрифта, то можно обойтись обычным форматированием ячейки. Например, в категории "Денежный" выбираем какой-нибудь формат с красными цифрами и видим форматную строку
# ##0 [$руб.-419];[RED]-# ##0 [$руб.-419]
И теперь по образу и подобию делаем свою форматную строку:
[BLUE]0;[RED]-0;[YELLOW]"---"Можно было бы указать и GREEN, но шибко он яркий, глаз режет...
А другой способ - условное форматирование. Но там нужно узнать, что такое стили оформления, как их создать и изменить и т.п. Но зато можно и фон ячейки изменить, и обрамление...
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

RUMAN

Цитата: JohnSUN от 31 мая 2012, 12:43
Добро пожаловать на форум!
Один из примеров приведен в Справке по функции SUM. Там предлагается в качестве параметра функции ввести произведение диапазона на условие и сделать формулу "массивной" (закончить введение формулы не простым Enter, а Ctrl+Shift+Enter).
Например, если значения находятся в первой строке с колонки B по колонку AI, то формулы для положительных и отрицательных значений будут
{=SUM(B1:AI1*(B1:AI1>0))}
{=SUM(B1:AI1*(B1:AI1<0))}

Однако такие сложности не нужны, если пользоваться функцией условного суммирования SUMIF()
=SUMIF(B1:AI1;">0";B1:AI1)
=SUMIF(B1:AI1;"<0";B1:AI1)

Здесь три параметра - что проверяем, по какому условию и где суммируем. То есть, есть возможность проверять в одном диапазоне, а суммировать значения из другого.
Недостаток этой функции - можно задать только одно условие. Если нужно просуммировать по нескольким условиям (например, "положительное, но меньше ста"), то лучше использовать первый вариант, с "массивной SUM" или функцию SUMPRODUCT
Добрый день. Прошу уточнить как применить функцию по идентичному условию, только числа расположены на разных страницах (вкладках)?

bigor

#6
Цитата: RUMAN от 21 января 2020, 10:38числа расположены на разных страницах (вкладках)?
Перед ссылками на ячейки, прописываете ссылку на лист.
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

RUMAN

Цитата: Bigor от 21 января 2020, 10:42
Цитата: RUMAN от 21 января 2020, 10:38числа расположены на разных страницах (вкладках)?
Перед ссылками на ячейки, прописываете ссылку на лист.
можете показать пример, какой знак между ячейками
=SUMIF(Февраль.C5:Апрель.C5;"<0")

bigor

#8
Не, так не пойдет. Если данные на разных листах, то скорее всего придется их в один сводить.
или так записывать =SUM(IF(A1>0;A1;0);IF($Лист2.A1>0;$Лист2.A1;0))
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

economist

korel - если все данные на одном листе - помимо функции =SUMIF, которая имеет только одно условие. Но есть =SUMIFS или по русски =СУММЕСЛИМН, которая поддерживает несколько условий.   
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...