Добрый день! Уже несколько часов бьюсь над задачей, боюсь что без макросов не обойтись, но надеюсь что получится (макрос я точно не осилю написать).
Собственно задача (файл во вложении)
В столбцах A-M прописаны свойства для каждой фразы в столбце O (данные); Каждой фразе также соответствует число (частотность) из стобца P Они сцепляются в столбце N в единую группу вида:
Элитные|Хай тек|Общее|
В столбце Q через формулу Суммеслимн рассчитывается соотвествующая частотность на каждую такую группу.
Собственно задача в следующем: Для каждой фразы, где частотность на группу ниже 100, нужно подобрать такую комбинацию группы (опуская те или иные значения, разделенные знаком "|"), чтобы значение частотности на группу было минимальным, но но не менее 100.
Например возможные комбинации для группы из примера выше будут: Элитные|Хай тек| Элитные|Общее| Хай тек|Общее|
Я долго пытался подобрать какое-то решения избегая прямого перебора, Пытался расставить веса для каждого значения на основе удельной частоты фразы на группу и т.д., но увы ничего не подходит.
Числа соотносятся с фразой (столбец Данные), а не с отдельными свойствами, образующими группу.
т.е. в случае приведенного примера: если разбить группу на составляющие и посчитать их отдельно, то сумма их частотностей будет гораздо выше, чем всех вместе.
частотность для Элитные|Хай тек|Общее не равна частотности Элитные + Хай тек + Общее, точно также и все прочие комбинации никак не коррелируют с частотностью каждой отдельной.
Для каждой полученой комбинации надо находить общую частотность через CуммЕсли.
Поэтому про сумму чисел говорить нельзя, скорее речь о том, чтобы найти 3 числа и выбрать из них наименьшее, но больше 100.
Хотя чисел может быть куда больше чем 3, т.к. группа может включать до 10 составляющих и число комбинаций там будет соответствующим, вот почему я не хотел заниматься перебором всех вариантов (ну и еще потому что не знаю как его делать)
За неимением альтернатив, Попробую упростить задачу. Варианты Групп буду задавать вручную. Для каждой группы посчитана частотность, нужно выбрать ту где число минимальное.
Вот новый файл примера.
Нужно в столбец А Подставить название группы с наименьшей частотностью, но не меньше 100. В последнем столбце я сделал вычисление наибольшего наименьшего значения, но как сопоставить его с названием? ВПР и ГПР не получилось применить.
Деление в данном случае используется как фильтр. Для отсечения значений, которые не соответствуют вашим условиям. А что непонятно в АГРЕГАТ? Вы же функцию НАИМЕНЬШИЙ использовали. АГРЕГАТ в данном случае использается для той же задачи, только он более гибко настраивается, например, позволяет пропускать ошибочные значения.