
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
06.12.2007, 18:32:21
|
|||
|---|---|---|---|
|
|||
Сформировать критерий для БДСУММ() в формуле |
|||
|
#18+
Hello, All!!! Подскажите, существует ли какая-нибудь возможность сформировать критерий для функции БДСУММ() не используя реальный диапазон. Т.е. что-то вроде: =БДСУММ(База;"Результат";{"Поле";"Значение"}) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.12.2007, 19:13:50
|
|||
|---|---|---|---|
Сформировать критерий для БДСУММ() в формуле |
|||
|
#18+
Возможно, Вам поможет это: Пример подсчёта (мин, макс, сумм и т.д.) согласно нескольким заданным/выбранным условиям. В примере использованы функции базы данных в которых, в качестве критерия отбора, использованы формулы. 24-12-06 http://www.msoffice.nm.ru/samples/#samples9 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.12.2007, 19:59:15
|
|||
|---|---|---|---|
Сформировать критерий для БДСУММ() в формуле |
|||
|
#18+
kyberHello, All!!! Подскажите, существует ли какая-нибудь возможность сформировать критерий для функции БДСУММ() не используя реальный диапазон. Т.е. что-то вроде: =БДСУММ(База;"Результат";{"Поле";"Значение"}) ? Такой возможности нет :-( KL [MVP - Microsoft Excel] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.12.2007, 20:17:36
|
|||
|---|---|---|---|
|
|||
Сформировать критерий для БДСУММ() в формуле |
|||
|
#18+
DaniilK , к сожалению, мне это не поможет... Но честно ОФИГЕЛ, когда увидел этот пример... Большое спасибо!!! Кто-нибудь знает, как это работает? KL (XL) , увы... БДСУММ() - какая-то необычная функция, критерием в ней может выступать исключительно ссылка на диапазон... Э-э-х... так часто в Экселе не хватает самого обычного SQL... :( Да-да... знаю-знаю: можно написать свою функцию, можно юзать, скажем, ADO через VBA... Но мне нужно что-то, что работало бы без лишних надстроек и настроек, разрешения макросов и т.д., чтобы гарантированно могли работать люди, слабо знакомые с Экселем, при чем на разных машинах... Может как-то можно сваять QueryTable, которая бы ВСЕГДА использовала в качестве источника данных этот же файл (Т.е. независимо от пути, по которому этот файл лежит. Вариант макросом в свойствах QueryTable прописывать путь к этому же файлу не подходит)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.12.2007, 20:19:48
|
|||
|---|---|---|---|
Сформировать критерий для БДСУММ() в формуле |
|||
|
#18+
DaniilK функции базы данных в которых, в качестве критерия отбора, использованы формулы. 1) это не совсем так - в качестве критерия отбора в функциях использованы диапазоны содержащие формулы ;-) 2) подобные формулы (обратите внимание на то, что ссылки в них относительные и в качестве заголовка - пустая ячейка) значительно замедляют пересчет, т.к. считают результат ячейка за ячейкой [наподобие СУМПРОИЗВ(--(...);--(...))] в отличие от родного алгоритма функций баз данных. Кстати, это решение пока не будет работать с относительными ссылками в XL2007 из-за недавно обнаруженного бага. 3) СУМПРОИЗВ в этом смысле наверно лучшая альтернатива, т.к. хоть и замедляет расчеты как в пункте два, по крайней мере экономит место. KL [MVP - Microsoft Excel] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.12.2007, 20:23:41
|
|||
|---|---|---|---|
Сформировать критерий для БДСУММ() в формуле |
|||
|
#18+
kyberувы... БДСУММ() - какая-то необычная функция, критерием в ней может выступать исключительно ссылка на диапазон... ... Но мне нужно ... чтобы гарантированно могли работать люди, слабо знакомые с Экселем, при чем на разных машинах... А чем в данном случае диапазоны не устраивает? Можно пример задачи, которую не удается решить? KL [MVP - Microsoft Excel] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.12.2007, 20:43:09
|
|||
|---|---|---|---|
|
|||
Сформировать критерий для БДСУММ() в формуле |
|||
|
#18+
KL (XL)А чем в данном случае диапазоны не устраивает? Можно пример задачи, которую не удается решить? Вообще, к БДСУММ я обратился потому что понадеялся, что она будет быстрее СУММЕСЛИ в моем случае. Суммирую я в формуле массива индивидуально для каждого его элемента. Итак, задача: нужно исключительно средствами Excel повторить работу SQL-запроса на объединение двух таблиц по одному полю с последующей группировкой:) Есть две таблички в формате базы данных. В первой есть код должности, дата приема, кол-во человек. Табличка не нормализованная: если записи повторяются, кол-во людей нужно сложить. Во второй табличке есть: код должности, вид мебели (стол, стул, шкаф, тумбочка и т.д.). Если человеку этой должности положен стол и стул, то будет две записи с одним кодом должности, но разным видом мебели. А если нужно два стула ( :) ) - то запись задублируется. Необходимо: создать двухмерную таблицу с кол-вом ед. мебели. В строках таблицы - вид мебели, в столбцах - месяцы. (т.е. аналог перекрестного запроса). По возможности, эта таблица должна быть "летучей", но максимально быстро считаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.12.2007, 20:53:59
|
|||
|---|---|---|---|
|
|||
Сформировать критерий для БДСУММ() в формуле |
|||
|
#18+
Текущее решение. Таблицам присвоены имена: Outp_staff и Outp_capex. К столбцам обращаюсь через ИНДЕКС(), потому что не хочется плодить кучу имен. Но если это ускорит выполнение - то можно. Функция выглядит так: =-СУММПРОИЗВ(-(ИНДЕКС(Outp_capex;;9)=$B18);СУММЕСЛИ(ИНДЕКС(Outp_staff;;7);ИНДЕКС(Outp_capex;;6)&" Y:"&ГОД(D$1)&" M:"&МЕСЯЦ(D$1);ИНДЕКС(Outp_staff;;12))) , где ИНДЕКС(Outp_capex;;9) - столбец с видом мебели ИНДЕКС(Outp_staff;;7) - искусственно созданный в базе должностей столбец вида: Код_должности & " Y:" & Год & " М:" & Месяц ИНДЕКС(Outp_capex;;6) - столбец с кодом должности в базе мебели ИНДЕКС(Outp_staff;;12) - столбец, в котором указано кол-во сотрудников. Параметры: $B18 - текущий вид мебели, D$1 - текущая дата. Т.е. получается, что я для каждой записи из базы мебели вычисляю количество сотрудников, принятых в этом месяце, и подставляю в СУММПРОИЗВ. Требуется: ускорить вычисления или предложить другое решение... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.12.2007, 21:18:04
|
|||
|---|---|---|---|
Сформировать критерий для БДСУММ() в формуле |
|||
|
#18+
Слушай, kyber Ну пожалел бы ты нас а! Файл с примерами куда легче разбирать :-) KL [MVP - Microsoft Excel] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.12.2007, 10:49:45
|
|||
|---|---|---|---|
|
|||
Сформировать критерий для БДСУММ() в формуле |
|||
|
#18+
KL (XL)Слушай, kyber Ну пожалел бы ты нас а! Файл с примерами куда легче разбирать :-) KL [MVP - Microsoft Excel] Да файлик оказался слишком большим... Вот чуть порезал... Держите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.12.2007, 15:03:32
|
|||
|---|---|---|---|
Сформировать критерий для БДСУММ() в формуле |
|||
|
#18+
Вот это работает значительно быстрее в XL2003 и XL2007. KL [MVP - Microsoft Excel] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=61&tablet=1&tid=2181676]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
118ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
29ms |
get tp. blocked users: |
2ms |
| others: | 232ms |
| total: | 421ms |

| 0 / 0 |
