Страницы: 1
RSS
Суммирование 10 значений, но только если рядом "+"
 
Всем привет.

Есть таблица с данными. Есть столбец с + и - . Задача: В желтой ячейке получить сумму первых 10 значений столбца О, но только если в столбце Р стоит +. Если стоит -, значит пропускаем и берем след. значение.

и второе удалено
Изменено: Bankock - 02.03.2017 01:38:43
 
Здравствуйте!
По первому вопросу - см. вариант в файле.
По второму - Правила форума: одна тема - один вопрос
 
с доп столбцом
 
Цитата
_Igor_61 написал:
По первому вопросу - см. вариант в файле.
Шикарно, благодарю!
 
добрый вечер ,вариант функции yyy в P23

Код
Function yyy#(r As Range)
     Dim z, s#, m&, i&: z = r.Value
    For i = 1 To UBound(z)
 If z(i, 2) = "+" Then
 s = s + z(i, 1): m = m + 1
 If m = 10 Then yyy = s: Exit Function
 End If
   Next
End Function


 
Изменено: sv2013 - 01.03.2017 23:06:00
 
МАССИВНАЯ
Код
=SUMPRODUCT((P2:INDEX(P:P;MAX(SMALL(IF(P2:P20="+";ROW(P2:P20);9^9);TRANSPOSE({1;2;3;4;5;6;7;8;9;10}))))="+")*(O2:INDEX(O:O;MAX(SMALL(IF(P2:P20="+";ROW(P2:P20);9^9);TRANSPOSE({1;2;3;4;5;6;7;8;9;10}))))))
,но одна.
По вопросам из тем форума, личку не читаю.
 
Формула массива (ввод тремя клавишами):
=СУММЕСЛИ(P2:ИНДЕКС(P:P;НАИМЕНЬШИЙ(ЕСЛИ(P2:P23="+";СТРОКА(P2:P23));10));"+";O2:ИНДЕКС(O:O;НАИМЕНЬШИЙ(ЕСЛИ(P2:P23="+";СТРОКА(P2:P23));10)))

Если вынести в отдельную ячейку определение последней нужной строки:
=НАИМЕНЬШИЙ(ЕСЛИ(P2:P23="+";СТРОКА(P2:P23));10) (формула массива),
то получим легкую конструкцию:
=СУММЕСЛИ(P2:ИНДЕКС(P:P;Q24);"+";O2:ИНДЕКС(O:O;Q24))
 
vikttur
эко я вчера завернул TRANSPOSE({1;2;3;4;5;6;7;8;9;10} Вот смотрю, ржу.  :)
По вопросам из тем форума, личку не читаю.
Страницы: 1
Наверх