Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Выровнять матрицу значений по левому столбцу
 
Добрый день,
Давно читаю ваш форум, вот созрел на вопрос. Есть матрица, которая собирает количество элементов для передачи в другую таблицу, но она сильно громоздкая по горизонтали и в конце приходится в ручную переносить нижние значения к левому краю, чтобы уложится в лимит следующей таблицы.
Надеюсь сумел правильно донести суть задачи. Заранее большое спасибо участникам форума!

Первый лист с формулами для получения данной матрицы, второй уже подготовленная для очистки матрица.
Изменено: Polusolnce - 20 Ноя 2019 00:36:13
 
Попробуйте такую формулу:
Код
=ИНДЕКС(IndSCTNMTOReport!AA:AA;ПОИСКПОЗ(СТРОКА();IndSCTNMTOReport!$Z:$Z;))
Поместить в A1 и протянуть вниз и вправо.
 
Цитата
Светлый написал: Поместить в A1 и протянуть вниз и вправо.
Получил ту же самую матрицу.
Мне нужно получить, как на скриншоте, чтобы уместить все активные значения (наименование и количество) в первых столбцах.
Скрытый текст

Второй скриншот как это должно выглядить в итоге + удалить неиспользованные формулы
Скрытый текст

Третий скрин, это то что я хочу получить в итоге для переноса в другую таблицу.
Скрытый текст

Сейчас я все это делаю вручную, удаляю ячейки "delete" и одну ячейку слева от нее и сдвигаю массив влево, потом опять и так до тех пор пока не дойду до последней строки.

Очень надеюсь на помощь сообщества ибо такая рутина убивает))
Изменено: Polusolnce - 21 Ноя 2019 01:10:00
 
.
Код
=ИНДЕКС(Лист1!$A$1:$BB$100;АГРЕГАТ(15;6;СТРОКА($A$1:$A$100)/ЕЧИСЛО(Лист1!$A$1:$BB$100);СТРОКА(A1));СТОЛБЕЦ(A1)-2+АГРЕГАТ(15;6;СТОЛБЕЦ($A$1:$BB$1)/ЕЧИСЛО(Лист1!$A$1:$BB$100);СТРОКА(A1)))
 
Такие варианты массивной формулы:
Код
=ИНДЕКС(IndSCTNMTOReport!$AA:$CH;ПОИСКПОЗ(СТРОКА();IndSCTNMTOReport!$Z:$Z;);ПОИСКПОЗ(1;Ч(99>ИНДЕКС(IndSCTNMTOReport!$AA:$CH;ПОИСКПОЗ(СТРОКА();IndSCTNMTOReport!$Z:$Z;);));)-1)
Код
=ИНДЕКС(IndSCTNMTOReport!$AA:$CH;ПОИСКПОЗ(СТРОКА();IndSCTNMTOReport!$Z:$Z;);ПОИСКПОЗ(1;Ч(99>ИНДЕКС(IndSCTNMTOReport!$AA:$CH;ПОИСКПОЗ(СТРОКА();IndSCTNMTOReport!$Z:$Z;);));))
Лист1 не требуется.
 
Доброго времени суток artyrH,
Спасибо за ответ!
Ваша формула работает, но спотыкается когда в одной строке есть еще какие-нибудь значения (см скриншот 1). Результат по вашей формуле на скриншоте 2. Третий скрин итог сделанный руками. Приложил файл где ввел вашу формулу, может я криво ввел ее (лист 3 где введена формула, лист 8 массив, лист 6 как это выглядит после обработки вручную)

Приветствую Светлый,

Спасибо за ответ.
Ваша реализация работает в случае если в строке только один владелец, бывает так, что их несколько, (см скриншоты)
Скрытый текст
 
Цитата
Polusolnce написал:
бывает так, что их несколько
Надо было сразу об этом сказать?
Вот универсальная массивная формула:
Код
=ЕСЛИОШИБКА(ИНДЕКС(IndSCTNMTOReport!$A:$CX;ПОИСКПОЗ(СТРОКА();IndSCTNMTOReport!$Z:$Z;);НАИМЕНЬШИЙ(ЕСЛИ(99>ИНДЕКС(IndSCTNMTOReport!$AA:$CB;ПОИСКПОЗ(СТРОКА();IndSCTNMTOReport!$Z:$Z;););СТОЛБЕЦ($AA:$CB));ОТБР(СТОЛБЕЦ(B1)/2))-ОСТАТ(СТОЛБЕЦ();2));"")
 
Цитата
Polusolnce написал:
Ваша формула работает, но спотыкается когда в одной строке есть еще какие-нибудь значения (см скрин
формула прекрасно работает на примере.
было бы расположение данных как на скрине - я бы не оказывал вам помощь.
Цитата
Polusolnce написал:
когда в одной строке есть еще какие-нибудь значения
не вижу в примере
 
Светлый,
artyrH,

Цитата
Светлый написал:
Надо было сразу об этом сказать?
Цитата
artyrH написал:
не вижу в примере

Добрый день
Да, упустил этот момент, и пропустил, что такой ситуации нет в примере. Вчера в пост со скриншотами прикладывал файл, где такая ситуация, но почему то он не прикрепился.

Цитата
Светлый написал:
Вот универсальная массивная формула:
Огромное спасибо! Работает идеально.
Страницы: 1
Читают тему (гостей: 1)
Наверх