powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / СУММЕСЛИ и подзапрос для выбора по нескольким критериям.
19 сообщений из 19, страница 1 из 1
СУММЕСЛИ и подзапрос для выбора по нескольким критериям.
    #38667874
Eugene_p1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, коллеги.

Подскажите пожалуйста решение.

Нужно в СУММЕСЛИ наложить на обрабатываемый массив условие с несколькими аргументами.
В SQL это делается WHERE SomeField IN (Value1, Value2) или JOIN'ом подтаблицы
Как это сделать в Excel - ума не приложу.
Грубо говоря, мне из оборотно-сальдовой ведомости нужно выбрать обороты по нескольким субсчетам. Скажем, 90.03* (все подсчета), 91.01*, 91.03*

Подскажите пожалуйста, как. Если возможно - с вариантами, где аргументы выбираются из подтаблицы.
Очень не хочется колхозить с вбиванием всех вариантов.
...
Рейтинг: 0 / 0
СУММЕСЛИ и подзапрос для выбора по нескольким критериям.
    #38667934
Фотография Ser Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так наверно

M10 -
Код: vbnet
1.
SUMIF( A10:K1000; AND (90.03;91.01;91.03); K10:K1000)
...
Рейтинг: 0 / 0
СУММЕСЛИ и подзапрос для выбора по нескольким критериям.
    #38667956
Фотография Ser Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет я не прав
Вот правильно

=SUMPRODUCT(($J$45:$J$59="90.01")*$K$45:$K$59)+SUMPRODUCT(($J$45:$J$59="90.03")*$K$45:$K$59)+ и т.п.
...
Рейтинг: 0 / 0
СУММЕСЛИ и подзапрос для выбора по нескольким критериям.
    #38668134
ikki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Eugene_p1,

ну раз владеете SQL - так и делайте им же. ADO Вам в помощь.
...
Рейтинг: 0 / 0
СУММЕСЛИ и подзапрос для выбора по нескольким критериям.
    #38670056
Eugene_p1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ser ArturНет я не прав
Вот правильно

=SUMPRODUCT(($J$45:$J$59="90.01")*$K$45:$K$59)+SUMPRODUCT(($J$45:$J$59="90.03")*$K$45:$K$59)+ и т.п.
Спасибо!
Но так получается довольно длинная запись, если много счетов.
Кроме того, у нас счет 90.01 включает несколько субсчетов (90.01.01, 90.01.02, и т.д.), которые тоже должны попасть в выборку.
...
Рейтинг: 0 / 0
СУММЕСЛИ и подзапрос для выбора по нескольким критериям.
    #38670057
Eugene_p1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ikkiEugene_p1,

ну раз владеете SQL - так и делайте им же. ADO Вам в помощь.
Ммм... Можно наводку?
Не сочтите за лень, читать и разбираться просто нет времени, задачи насыпают щедрой рукой. :)

Запрос напишу сам, как и куда его воткнуть - нужен совет/подсказка.

Спасибо большое!
...
Рейтинг: 0 / 0
СУММЕСЛИ и подзапрос для выбора по нескольким критериям.
    #38670757
Eugene_p1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И всё-таки я реализовал это через формулу Excel.

Код: vbnet
1.
{=СУММ(ЕСЛИ(ЕСЛИОШИБКА(ПОИСКПОЗ(ЛЕВСИМВ(ОСВ[КС];5);{"90.03";"91.01";"91.03"};0);0)>0;ОСВ[ОбтКт];""))}



Удобства в том, что список счетов пишется в одном месте, и также при желании его можно брать из ячейки (ячеек).
...
Рейтинг: 0 / 0
СУММЕСЛИ и подзапрос для выбора по нескольким критериям.
    #38675860
ikki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
СУММЕСЛИ и подзапрос для выбора по нескольким критериям.
    #38677100
Eugene_p1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо! Почитаю!
...
Рейтинг: 0 / 0
СУММЕСЛИ и подзапрос для выбора по нескольким критериям.
    #38677421
Eugene_p1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Eugene_p1,

Подключил внешний файл - работает.
Усложню вопрос.

Как можно из своего же файла с помощью SQL получить таблицу с данными, при этом задавая параметры?

Лист1
ABCD1NumNameMonth Февраль21Один Январь32Два Февраль43ТриМарт

Код: sql
1.
SELECT Num, Name FROM [Лист1$A:C] WHERE Month = [Лист1$D4]


??

Правильный ответ:
Num Name2 Два
...
Рейтинг: 0 / 0
СУММЕСЛИ и подзапрос для выбора по нескольким критериям.
    #38677428
Eugene_p1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Eugene_p1,

Понятно, что ошибка здесь:
Код: sql
1.
SELECT Num, Name FROM [Лист1$A:C] WHERE Month = [Лист1$D4]



Как сделать так, чтобы запрос возвращал правильный результат?
...
Рейтинг: 0 / 0
СУММЕСЛИ и подзапрос для выбора по нескольким критериям.
    #38677436
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как вы формируете строку запроса? покажите код.
...
Рейтинг: 0 / 0
СУММЕСЛИ и подзапрос для выбора по нескольким критериям.
    #38677522
ikki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Eugene_p1,

Вам надо либо считать значение из ячейки и включить его в запрос непосредственно, без ссылки на файл:

Код: vbnet
1.
2.
v = sheets("Лист1").[d4].value
sSQL="SELECT Num, Name FROM [Лист1$A:C] WHERE Month = " & v



либо - см. файл
...
Рейтинг: 0 / 0
СУММЕСЛИ и подзапрос для выбора по нескольким критериям.
    #38677714
Eugene_p1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги, спасибо большое за наводки!

Цель ставил избежать использования макросов.
Решил так:

В файле Excel создал источник, показывающий на самого себя.
Далее запрос:
Код: sql
1.
SELECT F1, F2, F3,F4 FROM [Лист2$] WHERE F4 IN (SELECT F1 FROM [Лист1$B1:B10])
...
Рейтинг: 0 / 0
СУММЕСЛИ и подзапрос для выбора по нескольким критериям.
    #38677727
Eugene_p1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ikki,

Спасибо!

Вопрос по этой строке:
авторDim sCon$, cn As Object , sSQL$
Не понимаю выделенное. Что этим достигается?
...
Рейтинг: 0 / 0
СУММЕСЛИ и подзапрос для выбора по нескольким критериям.
    #38677736
ikki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
объявляется переменная.
типа String.

можно не объявлять. особенно если хочется получить говнокод :)
...
Рейтинг: 0 / 0
СУММЕСЛИ и подзапрос для выбора по нескольким критериям.
    #38677752
Eugene_p1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ikki,

Таки понятно, но я думал должно быть так:
Код: vbnet
1.
Dim sSQL$ as String


Не понял, почему через запятую и после объявления объекта!
...
Рейтинг: 0 / 0
СУММЕСЛИ и подзапрос для выбора по нескольким критериям.
    #38677759
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может почитать справку по Dim и справку по типам данных?

ну или просто поверить на слово
...
Рейтинг: 0 / 0
СУММЕСЛИ и подзапрос для выбора по нескольким критериям.
    #38677823
ikki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Eugene_p1,
либо
Код: vbnet
1.
Dim sSQL As String


либо
Код: vbnet
1.
Dim sSQL$


второе короче.
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / СУММЕСЛИ и подзапрос для выбора по нескольким критериям.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]