Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2011, 21:56   #1
oldjoe
Пользователь
 
Регистрация: 21.07.2010
Сообщений: 12
По умолчанию можно чтобы ВПР игнорировала пустые ячейки?

Проблема простая:

на первом листе существует огромная таблица товарищей(>1000), у каждого несколько переменных

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

Но формат таблицы такой что столбцов для команды - 5, но далеко не всегда всегда все 5 человек забиты, команды могут быть и меньше, просто 5 это максимум. А дурацкая ВПР пустые ячейки не считает выдает ошибку. Каждый раз по нужде(заболел, отгул, отпуск х/з что еще) менять формулу в каждой из 365 или 730 команд- бред!

Можно как-нибудь сделать чтобы ВПР банально игнорировало пустые ячейки и считало только те которые заполнены?? по-моему это вообще должно было быть в 2007экселе изначально что за предирчивая функция такая

файл пример, данные не могу выложить
по поиску по впр нашел только смутно что-то похожее, но ничего не понял
хелп?
Вложения
Тип файла: rar example.rar (8.4 Кб, 37 просмотров)

Последний раз редактировалось oldjoe; 10.01.2011 в 21:59.
oldjoe вне форума Ответить с цитированием
Старый 10.01.2011, 22:18   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Вместо
=СУММ(ВПР(A5;сотр_т;2;0)*B5;ВПР(C5; сотр_т;2;0)*D5;ВПР(E5;сотр_т;2;0)*F 5;ВПР(G5;сотр_т;2;0)*H5;ВПР(I5;сотр_т;2;0)*J5)
=СУММ(ВПР(A5;сотр_т;2;0)*B5;ВПР(C5; сотр_т;2;0)*D5;ВПР(E5;сотр_т;2;0)*F 5;ВПР(G5;сотр_т;2;0)*H5;ЕСЛИ(ЕОШИБКА(ВПР(I5;сотр_т;2;0));0; ВПР(I5;сотр_т;2;0))*J5)
Это только на последний столбец.
Всю формулу лениво переписывать - слишком много букв, это сами...
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 10.01.2011 в 22:21.
Hugo121 вне форума Ответить с цитированием
Старый 10.01.2011, 23:16   #3
nilem
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 616
По умолчанию

Или так:
=ЕСЛИОШИБКА(СУММ(ВПР(A2;сотр_т;2;0) *B2;ВПР(C2;сотр_т;2;0)*D2;ВПР(E2;со тр_т;2;0)*F2;ВПР(G2;сотр_т;2;0)*H2; ВПР(I2;сотр_т;2;0)*J2);0)
nilem вне форума Ответить с цитированием
Старый 10.01.2011, 23:49   #4
oldjoe
Пользователь
 
Регистрация: 21.07.2010
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Вместо
=СУММ(ВПР(A5;сотр_т;2;0)*B5;ВПР(C5; сотр_т;2;0)*D5;ВПР(E5;сотр_т;2;0)*F 5;ВПР(G5;сотр_т;2;0)*H5;ВПР(I5;сотр_т;2;0)*J5)
=СУММ(ВПР(A5;сотр_т;2;0)*B5;ВПР(C5; сотр_т;2;0)*D5;ВПР(E5;сотр_т;2;0)*F 5;ВПР(G5;сотр_т;2;0)*H5;ЕСЛИ(ЕОШИБКА(ВПР(I5;сотр_т;2;0));0; ВПР(I5;сотр_т;2;0))*J5)
Это только на последний столбец.
Всю формулу лениво переписывать - слишком много букв, это сами...
криво чего-то, но мысль уловил
но не получается, там где есть значения выдает к сумме 0 почему-то, как-будто ошибка

+:она и была, ошибка. вроде таки работает пока

Последний раз редактировалось oldjoe; 11.01.2011 в 00:01.
oldjoe вне форума Ответить с цитированием
Старый 11.01.2011, 00:00   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

или ваще так:
Код:
=СУММ(ЕСЛИ(ЕТЕКСТ(A2:I2);ВПР(A2:I2;сотр_т;2;);)*Ч(B2:J2))
Вложения
Тип файла: rar Книга521.rar (8.4 Кб, 37 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 11.01.2011, 00:46   #6
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Цитата:
Сообщение от oldjoe Посмотреть сообщение
криво чего-то, но мысль уловил
но не получается, там где есть значения выдает к сумме 0 почему-то, как-будто ошибка

+:она и была, ошибка. вроде таки работает пока
Может жирность мешает при копировании? Я проверял...
Ещё раз, без жирности:
Код:
=СУММ(ВПР(A5;сотр_т;2;0)*B5;ВПР(C5;сотр_т;2;0)*D5;ВПР(E5;сотр_т;2;0)*F5;ВПР(G5;сотр_т;2;0)*H5;ЕСЛИ(ЕОШИБКА(ВПР(I5;сотр_т;2;0));0;ВПР(I5;сотр_т;2;0))*J5)
Это на 5-ю строку и с I,J пустыми столбцами.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 11.01.2011, 00:56   #7
ZORRO2005
Форумчанин
 
Аватар для ZORRO2005
 
Регистрация: 26.11.2006
Сообщений: 584
По умолчанию

IgorGO,
вроде твоя формула правильно написана, но Excel считает не верно.

Предлагаю такую:
Код:
=СУММ(СУММЕСЛИ(сотр;A2:I2;Лист1!$B$2:$B$8)*ЕСЛИ(ЕТЕКСТ(B2:J2);;B2:J2))
Формула массива.

Последний раз редактировалось ZORRO2005; 11.01.2011 в 01:42.
ZORRO2005 вне форума Ответить с цитированием
Старый 11.01.2011, 09:48   #8
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Cережа, ты прав.
только Эксель тут не при чем, это мой косяк, (и проверить даже не попытался) будь оно хоть 100 раз логично написано, но если Эксель так не работает с данными - так писать нельзя!
Извините,
на то, что я там написал можно смотреть только с такой точки зрения - было бы логично, если б Эксель еще и так все считал...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 19.01.2011, 09:25   #9
oldjoe
Пользователь
 
Регистрация: 21.07.2010
Сообщений: 12
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
или ваще так:
Код:
=СУММ(ЕСЛИ(ЕТЕКСТ(A2:I2);ВПР(A2:I2;сотр_т;2;);)*Ч(B2:J2))
Хэ! Дк вроде все верно так тоже. и в сто раз короче!
Я не понял, что тут не правильно формула считает? Вроде все правильно как раз.
И кстати зачем еще в каждой строке формулы скобки фигурные должны стоять? А без них ошибка :noob:
oldjoe вне форума Ответить с цитированием
Старый 19.01.2011, 09:33   #10
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Это не скобки фигурные, это формула массива так выводится, и эти скобки ставятся не по одной клавишами "{}", а через Ctrl+Shift+Enter.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамический диапазон, допускающий пустые ячейки fired Microsoft Office Excel 13 28.07.2010 23:25
подсчитать кол-во строк в которых содержаться пустые ячейки mars56 Microsoft Office Excel 4 24.02.2010 11:17
Как сделать табличку, чтобы поля можно было редактировать и красить ячейки? TwiX Общие вопросы Delphi 4 23.08.2009 13:18
Заполнить пустые ячейки ниже значениями из непустой ячейки ing60 Microsoft Office Excel 7 01.04.2009 04:20
пустые ячейки StasSv Microsoft Office Excel 5 22.12.2008 17:43