Как сложить только отрицательные числа в excel

Обновлено: 05.07.2024

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

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

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

Так что, если вам интересно, продолжайте читать!

Умножьте на (-1), чтобы преобразовать отрицательное число в положительное

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

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

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


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


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

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

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

Используйте функцию ABS, чтобы изменить все отрицательные числа на положительные

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

.. функция ABS

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

Ниже приведена формула, которая сделает это:


Вышеупомянутая функция ABS не влияет на положительные числа, но преобразует отрицательные числа в положительные.

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

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

Если вы хотите изменить знак числа (т. Е. Изменить отрицательный на положительный и положительный на отрицательный), вы также можете использовать эту специальную технику умножения вставки.

Предположим, у вас есть набор данных, показанный ниже, и вы хотите перевернуть знак:

Ниже приведены шаги по изменению знака с помощью специальной вставки:

  • В любой пустой ячейке на листе введите -1.
  • Скопируйте эту ячейку (со значением -1)
  • Выберите диапазон, в котором вы хотите перевернуть знак.
  • Щелкните правой кнопкой мыши любую из выбранных ячеек
  • Щелкните Специальная вставка. Откроется диалоговое окно Специальная вставка.
  • В разделе «Вставить» выберите «Значения».
  • В параметрах операции выберите «Умножить».
  • Нажмите ОК
  • Удалить -1 из ячейки

Но что, если вы хотите преобразовать только отрицательные числа в положительные, а не наоборот?

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

Вот как выбрать в Excel только отрицательные числа:

Вышеупомянутые шаги будут выбирать только те ячейки, которые имеют отрицательный знак. Теперь, когда у вас выделены эти ячейки, вы можете использовать технику «Специальная вставка», чтобы изменить знак только отрицательных чисел.

Этот метод имеет два преимущества по сравнению с методом формул (два метода, описанные до этого):

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

Мигающая заливка для удаления отрицательного знака

Это позволяет вам быстро идентифицировать закономерности, а затем дать вам результат, в котором шаблон был применен ко всему набору данных.

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

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

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

Ниже приведены шаги по замене отрицательных чисел на положительные с помощью Flash Fill:

  • В поле рядом с таблицей с данными введите ожидаемый результат вручную. В этом примере я вручную введу 874
  • В ячейке под ним введите ожидаемый результат (162 в этом примере).
  • Выберите обе ячейки
  • Поместите курсор в нижнюю правую часть выделения. Он изменится на значок плюса
  • Щелкните и перетащите, чтобы заполнить столбец (или дважды щелкните)
  • Щелкните значок Параметры автозаполнения.
  • Нажмите на Flash Fill.


Вышеупомянутые шаги дадут вам ожидаемый результат, где отрицательный знак был удален.

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

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

Преобразование отрицательных чисел в положительные одним щелчком мыши (VBA)

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

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

В таком случае вы можете создать и сохранить код макроса VBA в личной книге макросов и разместить VBA на панели быстрого доступа. Таким образом, в следующий раз, когда вы получите набор данных, в котором вам нужно это сделать, вы просто выберите данные и щелкните значок в QAT…

Не волнуйтесь, я покажу вам точные шаги, чтобы запустить его.

Ниже приведен код VBA, который преобразует отрицательные значения в положительные значения в выбранном диапазоне:

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

Теперь позвольте мне показать вам, как добавить этот код на панель быстрого доступа (шаги одинаковы, независимо от того, сохраняете ли вы этот код в отдельной книге или в PMW)

Теперь у вас будет значок макроса в QAT.


Чтобы использовать этот макрос одним щелчком мыши, просто сделайте выбор и щелкните значок макроса.

Примечание. Если вы сохраняете код макроса VBA в книге, вам необходимо сохранить книгу в формате с поддержкой макросов (XLSM).

adjust0.jpg

Не очень частый, но и не экзотический случай. На моих тренингах такой вопрос задавали не один и не два раза :) Суть в том, что мы имеем конечный набор каких-то чисел, из которых надо выбрать те, что дадут в сумме заданное значение.

В реальной жизни эта задача может выглядеть по-разному.

  • Например, мы выгрузили из интернет-банка все платежи, которые поступили на наш счет за последний месяц. Один из клиентов разбивает сумму своего платежа на несколько отдельных счетов и платит частями. Мы знаем общую сумму оплаты и количество счетов, но не знаем их сумм. Надо подобрать те суммы в истории платежей, которые дадут в общем заданное значение.
  • У нас есть несколько рулонов стали (линолеума, бумаги. ), из которых надо подобрать под заказ те, что дадут заданную длину.
  • Блэкджек или в народе "очко". Надо набрать карты суммарной стоимостью максимально близкой к 21 баллу, но не превысить этот порог.

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

Давайте рассмотрим несколько способов решения такой задачи в Excel.

Способ 1. Надстройка Поиск решения (Solver)

Эта надстройка входит в стандартный набор пакета Microsoft Office вместе с Excel и предназначена, в общем случае, для решения линейных и нелинейных задач оптимизации при наличии списка ограничений. Чтобы ее подключить, необходимо:

  • в Excel 2007 и новее зайти Файл - Параметры Excel - Надстройки - Перейти (File - Excel Options - Add-ins - Go)
  • в Excel 2003 и старше - открыть меню Сервис - Надстройки (Tools - Add-ins)

и установить соответствующий флажок. Тогда на вкладке или в меню Данные (Data) появится нужная нам команда.

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

adjust1.jpg

  • Диапазон A1:A20 содержит наши числа, из которых мы будем выбирать нужные, чтобы "вписаться" в заданную сумму.
  • Диапазон В1:B20 будет своего рода набором переключателей, т.е. будет содержать нули или единички, показывая, отбираем мы данное число в выборку или нет.
  • В ячейке E2 стоит обычная автосумма всех единичек по столбцу B, подсчитывающая кол-во выбранных чисел.
  • В ячейке E3 с помощью функции СУММПРОИЗВ (SUMPRODUCT) считается сумма попарных произведений ячеек из столбцов А и B (то есть A1*B1+A2*B2+A3*B3+. ). Фактически, здесь подсчитывается сумма чисел из столбца А, отобранных единичками из столбца В.
  • В розовую ячейку E4 пользователь вводит желаемую сумму для подбора.
  • В ячейке E5 вычисляется абсолютное по модулю значение погрешности подбора с целью ее будущей минимизации.
  • Все желтых ячейках Е8:E17 хотелось бы получить список отобранных чисел, т.е. тех чисел из столбца А, напротив которых в столбце В есть единички. Для этого необходимо выделить сразу все (!) желтые ячейки и в них ввести вот такую формулу массива:

=ЕСЛИОШИБКА(ИНДЕКС($A$1:$A$20;НАИМЕНЬШИЙ(ЕСЛИ(B1:B20=1;СТРОКА(B1:B20);"");СТРОКА()-СТРОКА($E$8)+1));"")

=IFERROR(INDEX($A$1:$A$20;SMALL(IF(B1:B20=1;ROW(B1:B20);"");ROW()-ROW($E$8)+1));"")

После ввода формулы ее необходимо ввести не как обычную формулу, а как формулу массива, т.е. нажать не Enter, а Ctrl+Shift+Enter. Похожая формула используется в примере о ВПР, выдающей сразу все найденные значения (а не только первое).

Теперь перейдем на вкладку (или в меню) Данные и запустим инструмент Поиск решения (Data - Solver):

adjust4.jpg

В открывшемся окне необходимо:

  • Задать как целевую функцию (Target Cell) - ячейку вычисления погрешности подбора E5. Чуть ниже выбрать опцию - Минимум, т.к. мы хотим подобрать числа под заданную сумму с минимальной (а лучше даже нулевой) погрешностью.
  • В качестве изменяемых ячеек переменных (Changing cells) задать диапазон столбца переключателей B1:B20.
  • С помощью кнопки Добавить (Add) создать дополнительное условие на то, что ячейки диапазона B1:B20 должны быть бинарными (т.е. содержать только 0 или 1):

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

adjust3.jpg

Теперь можно либо оставить найденное решение подбора (Сохранить найденное решение), либо откатиться к прежним значениям (Восстановить исходные значения).

Необходимо отметить, что для такого класса задач существует не одно, а целое множество решений, особенно, если не приравнивать жестко погрешность к нулю. Поэтому запуск Поиска решения с разными начальными данными (т.е. разными комбинациями 0 и 1 в столбце В) может приводить к разным наборам чисел в выборках в пределах заданных ограничений. Так что имеет смысл прогнать эту процедуру несколько раз, произвольно изменяя переключатели в столбце В.

Найденные комбинации можно сохранять виде сценариев (кнопка Сохранить сценарий), чтобы вернуться к нем позднее с помощью команды Данные - Анализ "что-если" - Диспетчер сценариев (Data - What-If Analysis - Scenario Manager):

adjust7.jpg

И весьма удобно будет вывести все найденные решения, сохраненные в виде сценариев, в одной сравнительной таблице с помощью кнопки Отчет (Summary):

adjust8.jpg

Способ 2. Макрос подбора

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

adjust9.jpg

Для использования макроса нажмите сочетание Alt+F11, в открывшемся окне редактора Visual Basic вставьте новый модуль через меню Insert - Module и скопируйте туда этот код:

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

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

Считайте только положительные или отрицательные числа в диапазоне с формулами

Здесь функция СЧЁТЕСЛИ может помочь вам быстро подсчитать, сколько положительных или отрицательных чисел в диапазоне.

1. Чтобы подсчитать только положительные значения, введите эту формулу в пустой ячейке. = СЧЁТЕСЛИ ($ A $ 1: $ D $ 7, "> 0") в него, см. снимок экрана:

количество документов-положительных1

2, Затем нажмите Enter key, и все положительные числа были подсчитаны, и результат отображается в ячейке. Смотрите скриншот:

количество документов-положительных1

Ноты:

1. Если вы хотите подсчитать количество только отрицательных значений, примените эту формулу = СЧЁТЕСЛИ ($ A $ 1: $ D $ 7, "<0") .

2. В приведенной выше формуле A1: D7 диапазон данных, который вы хотите использовать.

Суммируйте только положительные или отрицательные числа в диапазоне с формулами

В Excel функция СУММЕСЛИ может помочь вам суммировать только положительные или отрицательные значения. Вы можете применить эту формулу так:

1. Введите эту формулу = СУММЕСЛИ ($ A $ 1: $ D $ 7, "> 0") в пустую ячейку, см. снимок экрана:

количество документов-положительных1

2, Затем нажмите Enter key, и суммированы только все положительные числа.

количество документов-положительных1

Ноты:

1. Чтобы суммировать все отрицательные числа только в диапазоне, используйте эту формулу = СУММЕСЛИ ($ A $ 1: $ D $ 7; "<0") .

2. В приведенной выше формуле A1: D7 диапазон данных, который вы хотите использовать.

Может быть, иногда вам нужно вычислить среднее значение только положительных или отрицательных чисел из диапазона, который содержит как положительные, так и отрицательные значения на вашем листе, обычная функция СРЕДНИЙ не решит эту задачу. Из этого туториала Вы узнаете, как усреднять только положительные или отрицательные числа в Excel.

Просмотр среднего только положительных или отрицательных чисел с помощью Kutools for Excel

Усреднять только положительные или отрицательные числа с формулами

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

doc-среднее-положительное-1

1. Введите эту формулу: =AVERAGE(IF(A1:D10>0,A1:D10,"")) в пустую ячейку, см. снимок экрана:

doc-среднее-положительное-1

2, Затем нажмите Shift + Ctrl + Enter вместе, и вы получите результат, как показано на следующем скриншоте:

Ноты:

1. В приведенной выше формуле A1: D10 - это диапазон данных, среднее значение которого вы хотите вычислить.

2. Чтобы получить результат только с отрицательными числами, примените следующую формулу: =AVERAGE(IF(A1:D10<0,A1:D10,"")) , и не забудьте нажать Shift + Ctrl + Enter ключи.

Просмотр среднего только положительных или отрицательных чисел с помощью Kutools for Excel

Если вы установили Kutools for Excel, С его Выбрать определенные ячейки функции, вы можете сначала выбрать положительные или отрицательные числа, а затем просмотреть результат расчета в строке состояния.

После бесплатная установка Kutools for Excel, сделайте следующее:

1. Выберите диапазон данных, который вы хотите использовать.

2. Нажмите Kutools > Выберите > Выбрать определенные ячейки, см. снимок экрана:

doc-среднее-положительное-1

3. В Выбрать определенные ячейки диалоговое окно, отметьте Ячейка вариант под Тип выбора, чтобы выбрать все положительные числа, выбрав Больше, и чтобы выбрать отрицательные числа, выберите Менее из Конкретный тип раскрывающийся список и введите критерии в текстовое поле, введите здесь 0 в поле нажмите ОК, появится диалоговое окно, напоминающее вам, что ячейки были выбраны, нажмите ОК, чтобы закрыть его. Смотрите скриншот:

4. Затем нажмите OK чтобы закрыть это диалоговое окно, и все желаемые числа были выбраны, и вы можете перейти в строку состояния, чтобы просмотреть результаты вычислений:

Читайте также: