|
Вопрос Мастерам частичных сумм.
|
|
|
|
sergeleon |
Среда, 06 Октября 2004, 13:32
|
Участник
Профиль
Группа: Участник
Сообщений: 7
Регистрация: 06.10.2004
Пользователь №: 7408
Конфигурация
Корпус: -- Процессор: -- Материнская плата: -- Оперативная память: -- Видеокарта: -- Жесткий диск (винчестер): -- Дисковод: -- CD/DVD: -- Модем: -- Сетевой адаптер: -- Звуковая плата: -- Монитор: -- Операционная система: -- Прочее: --
|
В автофильтре есть возможность задать частичное условие, например содержит *2004*. Мне нужно программно задать подобное условие, т.е. отфильтровать месяцы 2004 года с последующим суммированием по другому столбцу. Декабрь 2003 Январь 2004 .......... Октябрь 2004 Конечно можно разбить ячейки на два столбца: месяц и год, но файл обновляется не мной, и мне доступен только для чтения. Желательно без применения VBA. Как вариант можно задать двойное условие больше декабря 2004, но меньше января 2005. Есть еще какие-нибудь мысли? Сообщение отредактировал sergeleon - Среда, 06 Октября 2004, 13:49
|
|
|
|
|
pashulka |
Среда, 06 Октября 2004, 17:36
|
Участник
Профиль
Группа: Участник
Сообщений: 216
Регистрация: 13.07.2003
Пользователь №: 5551
Конфигурация
Корпус: -- Процессор: -- Материнская плата: -- Оперативная память: -- Видеокарта: -- Жесткий диск (винчестер): -- Дисковод: -- CD/DVD: -- Модем: -- Сетевой адаптер: -- Звуковая плата: -- Монитор: -- Операционная система: -- Прочее: --
|
Стоп !!! Как это задать условие программно, но применения VBA ??? И почему Вы не хотите применить два условия (критерия) отбора, год и месяц ???
|
|
|
|
|
sergeleon |
Четверг, 07 Октября 2004, 12:38
|
Участник
Профиль
Группа: Участник
Сообщений: 7
Регистрация: 06.10.2004
Пользователь №: 7408
Конфигурация
Корпус: -- Процессор: -- Материнская плата: -- Оперативная память: -- Видеокарта: -- Жесткий диск (винчестер): -- Дисковод: -- CD/DVD: -- Модем: -- Сетевой адаптер: -- Звуковая плата: -- Монитор: -- Операционная система: -- Прочее: --
|
Может быть, я не корректно выразился, но я имел ввиду без использования макросов и редактора Visual Basic. А обойтись функциями СУММ, ЕСЛИ, мастером Частичная сумма. По поводу второго вопроса. Месяц и год содержатся в одной ячейке. Оператор "равно" не позволяет выбрать в столбце ячейки которые содержат 2004 год.
|
|
|
|
|
pashulka |
Четверг, 07 Октября 2004, 14:37
|
Участник
Профиль
Группа: Участник
Сообщений: 216
Регистрация: 13.07.2003
Пользователь №: 5551
Конфигурация
Корпус: -- Процессор: -- Материнская плата: -- Оперативная память: -- Видеокарта: -- Жесткий диск (винчестер): -- Дисковод: -- CD/DVD: -- Модем: -- Сетевой адаптер: -- Звуковая плата: -- Монитор: -- Операционная система: -- Прочее: --
|
Давайте по порядку : 1) Без применения VBA - это называется стандартными методами. 2) То, что год и месяц находятся в одной ячейке всем ясно, так Вы чётко указали это в своём вопросе. 3) При задании условии в автофильте оставьте в покое оператор "равно" и воспользуйтесь, к примеру : содержит 2004 и содержит январь Проверено, работает (MS Excel 97, 2000)
P.S. Для фильтрации только по одному году достаточно использовать один критерий отбора.
|
|
|
|
|
sergeleon |
Четверг, 07 Октября 2004, 15:03
|
Участник
Профиль
Группа: Участник
Сообщений: 7
Регистрация: 06.10.2004
Пользователь №: 7408
Конфигурация
Корпус: -- Процессор: -- Материнская плата: -- Оперативная память: -- Видеокарта: -- Жесткий диск (винчестер): -- Дисковод: -- CD/DVD: -- Модем: -- Сетевой адаптер: -- Звуковая плата: -- Монитор: -- Операционная система: -- Прочее: --
|
Освящу проблему в другом ракурсе: Автофильтр здесь не поможет, так как приходится фильтровать в разрезе других параметров. Допустим, просуммировать платежи по отделам, которых может быть и пять и сто. И каждый раз щелкать по фильтру, чтобы получить полную информацию, ой как не хочется. А хочется подобные хлопоты возложить на компьютерный процессор, с помощью мастера частичных сумм. Но проблема еще в том, что ячейка "Декабрь 2004" имеет текстовой формат и при задании диапазона условий больше "января 2004", но меньше января 2005" программа думает что декабрь меньше ноября, руководствуясь порядком букв в алфавите. Если сделать формат дата, то в автофильтре уже нельзя будет использовать оператор "содержит". Вот если бы программно задать содержит 2004 или содержит январь, то это будет другой разговор.
|
|
|
|
|
sergeleon |
Пятница, 08 Октября 2004, 7:25
|
Участник
Профиль
Группа: Участник
Сообщений: 7
Регистрация: 06.10.2004
Пользователь №: 7408
Конфигурация
Корпус: -- Процессор: -- Материнская плата: -- Оперативная память: -- Видеокарта: -- Жесткий диск (винчестер): -- Дисковод: -- CD/DVD: -- Модем: -- Сетевой адаптер: -- Звуковая плата: -- Монитор: -- Операционная система: -- Прочее: --
|
Дамы и господа! В результате трехдневных поисков решение было найдено! Исходный файл не понес никаких изменений, в формуле использована функция поиска подстроки в ячейках.
Упрощенно выглядит следующим образом:
=СУММ(ЕСЛИ(ЕОШИБКА(ПОИСК("2004";A1:A8;1));0;B1:B8))
|
|
|
|
|
pashulka |
Пятница, 08 Октября 2004, 18:24
|
Участник
Профиль
Группа: Участник
Сообщений: 216
Регистрация: 13.07.2003
Пользователь №: 5551
Конфигурация
Корпус: -- Процессор: -- Материнская плата: -- Оперативная память: -- Видеокарта: -- Жесткий диск (винчестер): -- Дисковод: -- CD/DVD: -- Модем: -- Сетевой адаптер: -- Звуковая плата: -- Монитор: -- Операционная система: -- Прочее: --
|
Почему не использовать более простой путь ???
=СУММЕСЛИ(A2:A6;"*2004*";B2:B6)
P.S. Если бы уважаемый sergeleon, в своих вопросах не намешал бы в кучу все возможности MS Excel. то возможно ответ нашёлся бы гораздо раньше.
|
|
|
|
|
sergeleon |
Понедельник, 11 Октября 2004, 7:26
|
Участник
Профиль
Группа: Участник
Сообщений: 7
Регистрация: 06.10.2004
Пользователь №: 7408
Конфигурация
Корпус: -- Процессор: -- Материнская плата: -- Оперативная память: -- Видеокарта: -- Жесткий диск (винчестер): -- Дисковод: -- CD/DVD: -- Модем: -- Сетевой адаптер: -- Звуковая плата: -- Монитор: -- Операционная система: -- Прочее: --
|
Я пока не разобрался, но данная функция не обновляется при чтении из другого файла. Только при открытии обоих. Что делать?
Не работает вложение в данной функции, как просуммировать третий столбец, при определенном значении второго? Допустим, год "*2004", отдел "71", сумма: платежи.
Р.S. Всегда знал, что на самый сложный вопрос, можно получить самый простой ответ.
Сообщение отредактировал sergeleon - Понедельник, 11 Октября 2004, 8:18
|
|
|
|
|
|
1 чел. читают эту тему (1 Гостей и 0 Скрытых Пользователей)
|
0 Пользователей:
|
|
© Copyright by WinCity.Ru 2001 - 2008 | Обратная связьУслуги веб-хостинга предоставлены компанией MTW.RU
|
|