Страницы: 1
RSS
Перенос на другой лист названия столбца, где вписаны последние значения
 
Друзья, добрый вечер.

Опишу проблему. Есть простейшая таблица 8х8 (см.пример), где по строчкам номера этапов, а по столбцам фамилии сотрудников.

Сотрудники друг за другом (не параллельно) выполняют этапы. Допустим сегодня 1 сотр. выполнил 3 и 5 этап, завтра 2 сотр. выполнит 4 и 8, послезавтра 3 сотр. выполнит снова 1 этап, 6 и 7 и т.д. до 8 сотрудника. Выполнение этапов фиксируется внесением некоторого числового значения для каждого этапа, например для 1 сотрудника за 3 этап я поставлю 15, а за 5 этап 8 и т.д.

Подскажите, каким образом я могу на вторую вкладку моего файла сделать автоматический перенос фамилии того сотрудника для которого последнему я поставил числовые значения напротив этапов. То есть сегодня, допустим, этапы выполнял Иванов, я это отметил и на вторую вкладку в ячейку, которую я выделил красным, переносится фамилия Иванов, завтра выполняет Петров, получает от меня "оценку" и на второй вкладке Иванов автоматически заменяется на Петрова. Смысл действия в том, чтобы руководитель открыл документ и увидел, кто последний выполнял этапы.

Фактическая таблица гораздо сложнее, но чтобы не загромождать максимально упростил.

Спасибо
 
вариант
 
Решение изумительное, как по мне, но сегодня попробовал и на нескольких компах (там Open Office), не работает. Можно ли эту задачу через формулу реализовать? Возможно массив или как то иначе. Для наглядности я выкинул сам рабочий документ. На первой вкладке, собственно, этапы и сотрудники, а на второй вкладке с красной заливкой та ячейка, для которой требуется автоматический перенос. Данные для каждого сотрудника по этапам вносятся в ячейки с бирюзовой заливкой

Спасибо
 
Цитата
Saigon написал:
там Open Office
переходите на LibreOffice, он "дружелюбнее" к VBA и макрос из #2 в нем работает

Формульное решение: ="Сотрудник " & ДЛСТР(СУММПРОИЗВ((График!B2:I9<>"")*График!B10:I10))
Правда количество сотрудников ограничено :)
Изменено: bigorq - 20.11.2020 12:51:48
 
bigorq, спасибо, а как это будет выглядеть с тем документом, с которым  работаю?

На первой вкладке, собственно, этапы и сотрудники, а на второй вкладке с красной заливкой та ячейка, для которой требуется автоматический перенос. Данные для каждого сотрудника по этапам вносятся в ячейки с бирюзовой заливкой

Спасибо
 
Да так же, смотрите. Ну Вы и наворотили :)

upd.  С утра глянул. Мои формулы не соответствуют условиям, Они находят последнего по расположению
(крайне правого) сотрудника у которого есть этапы, а не последнего "по времени". Формулами по моему мнению
это реализовать не получится.
Изменено: bigorq - 21.11.2020 09:24:24 (Нашел ошибку)
 
Цитата
bigorq написал:
(крайне правого) сотрудника у которого есть этапы, а не последнего "по времени"
Это то, что нужно. Формула работает так, как я и хотел, но с одной проблемкой: если сотрудник выполняет более 9 этапов за раз, то в отчете показывает его порядковый номер +1

В примере у Сотрудника 2 10 этапов, а в отчете Сотрудник 3. Если убрать 1 этап, то все корректно
 
Цитата
Saigon написал:
Это то, что нужно.
Ну раз так, то вот расширение до 100 этапов
 
Спасибо огромное. Сработало для 1 столбика, но вот если во второй и последующие забивать более 9 этапов, то выдает ошибку вычисления. Во вложенном примере Сотрудник 2 выполняет много этапов, ошибки нет, но если сотруднику 3 вписать более 9 этапов, то появляется Н/Д
 
Нужно 4 параметр ВПР поменять с 0 на 1 (перед последней закрывающейся скобкой)
="Сотрудник "&VLOOKUP(INT(LOG(SUMPRODUCT(($Таблица.J10:AY54<>"")*$Таблица.J7:AY7)));{1;2|2;3|4;4|6;5|8;6|10;7|12;8};2;1)
 
bigorq, спасибо огромное. Вроде все корректно. Буду тестировать)
 
bigorq,Сделал на 20 сотрудников, руководствуясь вашей формулой...Где-то пошло не так, снова Н/Д
Код
="Сотрудник "&ВПР(ЦЕЛОЕ(LOG(СУММПРОИЗВ((Таблица!J10:DY54<>"")*Таблица!J7:DY7)));{1;2:2;3:4;4:6;5:8;6:10;7:12;8};2;1)
 
Для 20 сотрудников нужно было и массив{0;2:2;3:4;4:6;5:8;6:10;7:12;8}, продолжать до 20. Но так как это неудобно, немного подправил таблицу и формулу в D7
 
bigorq,спасибо за помощь. Я сдвинул на одну вверх строчку 7. В 7 строчке тоже будут числовые данные. Формула показывает 0. Это можно поправить?
Изменено: Saigon - 02.12.2020 11:42:08
 
=HLOOKUP(INT(LOG(SUMPRODUCT(($Таблица.J10:DY54<>"")*$Таблица.J6:DY6)));$Таблица.J5:DY8;4;1) формула не массивная, нужно просто Enter ом вводить
 
bigorq,спасибо
Страницы: 1
Наверх