Два минуса в формуле excel

 

Добрый день! помогите, пожалуйста, разобраться.
Есть формула массива: =(C3/ГПР(ИНДЕКС(E3:M3;1;ПОИСКПОЗ(1;—(E3:M3<>0);0));E3:M3;1;0))
Теоретически, что она делает, мне понятно. Но вот как это происходит — не очень. Что за два минуса? когда они ставятся и какую функцию выполняют?
Мне нужно, чтобы эта формула брала не весь диапазон (E3:M3), а только ячейки с прогнозом продаж. Для примера вложила файл (столбец D)
Заранее спасибо за помощь!

Прикрепленные файлы

  • Книга1.xlsx (20.29 КБ)

 

Максим В.

Пользователь

Сообщений: 6759
Регистрация: 15.02.2016

#2

17.11.2020 12:14:45

Цитата
Лариса Кошелева написал:
Что за два минуса? когда они ставятся и какую функцию выполняют?

Преобразовывают логические ИСТИНА или ЛОЖЬ в 1 или 0 соответственно.

Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

 

Jack Famous

Пользователь

Сообщений: 10848
Регистрация: 07.11.2014

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

#4

17.11.2020 13:05:46

Цитата
Максим В.: Преобразовывают логические ИСТИНА или ЛОЖЬ в 1 или 0 соответственно

для примера да, но лучше обобщить формулировку до «пытается преобразовать в число, совершив простейшую математическую операцию двойного отрицания»

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

Лариса Кошелева

Пользователь

Сообщений: 3
Регистрация: 17.11.2020

#5

17.11.2020 13:17:17

vikttur, Спасибо! Я смотрела, но честно — ничего не поняла….

Цитата
Максим В. написал:
Если в мире всё бессмысленно

Вот это то, что я поняла в описании.

Спасибо огромное за ответы!
Видно, когда человек писал эту формулу, он сам «учился», Файл достаточно давний был….)))
И я не умею особо поиском пользоваться. это молодежь с компьютером родилась… Так что спасибо за новые знания (по ссылке нашла пред.сообщения в этом же форуме)

Изменено: Лариса К17.11.2020 13:29:44

 

БМВ

Модератор

Сообщений: 21380
Регистрация: 28.12.2016

Excel 2013, 2016

ПОИСКПОЗ(1;—(E3:M3<>0);0) — заменить на ПОИСКПОЗ(1=1;E3:M3<>0;)  и короче, и вопросов меньше.
ИНДЕКС(E3:M3;1; — убрать 1; как класс, оно там лишнее, хоть и не мешает.

Изменено: БМВ17.11.2020 13:22:06

По вопросам из тем форума, личку не читаю.

 

давайте будем проще и честно признаем, что это демонстрация действия одного из основополагающих законов философии:
«отрицание отрицания»

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

Изменено: Ігор Гончаренко17.11.2020 13:25:00

Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!

 

PooHkrd

Пользователь

Сообщений: 6602
Регистрация: 22.02.2017

Excel x64 О365 / 2016 / Online / Power BI

Ігор Гончаренко, не, я понимаю когда додумываешь вопрос от ТС, на тему что же он хотел спросить. Но вот придумывать вопрос за ТС глядя в исходник, это что-то новое! Вот это опыт! Браво! Надо тоже так как-нибудь попробовать.

Вот горшок пустой, он предмет простой…

 

Лариса К

Пользователь

Сообщений: 3
Регистрация: 17.11.2020

#9

17.11.2020 13:36:21

Цитата
Ігор Гончаренко написал:
вообще предполагаю вопрос о двух минусах для затравочки

И да, и нет. Я формулу прописала там — просто через обычные если….

 

Ігор Гончаренко

Пользователь

Сообщений: 13746
Регистрация: 01.01.1970

#10

17.11.2020 13:38:35

я не открывал файл((( вопрос прочитал в сообщении #1

Цитата
Лариса Кошелева написал:
Мне нужно, чтобы эта формула брала не весь диапазон (E3:M3), а только ячейки с прогнозом продаж.

Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!

If you start studying advanced EXCEL, you must have noticed that many formulas, even the most basic formulas, when used with other formulas use this “–” symbol, and what we observe after applying these formulas, is that instead of getting TRUE value, we get output as 1, whereas if we are expecting FALSE value, we are getting output as 0.

So, you must have noticed that the “–” operator(Double negation operator)behaves like a binary operator in this. Yes, this operator can contrast the whole result in form of numbers.

First, we will see some examples which use this concept.

1.Using LEN Function:

Here, we will be having data of  4 students, and whoever speaks more than 10 characters, we will target him/her for harassment, by counting that student. The dataset will look like this:

Now, applying a simple formula of function LEN, we will get our desired result. The formula will be:

=LEN(B2:B5) > 10

Now, as discussed, we will see what this function will do without any external changes in its syntax. It is going to generate a boolean “logical” value array of the given ranges, and as per the given condition. So, let’s see what that array will look like:

={TRUE;FALSE;FALSE;FALSE}

Now, as clear from the above-returned array, that only the first student is harassing according to the given condition.

Now, let’s suppose this array has to be sent to superiors for checking students data, and they don’t really accept boolean logical values as they will compute these array values in terms of numbers. So, that is a problem!!. So this is where “–” comes into play. Now, applying the same formula on the same dataset, with a little adjustment, the formula will look like this:

=--(LEN(B2:B5)>10)

Now, the modified array will look like:

={1;0;0;0}

Now, this array can be used to compute mathematical forms in a direct fashion.

2.Using SUMPRODUCT

Now, let’s suppose we have a database of people watching a particular movie and an excel file associated with it. We have an approximate guess that movie number 1 is very popular so most people will watch that movie only. So we want to know how many people watch movie number 1. The dataset will be:

Now applying a simple formula to know the amount of 1’s in the MOVIES column. The formula will look like–

=($B2:$B6=1)

But as we know we can’t really deal with boolean logical values in the computational part, so this formula is insufficient. Here we will use the “–” operator to resolve this. Now, applying this operator in the previous formula, the formula will look like–

=--($B2:$B6=1)

Now, the array will look like:

{1;1;0;0;0}

Now we will directly apply the SUMPRODUCT function on this, to sum up, the truth values in the array. So the formula will be:

=SUMPRODUCT(--($B2:$B6=1))

So we will get output as 2 in this dataset for this condition.

So you see the importance of double negation operator in some cases. But in practical life, this operator is very powerful, as it can help you to compute in numeric form.

Знак минус меняет положительный на отрицательный в стандартных формулах Excel.

Использование двух знаков минус -- изменяет ИСТИНА и ЛОЖЬ на числа:

=(1>2) =FALSE
=--(1>2) =0
=(2>1) =TRUE
=--(2>1) =1

Что еще более важно, это здорово использовать в формулах массива —

Возьмите этот стол, начиная с ячейки A1

Primary Secondary   Count
red     blue        10
blue    red         20
yellow  red         30
red     blue        40
purple  green       50
blue    red         60
red     red         70

Если вы хотите узнать, сколько у вас есть определенной комбинации, вы можете использовать такой продукт как этот —

=SUMPRODUCT(--(A2:A8="blue"),--(B2:B8="red"),C2:C8)

Это даст вам 80, выполнив это с вашим столом (буквально умножая) —

blue    red    Count    Total
0   x   0   x   10   =   0
1   x   1   x   20   =   20
0   x   1   x   30   =   0
0   x   0   x   40   =   0
0   x   0   x   50   =   0
1   x   1   x   60   =   60
0   x   1   x   70   =   0

По сути, это позволяет вам использовать условия true/false в качестве множителей в массиве.
Тогда как эта формула

=SUMPRODUCT((A2:A8="blue"),(B2:B8="red"),C2:C8)

вернет 0. Это было бы полезно в то время, когда показатели не будут работать с суммированием.

Если вы ищете информацию в Google, термин, который вы должны искать, это двойная черта.

Using two minus signs next to each other causes the formula to convert a return value of “TRUE” into 1 and a return value of “FALSE” into 0.

Let’s start with a simple logical condition :3 > 2 .

Apply this in excel = 3>2 returns “TRUE” . Using “—“ two minus signs together with this condition returns 1 = —(3>2)
This method is mostly used in SUMPRODUCT formulas to convert the conditional arrays that evaluates to TRUE/FALSE into 1/0.

Note : SUMPRODUCT formula ignores non numeric cells. Using double minus signs technique we can command excel to convert TRUE/FALSE to 1/0.

Following the values in cell A1:B8

A B
1

X

Y
2

20

2
3

10

5
4

5

8
5

15

11
6

7

14
7

8

17
8

13

20

Use this formula =SUMPRODUCT(—(A2:A8<12),B2:B8)

The first minus sign coerces the array to (0,-1,-1,0,-1,-1,0) and the second minus sign multiplies each values with negative sign [ Basic Maths : (-) * (-) = + ] (0,1,1,0,1,1,0)

So the sumproduct evaluates =SUMPRODUCT((0,1,1,0,1,1,0),(2,5,8,11,14,17,20)) returns a value 44.

You can figure out the same thing using the below formula :
=SUMPRODUCT((A2:A8<12*B2:B8)

About Author:

Deepanshu founded ListenData with a simple objective — Make analytics easy to understand and follow. He has over 10 years of experience in data science. During his tenure, he has worked with global clients in various domains like Banking, Insurance, Private Equity, Telecom and Human Resource.

Next →
← Prev

Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше

Важно: Вычисляемые результаты формул и некоторые функции листа Excel могут несколько отличаться на компьютерах под управлением Windows с архитектурой x86 или x86-64 и компьютерах под управлением Windows RT с архитектурой ARM. Подробнее об этих различиях.

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

Что необходимо сделать

Существует несколько способов вычитания чисел, в том числе:
 

  • Вычитание чисел в ячейке

  • Вычитание чисел в диапазоне

Вычитание чисел в ячейке

Для простого вычитания используйте арифметические операторы — (минус).

Например, если ввести в ячейку формулу =10-5, в результате в ячейке отобразится 5.

Вычитание чисел в диапазоне

При добавлении отрицательного числа все равно, что вычитать одно число из другого. С помощью функции СУММ можно складывать отрицательные числа в диапазоне.
 

Примечание: В Excel не существует функции ВЫЧЕСТЬ. Используйте функцию СУММ, преобразуя все числа, которые необходимо вычесть, в их отрицательные значения. Например, функция СУММ(100,-32,15,-6) возвращает результат 77.

Пример

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

  1. Выберите все строки в приведенной ниже таблице, а затем нажмите клавиши CTRL+C.
     

    Данные

    15000

    9000

    -8000

    Формула

    =A2-A3

    Вычитает 9000 из 15000 (что равно 6000).

    -СУММ(A2:A4)

    Добавляет все число в списке, включая отрицательные (чистый результат — 16 000).

  2. Выделите на листе ячейку A1 и нажмите клавиши CTRL+V.

  3. Чтобы переключиться между просмотром результатов и просмотром формул, нажмите клавиши CTRL+’ (ударение) на клавиатуре. Можно также нажать кнопку Показать формулы (на вкладке Формулы).

Использование функции СУММ

Функция СУММ суммирует все числа, которые вы указали в качестве аргументов. Каждый аргумент может быть диапазон, ссылка на ячейку, массив, константа или формулалибо результатом выполнения другой функции. Например, СУММ(A1:A5) суммирует все числа в диапазоне ячеек A1–A5. Другим примером является сумм(A1, A3, A5), которая суммирует числа, содержащиеся в ячейках A1, A3 и A5 (аргументы — A1, A3 и A5).

Нужна дополнительная помощь?

Содержание

  • Применение вычитания
    • Способ 1: вычитание чисел
    • Способ 2: вычитание чисел из ячеек
    • Способ 3: вычитание ячейки из ячейки
    • Способ 4: массовая обработка операции вычитания
    • Способ 5: массовое вычитание данных одной ячейки из диапазона
  • Вопросы и ответы

Вычитание в Microsoft Excel

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

Применение вычитания

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

Давайте на конкретных примерах разберем, как выполняется данное арифметическое действие в Excel.

Способ 1: вычитание чисел

Самый простой пример – это вычитание чисел. В этом случае все действия выполняются между конкретными числами, как в обычном калькуляторе, а не между ячейками.

  1. Выделяем любую ячейку или устанавливаем курсор в строку формул. Ставим знак «равно». Печатаем арифметическое действие с вычитанием, так же, как делаем это на бумаге. Например, записываем следующую формулу:

    =895-45-69

  2. Вычитание в программе Microsoft Excel

  3. Для того, чтобы произвести процедуру вычисления, жмем на кнопку Enter на клавиатуре.

Результат вычитания в программе Microsoft Excel

После того, как выполнены данные действия, в выделенную ячейку выводится результат. В нашем случае это число 781. Если вы использовали другие данные для вычисления, то, соответственно, у вас результат получится иной.

Способ 2: вычитание чисел из ячеек

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

  1. Выделяем ячейку, в которой будет находиться формула вычитания. Ставим знак «=». Кликаем по ячейке, которая содержит данные. Как видим, после этого действия её адрес заносится в строку формул и добавляется после знака «равно». Печатаем то число, которое нужно вычесть.
  2. Вычитание числа из ячейки в программе Microsoft Excel

  3. Как и в предыдущем случае, для получения результатов вычисления жмем на клавишу Enter.

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

Способ 3: вычитание ячейки из ячейки

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

  1. Выбираем ячейку для вывода результатов вычислений и ставим в ней знак «равно». Кликаем по ячейке, содержащей уменьшаемое. Ставим знак «-». Кликаем по ячейке, содержащей вычитаемое. В случае, если операцию нужно провести с несколькими вычитаемыми, далее тоже ставим знак «минус» и проводим действия по той же схеме.
  2. Вычитание ячейки из ячейки в программе Microsoft Excel

  3. После того, как все данные введены, для вывода результата жмем по кнопке Enter.

Результат вычитания ячейки из ячейки в программе Microsoft Excel

Урок: Работа с формулами в Excel

Lumpics.ru

Способ 4: массовая обработка операции вычитания

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

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

  1. Выделяем самую верхнюю ячейку для расчета прибыли. Ставим знак «=». Кликаем по ячейке, содержащей размер выручки в той же строке. Ставим знак «-». Выделяем ячейку с себестоимостью.
  2. Вычитание в таблице в Microsoft Excel

  3. Для того чтобы вывести результаты прибыли по данной строке на экран, жмем на кнопку Enter.
  4. Результат вычитания в таблице в Microsoft Excel

  5. Теперь нам нужно скопировать данную формулу в нижний диапазон, чтобы и там произвести нужные вычисления. Для этого ставим курсор на правый нижний край ячейки, содержащей формулу. Появляется маркер заполнения. Жмем левую кнопку мыши и в зажатом состоянии тянем курсор вниз до конца таблицы.
  6. Копирование данных в Microsoft Excel

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

Данные скопированы в программе Microsoft Excel

Урок: Как сделать автозаполнение в Excel

Способ 5: массовое вычитание данных одной ячейки из диапазона

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

  1. Становимся в первую ячейку для вывода результата вычислений диапазона. Ставим знак «равно». Кликаем на ячейку, в которой находится уменьшаемое. Устанавливаем знак «минус». Делаем клик по ячейке вычитаемого, адрес которой изменяться не должен.
  2. Вычитание в приложении Microsoft Excel

  3. А теперь переходим к самому важному отличию данного метода от предыдущего. Именно следующее действие позволяет преобразовать ссылку из относительной в абсолютную. Ставим знак доллара перед координатами по вертикали и горизонтали той ячейки, адрес которой не должен меняться.
  4. Абсолютное число в приложении Microsoft Excel

  5. Кликаем на клавиатуре по клавише Enter, что позволяет вывести вычисления по данной строке на экран.
  6. Результат расчета в Microsoft Excel

  7. Для того, чтобы произвести вычисления и по другим строкам, тем же способом, что и в предыдущем примере, вызываем маркер заполнения и перетаскиваем его вниз.
  8. Маркер заполнения в Microsoft Excel

  9. Как видим, процесс вычитания был произведен именно так, как нам надо. То есть, при перемещении вниз адреса уменьшаемых данных менялись, а вот вычитаемое оставалось неизменным.

Ячейки заполнены данными в Microsoft Excel

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

Урок: Абсолютные и относительные ссылки в Excel

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

Like this post? Please share to your friends:
  • Два макроса на одной кнопке excel
  • Два логических условия в excel
  • Два логических значения в если excel
  • Два листа на один в word
  • Два листа в excel макросом