Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Сумма произведений по условиям, диапазоны разной размерности - Страница 2 - Мир MS Excel

Старая форма входа
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: китин, _Boroda_  
Сумма произведений по условиям, диапазоны разной размерности
Lyova Дата: Суббота, 26.10.2024, 20:31 | Сообщение № 21
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 183
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
gling,
Будет чрезмерным у Вас попросить объяснить, как работает ТРАНСП() в данном случае?
В стандартном варианте же она преобразует столбец в строку и наоборот.
 
Ответить
Сообщениеgling,
Будет чрезмерным у Вас попросить объяснить, как работает ТРАНСП() в данном случае?
В стандартном варианте же она преобразует столбец в строку и наоборот.

Автор - Lyova
Дата добавления - 26.10.2024 в 20:31
gling Дата: Суббота, 26.10.2024, 20:51 | Сообщение № 22
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2563
Репутация: 706 ±
Замечаний: 0% ±

2010
В стандартном варианте же она преобразует столбец в строку и наоборот

В формуле тоже так-же. При умножении в формуле массива строки на строку, умножаются строки по порядку и создается одномерный массив данных, при умножении строк на столбец, каждая ячейка строки умножается на каждую ячейку столбца и создается двухмерный массив, по типу таблицы Пифагора, раньше печатали на каждой обложке тетради в клетку.Посмотрите здесь.


ЯД-41001506838083
 
Ответить
Сообщение
В стандартном варианте же она преобразует столбец в строку и наоборот

В формуле тоже так-же. При умножении в формуле массива строки на строку, умножаются строки по порядку и создается одномерный массив данных, при умножении строк на столбец, каждая ячейка строки умножается на каждую ячейку столбца и создается двухмерный массив, по типу таблицы Пифагора, раньше печатали на каждой обложке тетради в клетку.Посмотрите здесь.

Автор - gling
Дата добавления - 26.10.2024 в 20:51
Egyptian Дата: Суббота, 26.10.2024, 21:17 | Сообщение № 23
Группа: Проверенные
Ранг: Ветеран
Сообщений: 526
Репутация: 193 ±
Замечаний: 0% ±

Excel 2013/2016
Немассивный вариант. В суть сильно не вникал, сделал по логике формулы gling.
Код
=SUMPRODUCT((COUNTIF($L22;$D$5:$D$32)*$C$5:$C$32);SUMIFS(M$5:M$10;$L$5:$L$10;$F$5:$F$32))
К сообщению приложен файл: 0922220.xlsx (14.9 Kb)
 
Ответить
СообщениеНемассивный вариант. В суть сильно не вникал, сделал по логике формулы gling.
Код
=SUMPRODUCT((COUNTIF($L22;$D$5:$D$32)*$C$5:$C$32);SUMIFS(M$5:M$10;$L$5:$L$10;$F$5:$F$32))

Автор - Egyptian
Дата добавления - 26.10.2024 в 21:17
Lyova Дата: Суббота, 26.10.2024, 22:26 | Сообщение № 24
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 183
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Egyptian,
Ваша формула работает абсолютно правильно. Хотя чуть длиннее, чем у gling, :)

Спасибо большое за вариант!
 
Ответить
СообщениеEgyptian,
Ваша формула работает абсолютно правильно. Хотя чуть длиннее, чем у gling, :)

Спасибо большое за вариант!

Автор - Lyova
Дата добавления - 26.10.2024 в 22:26
Lyova Дата: Суббота, 26.10.2024, 22:28 | Сообщение № 25
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 183
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
gling,
Кажется я понял, спасибо за просвещение!
 
Ответить
Сообщениеgling,
Кажется я понял, спасибо за просвещение!

Автор - Lyova
Дата добавления - 26.10.2024 в 22:28
Hugo Дата: Суббота, 26.10.2024, 22:54 | Сообщение № 26
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3690
Репутация: 790 ±
Замечаний: 0% ±

365
если добавиться еще одна таблица, например, аналогичная таблице 1, то просто надо добавить в макрос еще один цикл For, аналогичный первому в макросе?
- да, ещё три аргумента (или один, если есть стабильность, т.е. чтоб взять сразу всё 3 столбца в один массив), и в цикле собрать из них все работы конкретной должности.
Но как вариант - можно наверное суммировать два результата по разным таблицам...

Дак равно этот код у Вас и есть.
- не, тут ещё добавлено два апострофа и перевод строки, а зелёный цвет это оно само - это значит что зелёное не работает.

Но наверное уже не актуально, раз стандартными решилось.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
Сообщение
если добавиться еще одна таблица, например, аналогичная таблице 1, то просто надо добавить в макрос еще один цикл For, аналогичный первому в макросе?
- да, ещё три аргумента (или один, если есть стабильность, т.е. чтоб взять сразу всё 3 столбца в один массив), и в цикле собрать из них все работы конкретной должности.
Но как вариант - можно наверное суммировать два результата по разным таблицам...

Дак равно этот код у Вас и есть.
- не, тут ещё добавлено два апострофа и перевод строки, а зелёный цвет это оно само - это значит что зелёное не работает.

Но наверное уже не актуально, раз стандартными решилось.

Автор - Hugo
Дата добавления - 26.10.2024 в 22:54
Lyova Дата: Суббота, 26.10.2024, 23:00 | Сообщение № 27
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 183
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Hugo,

Про апострофы у меня была мысль, но, почему-то отбросил ее.
По поводу актуальности не согласен. Помню где-то читал, что подобные формулы намного быстрее в плане производительности. Так что в любом случае, для меня по крайней мере, она будет полезной.
Все таки не подскажите как изменить код, чтобы и на маке она работала тоже?
 
Ответить
СообщениеHugo,

Про апострофы у меня была мысль, но, почему-то отбросил ее.
По поводу актуальности не согласен. Помню где-то читал, что подобные формулы намного быстрее в плане производительности. Так что в любом случае, для меня по крайней мере, она будет полезной.
Все таки не подскажите как изменить код, чтобы и на маке она работала тоже?

Автор - Lyova
Дата добавления - 26.10.2024 в 23:00
Hugo Дата: Суббота, 26.10.2024, 23:08 | Сообщение № 28
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3690
Репутация: 790 ±
Замечаний: 0% ±

365
На Маке нет виндового словаря, для маков есть где-то в сети класс, который заменяет словарь на кучу коллекций.
Но конкретно тут наверное быстрее (чем искать и прилаживать класс) просто собрать данные в массив (с суммированием), и затем вместо поиска в словаре (If .exists(t)) в цикле каждый раз пробежаться по массиву и взять что умножить на часы работы.
И будет работать всюду, но чуть медленнее.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеНа Маке нет виндового словаря, для маков есть где-то в сети класс, который заменяет словарь на кучу коллекций.
Но конкретно тут наверное быстрее (чем искать и прилаживать класс) просто собрать данные в массив (с суммированием), и затем вместо поиска в словаре (If .exists(t)) в цикле каждый раз пробежаться по массиву и взять что умножить на часы работы.
И будет работать всюду, но чуть медленнее.

Автор - Hugo
Дата добавления - 26.10.2024 в 23:08
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!