Профессиональные приемы работы в Microsoft Excel

Обмен опытом => Microsoft Excel => Тема начата: zs5 от 18.07.2017, 15:06

Название: выборка месяца из текста
Отправлено: zs5 от 18.07.2017, 15:06
Если имеется задача: Сплюсовать все значение в столбце B при условие что в А написано "за июль".
Предлагаемый вариант решения задачи:
1. Создаем дополнительный столбец с формулой: =МЕСЯЦ("1" & ПОДСТАВИТЬ(A2;"За ";"") & "2012")
2. считаемый искомый результат по формуле: =СУММЕСЛИ(B2:B5;7;C2:C5)
Название: Re: выборка месяца из текста
Отправлено: vikttur от 18.07.2017, 15:26
Предлагаемый вариант: не забывать при создании тем прикреплять файлы-примеры.

Без примера:
в СУММЕСЛИМН() два условия - >=нач_месяца, <=кон_месяца
Название: Re: выборка месяца из текста
Отправлено: runner от 18.07.2017, 17:28
формула массива

=СУММПРОИЗВ(B1:B10;--ЕСЛИОШИБКА(ПОИСК("за июль";A1:A10)>0;0))
Название: Re: выборка месяца из текста
Отправлено: zs5 от 18.07.2017, 17:50
 runner, тогда уж ФМ:)
=СУММПРОИЗВ(B2:B5*--(A2:A5="За июль"))
Название: Re: выборка месяца из текста
Отправлено: runner от 18.07.2017, 18:08
Если в столбце A в ячейках текст только такого типа, то без проблем! Мой вариант на случай несколько более вольного написания комментария:)
Название: Re: выборка месяца из текста
Отправлено: vikttur от 18.07.2017, 18:25
Цитата: zs5 от 18.07.2017, 17:50
runner, тогда уж ФМ:)
Нужно было еще +0 дописать :)
И умножение, и двойное отрицание преобразует логическое значение в число :)

А быстрее так:
=СУММПРОИЗВ(B2:B5;--(A2:A5="За июль"))
Но лучше так:
=СУММЕСЛИ(A2:A5;"За июль";B2:B5)
Для "несколько более вольного написания" текст поиска - "*За июль*"
Название: Re: выборка месяца из текста
Отправлено: zs5 от 19.07.2017, 08:42
Цитата: vikttur от 18.07.2017, 18:25
А быстрее так:
А так не быстрее:
=СУММ((A2:A5="За июль")*(B2:B5))
ФМ  :) ;D :)
Название: Re: выборка месяца из текста
Отправлено: vikttur от 19.07.2017, 11:04
Нет. Тестировали... В таких конструкциях СУММПРОИЗВ выигрывает у СУММ до 30% времени!
Название: Re: выборка месяца из текста
Отправлено: zs5 от 19.07.2017, 11:33
Цитата: vikttur от 19.07.2017, 11:04
Нет
В таком случае двойное отрицание заменить функцией Ч:
=СУММПРОИЗВ(Ч(A2:A5="За июль");B2:B5)
Название: Re: выборка месяца из текста
Отправлено: vikttur от 19.07.2017, 11:38
Двойное отрицание - Это не два минуса, это оператор преобразования.
Название: Re: выборка месяца из текста
Отправлено: zs5 от 19.07.2017, 11:57
Цитата: vikttur от 19.07.2017, 11:38
Это не два минуса
что быстрей функция или оператор преобразования
Р.S. Но это и не два плюса
Название: Re: выборка месяца из текста
Отправлено: vikttur от 19.07.2017, 12:26
Не надо троллить. Два плюса - нет такого.

Что быстрее, проверьте сами: создайте диапазон из нескольких десятков тысяч формул и играйтесь.
Название: Re: выборка месяца из текста
Отправлено: zs5 от 19.07.2017, 12:53
Цитата: vikttur от 19.07.2017, 12:26
Не надо троллить...
вопрос был конкретный: что быстрей функция или оператор преобразования
Название: Re: выборка месяца из текста
Отправлено: vikttur от 19.07.2017, 12:54
Троллинг - это о плюсах.  Не нужно писать ерунду. о скорости уже ответил - проверяйте, я экспериментов не проводил.
Название: Re: выборка месяца из текста
Отправлено: zs5 от 19.07.2017, 13:10
vikttur, форум-дискуссионная площадка, на каждый тезис антитезис
Если троллинг о плюсах, то троллинг и о минусах
Название: Re: выборка месяца из текста
Отправлено: vikttur от 19.07.2017, 13:24
Вы видели где-то применение ++? Еще раз - хватит троллинга! Буду удалять
Название: Re: выборка месяца из текста
Отправлено: zs5 от 19.07.2017, 13:43
Цитата: vikttur от 19.07.2017, 13:24
применение ++
Запись (++2 означает 2*2
Название: Re: выборка месяца из текста
Отправлено: vikttur от 19.07.2017, 14:50
Перестаньте морочить голову.
Здесь форум по Excel. Введите в ячейку
=++2 или =++++2
и посмотрите результат