Страницы: 1
RSS
Составить список ФИО/навык из таблицы, где на пересечении строки/столбца записаны "х"
 
Доброго всем дня ! Задали мне задачку которую я не смог пока решить . Прошу помощи у знающих. Суть задачи состоит в следующем , есть табличка Фамилии сотрудников и их профессиональные навыки . В пересечении фамилии и навыка ставится отметка "х" - данный сотрудник может выполнять эту работу . Задача вывести отдельные списки сотрудников ( возможно на отдельных листах ) с перечнем профессиональных навыков . Соответственно при дополнении исходной таблицы списки должны манятся.  
 
ИНДЕКС(строка проф навыков;НАИМЕНЬШИЙ(ЕСЛИ(строка меток=х;виртуальный массив);столбец()))
Лень двигатель прогресса, доказано!!!
 
Выдает #ИМЯ?
 
Сергей , виртуальный массив делается через СТРОКА ?
 
SL86, приложите файл Excel, а не снимок экрана
 
_Igor_61, В данный момент не могу выложить , сделаю чуть позже нет компьютера под рукой .
 
Сергей, Логика понятна , но толи у меня глюк в программе . Мы ищем номер столбца со значениями "х" и с помощью функции ИНДЕКС в теории можем вывести значение профессиональных навыков по номеру столбца . Но у меня не получается вывести это все через массив т.е. я нахожу значение столбца "х" но оно только одно и выдает ИНДЕКС только 1 значение даже через { }
 
SL86, вот как пример в файле приложите там и посмотрим что за ошибка, если что то это формула массива
Лень двигатель прогресса, доказано!!!
 
SL86, в следующий раз перед созданием темы потрудитесь оказаться рядом с компьютером, иначе - десяток сообщений впустую... С правилами форума ознакомиться тоже не помешает.

Прикрепите нормальный пример к ПЕРВОМУ сообщению
 
SL86,
Сделал за Вас пример, (дел у меня сегодня мало:) ) по принципу, который указал Сергей.
В ячейке A11 выпадающий список. Рекомендую принять во внимание замечания модератора и в следующий раз прикрепить к первому сообщению пример, как того требуют правила.
Изменено: memo - 17.11.2020 14:51:54
 
Да, прошу прощения за некорректное создание темы  , исправлюсь ( обстоятельства ) . memo огромное спасибо !!! это то что нужно ! Все работает! УРА товарищи )))
 
Сергей, Спасибо !
 
SL86, Чуть подправил, чтобы соответствовать вашему скриншоту. ;)
В примере две формулы на выбор.
Изменено: memo - 18.11.2020 00:05:39
 
memo, у меня еще один вопрос , благодаря Вашему примеру я понял в чем проблема в моей формуле . Приведу на Вашей формуле =ЕСЛИОШИБКА(ИНДЕКС($B$1:$F$1;НАИМЕНЬШИЙ(ЕСЛИ(($B$2:$F$6="x")*($A$2:$A$6=$A$11);СТОЛБЕЦ($B$1:$F$1)-1);СТРОКА(A1)));""). Проблема заключается в том , что при формировании массива , формула СТРОКА(A1)));""))( последнее значение в  формуле ) A1 не меняет значение . У вас оно А1, А2 ,A3 и т.д. а у меня на компьютере остается А1 без изменений .
У меня вопрос я что-то делаю неправильно или массив нужно формировать для каждой строки ? ( Я выделяю область массива , вставляю формулу и Контрл ШИФТ Энт.)
Изменено: SL86 - 18.11.2020 07:35:51
 
Цитата
SL86 написал:
У меня вопрос я что-то делаю неправильно
не прикладываете свой пример в виде файла эксель где у вас что не получается
Лень двигатель прогресса, доказано!!!
 
Цитата
SL86 написал:
Я выделяю область массива , вставляю формулу и Контрл ШИФТ Энт.)
Предположу, что проблема в этом. Сформируйте массив в ячейке и протяните вниз.
 
Вот пример , просто мой файл достаточно объёмный , и придется оч. долго формировать массив для каждой строки.
Изменено: SL86 - 18.11.2020 09:30:35
 
Если просто вставить формулу в ячейку и протянуть , тогда да значение меняются , но потом если сформировать массив берет значение по первой ячейки .

В схожей формуле нет таких проблем =ЕСЛИОШИБКА(ИНДЕКС(Фамилия; НАИМЕНЬШИЙ(ЕСЛИ(A30=ДВССЫЛ(A5);СТРОКА(ДВССЫЛ(A5))-СТРОКА($E$1);9999); СТРОКА(ДВССЫЛ("A1:A"&ЧСТРОК(ДВССЫЛ(A5))))));"").
memo, Вы же не вручную формировали массив для каждой строки?

если протянуть массив выдает вот это  
 
ввести массивно в В11 и только потом протянуть ниже на нужное кол-во строк
Код
=ЕСЛИОШИБКА(ИНДЕКС($B$1:$F$1;НАИМЕНЬШИЙ(ЕСЛИ((ИНДЕКС($B$2:$F$6;ПОИСКПОЗ($A$11;$A$2:$A$6;0);)="x");СТОЛБЕЦ($B$1:$F$1)-1);СТРОКА(A1)));"")
Лень двигатель прогресса, доказано!!!
 
SL86, еще вариант в B11  обычная
Код
=ЕСЛИОШИБКА(ИНДЕКС($B$1:$F$1;1;АГРЕГАТ(15;6;СТОЛБЕЦ($A$1:$F$1)/(ИНДЕКС($B$2:$B$6;ПОИСКПОЗ($A$11;$A$2:$A$6;0);1):ИНДЕКС($F$2:$F$6;ПОИСКПОЗ($A$11;$A$2:$A$6;0);1)="x");СТРОКА($A1)));"")
Не бойтесь совершенства. Вам его не достичь.
 
SL86, Сергей уже подсказал. Вы тянули формулу и после формировали массив, так работать не будет.
 
Благодарю Всех за ответы ! Сходил к коллеге попробовал у него , все работает ! Проблема с прогой видимо .
Страницы: 1
Наверх