Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 7 8 9 След.
Формула подсчета количества одиннаковых значений в столбце, идущих подряд
 
Пока только до такого массивного решения додумался:
Код
=МАКС(ЧАСТОТА(СТРОКА(1:97);(ИНДЕКС(C:C;Ч(ИНДЕКС(НАИМЕНЬШИЙ(ЕСЛИ(C3:C99<>"";СТРОКА(3:99);999);СТРОКА(1:97));)))<>"Не активный")*СТРОКА(1:97)))-1
Формула подсчета количества одиннаковых значений в столбце, идущих подряд
 
Добрый день!
Код
=МАКС(ЧАСТОТА(СТРОКА(3:99);(B3:B99<>"Не активный")*СТРОКА(3:99)))-1
Распределение сотрудников с выравниванием времени работы
 
Цитата
Андрей VG написал:
Как-то грубоватое вышло честное распределение
Типичный "жадный" алгоритм.
Цитата
Андрей VG написал:
Всё же задача явно не для формул.
А если такую формулу попробовать?
Код
=ОСТАТ(ОТБР(ПОИСКПОЗ(МИН((МУМНОЖ(ОСТАТ(ОТБР(СТРОКА(СМЕЩ($A$1;;;2^СЧЁТ($B$1:$I$1)))/2^(СТОЛБЕЦ($B:$I)-2));2)*ДЕНЬНЕД($B$1:$I$1;14);Ч(МУМНОЖ(ТРАНСП(Ч($B$1:$I1=1));1^B$1:B1)<6-ТРАНСП(ДЕНЬНЕД($B$1:$I$1;14))))-СУММ(ДЕНЬНЕД($B$1:$I$1;14)*(6-ДЕНЬНЕД($B$1:$I$1;14)))/СЧЁТЗ($A$2:$A$7))^2);(МУМНОЖ(ОСТАТ(ОТБР(СТРОКА(СМЕЩ($A$1;;;2^СЧЁТ($B$1:$I$1)))/2^(СТОЛБЕЦ($B:$I)-2));2)*ДЕНЬНЕД($B$1:$I$1;14);Ч(МУМНОЖ(ТРАНСП(Ч($B$1:$I1=1));1^B$1:B1)<6-ТРАНСП(ДЕНЬНЕД($B$1:$I$1;14))))-СУММ(ДЕНЬНЕД($B$1:$I$1;14)*(6-ДЕНЬНЕД($B$1:$I$1;14)))/СЧЁТЗ($A$2:$A$7))^2;)/2^(СТОЛБЕЦ()-2));2) 

*Или немного короче. Это формулы массива:

Код
=ОСТАТ(ОТБР(ОСТАТ(МИН(ОКРУГЛ((МУМНОЖ(ОСТАТ(ОТБР(СТРОКА(СМЕЩ($A$1;;;2^СЧЁТ($B$1:$I$1)))/2^(СТОЛБЕЦ($B:$I)-2));2)*ДЕНЬНЕД($B$1:$I$1;14);Ч(МУМНОЖ(ТРАНСП(Ч($B$1:$I1=1));1^B$1:B1)<6-ТРАНСП(ДЕНЬНЕД($B$1:$I$1;14))))-СУММ(ДЕНЬНЕД($B$1:$I$1;14)*(6-ДЕНЬНЕД($B$1:$I$1;14)))/СЧЁТЗ($A$2:$A$7))^2;7)+СТРОКА(СМЕЩ($A$1;;;2^СЧЁТ($B$1:$I$1)))%%%%%);10^-7)*10^10/2^(СТОЛБЕЦ()-2));2)

Изменено: Светлый - 20 Мар 2020 09:31:03
Распределение сотрудников с выравниванием времени работы
 
Если Работник будет текстовый, то немного придётся формулу исправить:
Код
=Ч(СУММ(ЕСЛИОШИБКА(ДЕНЬНЕД($A$1:A$1;14);)*Ч(+$A2:A2))+СТРОКА()%<=НАИМЕНЬШИЙ(МУМНОЖ(Ч($A$2:A$7=1);ЕСЛИОШИБКА(ТРАНСП(ДЕНЬНЕД($A$1:A$1;14));0))+СТРОКА($2:$7)%;6-ДЕНЬНЕД(B$1;14)))
Распределение сотрудников с выравниванием времени работы
 
И Вам, здравствуйте!
Можно примерно такой массивной формулой решить:
Код
=Ч(СУММ(ЕСЛИОШИБКА(ДЕНЬНЕД($A$1:A$1;14);0)*$A2:A2)+СТРОКА()%<=НАИМЕНЬШИЙ(МУМНОЖ(Ч($A$2:A$7=1);ЕСЛИОШИБКА(ТРАНСП(ДЕНЬНЕД($A$1:A$1;14));0))+СТРОКА($2:$7)%;6-ДЕНЬНЕД(B$1;14)))
Поиск сотрудников с не пересекающимися сменами
 
Можно немного упростить:
Код
=ИНДЕКС(A:A;ЕСЛИОШИБКА(ПОИСКПОЗ(A2;AA$1:AA1;);МИН(ЕСЛИ(МУМНОЖ(ЕСЛИОШИБКА((-ЛЕВБ(B2:M2;5)>-ПРАВБ(B3:M$210;5))*(-ПРАВБ(B2:M2;5)<-ЛЕВБ(B3:M$210;5)););ТРАНСП(B$1:M$1))+СЧЁТЕСЛИ(AA$1:AA1;A3:A$210)=0;СТРОКА(3:$210)))))
Поиск сотрудников с не пересекающимися сменами
 
Добрый день!
С разбивкой по времени. Даже в один день. Формула массива:
Код
=ЕСЛИОШИБКА(ИНДЕКС(A:A;ПОИСКПОЗ(A2;AA$1:AA1;));ИНДЕКС(A:A;МИН(ЕСЛИ(МУМНОЖ(ЕСЛИОШИБКА((--ЛЕВБ(B2:M2;5)<--ПРАВБ(B3:M$210;5))*(--ПРАВБ(B2:M2;5)>--ЛЕВБ(B3:M$210;5)););ТРАНСП(B$1:M$1))+СЧЁТЕСЛИ(AA$1:AA1;A3:A$210)=0;СТРОКА(3:$210)))))
Расцепить текст в ячейке со смещением строк
 
Вдогонку вариант массивными формулами:
Код
=ИНДЕКС(A:A;МИН(ЕСЛИ(СУММ(ДЛСТР($C$16:$C16&0))<МУМНОЖ(Ч(СТРОКА($2:$8)>СТОЛБЕЦ($A:$G));ДЛСТР($C$2:$C$8));СТРОКА($2:$8))))
Код
=ПСТР(ИНДЕКС(C:C;ПОИСКПОЗ(A17&"#"&B17;A$1:A$8&"#"&B$1:B$8;));СЧЁТЕСЛИМН(A$16:A16;A17;B$16:B16;B17)*36+1;35)
Среднее арифметическое по дням
 
Добрый день!
Массивные формулы:
Код
=МИН(ЕСЛИ(ОТБР(--A1:A458)>=Ч(C1)+1;ОТБР(--A1:A458)))
Код
=СРЗНАЧ(ЕСЛИ((C2<=--A$1:A$458)*(C2+1>--A$1:A$458);B$1:B$458))

*Немного упростил:

Код
=МИН(ЕСЛИ(--A1:A458>=Ч(C1)+1;ОТБР(--A1:A458)))
Изменено: Светлый - 1 Мар 2020 15:26:34
Распределение суммы для уравнения значений
 
Такой вариант:
Код
=H8-G8*СУММ(H$8:H$11;-K$8)/СУММ(G$8:G$11)
Автоматически раскидать число из строки по столбцам, но в пределах своего значения
 
Для чисел в примере работает:
Код
=МИН(D$1*2-СУММ(D$1:D1);$C2*2-СУММ($C2:C2))
Расчет количества по нескольким условиям в одном столбце
 
Цитата
Yerbolat написал:
И можете пояснить почему минусуете 4?
Правильный вопрос. Это смещение для поиска позиции первого встреченного. В новой таблице это будет 8.
И вместо <Реализуемые> у Вас <Реализуемые: эксплуатация> и др. Пришлось это тоже учитывать.
Код
=СЧЁТ(1/(ПОИСКПОЗ(Таблица!I$9:I$1492;ЕСЛИ(Таблица!B$9:B$1492=Выборка!$C3;Таблица!I$9:I$1492);)=СТРОКА(Таблица!$9:$1492)-8)/ПОИСК("Реализуемые";Таблица!H$9:H$1492)/(Таблица!J$9:J$1492="местный"))
Условия разные <Отрасли, где реализовано менее 2-х проектов> и <Отрасли, где реализовано не более 2 проектов>. Какое правильное?
Код
=СЧЁТ(1/(ЕСЛИ(ЕСЛИОШИБКА((ПОИСКПОЗ(Таблица!I$9:I$1492;ЕСЛИ(Таблица!B$9:B$1492=Выборка!$C3;Таблица!I$9:I$1492);)=СТРОКА(Таблица!$9:$1492)-8)/ПОИСК("Реализуемые";Таблица!H$9:H$1492)/(Таблица!J$9:J$1492="местный"););СЧЁТЕСЛИМН(Таблица!B$9:B$1492;Таблица!B$9:B$1492;Таблица!I$9:I$1492;Таблица!I$9:I$1492;Таблица!B$9:B$1492;Выборка!$C3;Таблица!H$9:H$1492;"Реализация*";Таблица!J$9:J$1492;"Местный"))<3))
Надо проверять.
*Почему-то файл не прицепился..
Изменено: Светлый - 25 Фев 2020 21:32:38
Расчет количества по нескольким условиям в одном столбце
 
Так? Формулы массива.
Код
=СЧЁТ(1/(ПОИСКПОЗ($F5:$F18;ЕСЛИ($A5:$A18=H3;$F5:$F18);)=СТРОКА(5:18)-4)/($C5:$C18="Реализация")/($E5:$E18="Местный"))
Код
=СЧЁТ(1/(ЕСЛИ(ЕСЛИОШИБКА(ПОИСКПОЗ($F5:$F18;ЕСЛИ($A5:$A18=H3;$F5:$F18);)=СТРОКА(5:18)-4/($C5:$C18="Реализация")/($E5:$E18="Местный"););СЧЁТЕСЛИМН($A5:$A18;$A5:$A18;$F5:$F18;$F5:$F18;$A5:$A18;H3;$C5:$C18;"Реализация";$E5:$E18;"Местный"))<2)) 
Изменено: Светлый - 24 Фев 2020 13:18:32
Расчет количества по нескольким условиям в одном столбце
 
Видимо, забыл файл вложить. Посмотрите.
Поиск решения для распределения по корзинам
 
Фиолетовые ячейки вставляем сколько угодно, а красные обязательно парно.
Формулы копируем из первой ячейки на весь ряд.
Расчет количества по нескольким условиям в одном столбце
 
Если правильно понял, нужно из общего количества отраслей:
Код
=СЧЁТ(1/(ПОИСКПОЗ($F5:$F18;ЕСЛИ($A5:$A18=H3;$F5:$F18);)=СТРОКА(5:18)-4))
вычесть количество отраслей, в которых реализовано больше одного проекта. Все формулы массивов:
Код
=СЧЁТ(1/(ЕСЛИ(ЕСЛИОШИБКА(ПОИСКПОЗ($F5:$F18;ЕСЛИ($A5:$A18=H3;$F5:$F18);)=СТРОКА(5:18)-4;);СЧЁТЕСЛИМН($A5:$A18;$A5:$A18;$F5:$F18;$F5:$F18;$A5:$A18;H3;$C5:$C18;"Реализация"))<2))
Расчет количества по нескольким условиям в одном столбце
 
А как узнать, реализован проект или нет? Должен быть ещё столбец. Или в таблице все реализованные?
Расчет количества по нескольким условиям в одном столбце
 
Добрый день!
Формула массива вводится одновременным нажатием Ctrl+Shift+Enter:
Код
=СУММ(ЕСЛИОШИБКА(1/СЧЁТЕСЛИМН($A5:$A17;$A5:$A17;$C5:$C17;$C5:$C17;$A5:$A17;F3);))
Поиск решения для распределения по корзинам
 
Привет!
Один из вариантов. Правда он даёт максимальную сумму коэффициентов в нижней корзине. Есть ли какие-то требования по равномерности распределения сумм коэффициентов по корзинам?
*Ещё пара вариантов
2 - наименьшая разность между суммами коэффициентов по корзинам
3 - максимальная корреляция с количеством посадочных мест в корзинах (пропорционально посадочным местам)
Изменено: Светлый - 12 Фев 2020 22:58:28
Расчет бонуса продаж, Расчет бонуса продаж
 
Добрый день!
Для жёлтых:
Код
=E7+(D7*СУММПРОИЗВ(Ч(C$7:C$9>=B$7:B$9))*2%)
Для белых. Не совсем понял, что нужно:
Код
=E2+(D2*ЕСЛИ(C2>=B2;СУММПРОИЗВ(Ч(C$7:C$9>=B$7:B$9));1)*2%)
3% исключить из строки, если не выполнен план?
Изменено: Светлый - 5 Фев 2020 11:32:52
Подсчет количества запусков продукта в произвдство
 
И Вам, здравствуйте!
Код
=СУММПРОИЗВ((A2:J2>0)*(B2:K2=0))
Выборка минимальных значений в подгруппах с учётом ограничения
 
Цитата
OPTIKAL написал:
Поясню. Есть заказ с 37 позициями.
Где есть?
Подсчет количества ячеек по параметрам
 
Добрый день!
Код
=СЧЁТЕСЛИМН(A$2:A$1413;A2;B$2:B$1413;B2)
Объединение последовательных чисел в диапазон
 
Формульное решение. Массивная упрощённая:
Код
=ИНДЕКС(A:A;НАИМЕНЬШИЙ(ЕСЛИ(A$2:A$98-1<>A$1:A$97;СТРОКА($2:$98));СТРОКА(C1)))&-ИНДЕКС(A:A;НАИМЕНЬШИЙ(ЕСЛИ((A$2:A$98+1<>A$3:A$99);СТРОКА($2:$98));СТРОКА(C1)))
Массивная красивая:
Код
=ИНДЕКС(A:A;НАИМЕНЬШИЙ(ЕСЛИ(A$2:A$98-1<>A$1:A$97;СТРОКА($2:$98));СТРОКА(C1)))&ЕСЛИ(НАИМЕНЬШИЙ(ЕСЛИ(A$2:A$98-1<>A$1:A$97;СТРОКА($2:$98));СТРОКА(C1))=НАИМЕНЬШИЙ(ЕСЛИ((A$2:A$98+1<>A$3:A$99);СТРОКА($2:$98));СТРОКА(C1));"";-ИНДЕКС(A:A;НАИМЕНЬШИЙ(ЕСЛИ((A$2:A$98+1<>A$3:A$99);СТРОКА($2:$98));СТРОКА(C1))))
Найти точки пересечения подобия разностороннего треугольника
 
Вычисляется высота треугольника. Из неё вычитается нижний зазор и высота верхнего зазора. Всё это делим на высоту треугольника и получаем коэффициент подобия. Любой размер треугольника умножаем на коэффициент, получаем нужный нам размер.
На другой лист выбрать Фамилии только тех, кому 33 года
 
Формула массива вводится одновременным нажатием Ctrl+Shift+Enter:
Код
=ЕСЛИОШИБКА(ИНДЕКС(Sheet1!A:A;НАИМЕНЬШИЙ(ЕСЛИ(33=Sheet1!B$2:B$39;СТРОКА($2:$39));СТРОКА(A1)));"")
Сортировка данных без конкретного значения в ячейке
 
Цитата
Emelion написал:
5 - ПОИСКПОЗ
Задаёт обратный порядок значений. Поиск по фигурным скобкам прямой, а значение коэффициентов из ячеек обратное.
Сортировка данных без конкретного значения в ячейке
 
Код
=ИНДЕКС($M$7:$P$7;ПОИСКПОЗ(J10;{9999:99:39:9};-1))
Код
=ИНДЕКС($M$7:$P$7;5-ПОИСКПОЗ(J10;{0:10:40:100}))

Для первого:

Код
=ИНДЕКС(B8:E12;B15;ПОИСКПОЗ(B17;10^6*{0;5;7;10}))
Изменено: Светлый - 16 Янв 2020 11:42:51
Отражение количества выделяемых строк
 
Цитата
casablanca написал:
Это первая выделяемая строка
Пока не закончил выделять, там видно сколько строк и сколько столбцов уже охвачено.
Отражение количества выделяемых строк
 
И внизу справа: Количество: 12 тоже можно ориентироваться.
Страницы: 1 2 3 4 5 6 7 8 9 След.
Наверх