Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Заполнение ячеек в соотв. с данными из исходной матрицы - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Заполнение ячеек в соотв. с данными из исходной матрицы (Формулы/Formulas)
Заполнение ячеек в соотв. с данными из исходной матрицы
KIMVSR Дата: Воскресенье, 22.05.2016, 22:19 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 96
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Здравствуйте,

Подскажите, пожалуйста, возможно ли сделать такую вещь, не прибегаю к использованию макросов:

Все типы продуктов и время их производства прописаны на листе "Data".
Выбирая какой-либо проект на листе "Plan_03", используя выпадающий список, хотелось бы, чтобы ячейки правее заполнялись в соответствии с информацией на листе "Data".
Иными словами, если проект берёт 96 часов времени, то Excel закрашивает, например, 12 ячеек правее (при условии, что каждая, например, по 8 часов).



Т.е. суть такая, что на листе "Data" я указываю количество ячеек, которое надо закрасить (матрица данных), а на другом листе - выбираю тип проекта, а Excel как бы сам закрашивает нужное кол-во ячеек.
Я сделал что-то подобное на листах "Plan_01" и "Plan_02" через ИНДЕКС и ПОИСКПОЗ, но там немного по-другому. Тот вариант не совсем подходит, т.к. там выпадающий список зафиксирован слева.
Хотелось бы выбирать проект именно под датами в календаре. Т.е. сегодня начал делать проект, выбрал тип проекта, а Excel тебе забил его на нужное время вперёд.
Т.е. такая скромная таблица для планирования производства, например.

Если это как-то очень сложно и муторно - тогда не надо. Тогда я буду закрашивать вручную.
Может просто есть какие-то более-менее быстрые решения...

Заранее большое спасибо за помощь!
К сообщению приложен файл: Example.xlsx(20Kb)
 
Ответить
СообщениеЗдравствуйте,

Подскажите, пожалуйста, возможно ли сделать такую вещь, не прибегаю к использованию макросов:

Все типы продуктов и время их производства прописаны на листе "Data".
Выбирая какой-либо проект на листе "Plan_03", используя выпадающий список, хотелось бы, чтобы ячейки правее заполнялись в соответствии с информацией на листе "Data".
Иными словами, если проект берёт 96 часов времени, то Excel закрашивает, например, 12 ячеек правее (при условии, что каждая, например, по 8 часов).



Т.е. суть такая, что на листе "Data" я указываю количество ячеек, которое надо закрасить (матрица данных), а на другом листе - выбираю тип проекта, а Excel как бы сам закрашивает нужное кол-во ячеек.
Я сделал что-то подобное на листах "Plan_01" и "Plan_02" через ИНДЕКС и ПОИСКПОЗ, но там немного по-другому. Тот вариант не совсем подходит, т.к. там выпадающий список зафиксирован слева.
Хотелось бы выбирать проект именно под датами в календаре. Т.е. сегодня начал делать проект, выбрал тип проекта, а Excel тебе забил его на нужное время вперёд.
Т.е. такая скромная таблица для планирования производства, например.

Если это как-то очень сложно и муторно - тогда не надо. Тогда я буду закрашивать вручную.
Может просто есть какие-то более-менее быстрые решения...

Заранее большое спасибо за помощь!

Автор - KIMVSR
Дата добавления - 22.05.2016 в 22:19
gling Дата: Воскресенье, 22.05.2016, 23:50 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1352
Репутация: 326 ±
Замечаний: 0% ±

2010
Здравствуйте.
но там немного по-другому.
А как должно быть по правильному? Смотрел на "Plan_03", но там выпадающие списки, восьмерки там не пропишешь. В ручную лист изобразить можно, без использования формул?
 
Ответить
СообщениеЗдравствуйте.
но там немного по-другому.
А как должно быть по правильному? Смотрел на "Plan_03", но там выпадающие списки, восьмерки там не пропишешь. В ручную лист изобразить можно, без использования формул?

Автор - gling
Дата добавления - 22.05.2016 в 23:50
_Boroda_ Дата: Понедельник, 23.05.2016, 00:04 | Сообщение № 3
Группа: Модераторы
Ранг: Экселист
Сообщений: 9380
Репутация: 3951 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Если это как-то очень сложно и муторно
Да не, нормально :D
В условном форматировании для выделенной С4
Код
=СЧЁТ(ИНДЕКС(Data!$B$3:$O$12;ПОИСКПОЗ(ПРОСМОТР(;-КОДСИМВ($C4:C4);$C4:C4);Data!$A$3:$A$12;);))+ПРОСМОТР(;-КОДСИМВ($C4:C4);СТОЛБЕЦ($C4:C4))>СТОЛБЕЦ(C4)

Можно покороче, но у меня тогда позадумчивей получается.
К сообщению приложен файл: Example687687_1.xlsx(21Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
Если это как-то очень сложно и муторно
Да не, нормально :D
В условном форматировании для выделенной С4
Код
=СЧЁТ(ИНДЕКС(Data!$B$3:$O$12;ПОИСКПОЗ(ПРОСМОТР(;-КОДСИМВ($C4:C4);$C4:C4);Data!$A$3:$A$12;);))+ПРОСМОТР(;-КОДСИМВ($C4:C4);СТОЛБЕЦ($C4:C4))>СТОЛБЕЦ(C4)

Можно покороче, но у меня тогда позадумчивей получается.

Автор - _Boroda_
Дата добавления - 23.05.2016 в 00:04
KIMVSR Дата: Понедельник, 23.05.2016, 08:53 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 96
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
А как должно быть по правильному? Смотрел на "Plan_03", но там выпадающие списки, восьмерки там не пропишешь. В ручную лист изобразить можно, без использования формул?

Здравствуйте. Я имел в виду именно так, как на картинке, которую прикрепил выше.
Т.е. при выборе типа проекта закрашивается определённое кол-во ячеек правее от ячейки выбора (от ячейки с выпадающим списком).

Можно покороче, но у меня тогда позадумчивей получается.

Саш, спасибо Вам огромное в очередной раз! Это именно то, что было нужно!
Сейчас я буду разбираться в принципе работы формулы и обязательно задам пару сопутствующих вопросов.
Большое спасибо! Я понятия не имел, что такое можно сделать при помощи УФ.


Сообщение отредактировал KIMVSR - Понедельник, 23.05.2016, 08:56
 
Ответить
Сообщение
А как должно быть по правильному? Смотрел на "Plan_03", но там выпадающие списки, восьмерки там не пропишешь. В ручную лист изобразить можно, без использования формул?

Здравствуйте. Я имел в виду именно так, как на картинке, которую прикрепил выше.
Т.е. при выборе типа проекта закрашивается определённое кол-во ячеек правее от ячейки выбора (от ячейки с выпадающим списком).

Можно покороче, но у меня тогда позадумчивей получается.

Саш, спасибо Вам огромное в очередной раз! Это именно то, что было нужно!
Сейчас я буду разбираться в принципе работы формулы и обязательно задам пару сопутствующих вопросов.
Большое спасибо! Я понятия не имел, что такое можно сделать при помощи УФ.

Автор - KIMVSR
Дата добавления - 23.05.2016 в 08:53
KIMVSR Дата: Четверг, 02.06.2016, 09:20 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 96
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Пытаюсь разобраться в принципе работы предложенной формулы:

Код
=СЧЁТ(ИНДЕКС(Data!$B$3:$O$12;ПОИСКПОЗ(ПРОСМОТР(;-КОДСИМВ($C4:C4);$C4:C4);Data!$A$3:$A$12;);))+ПРОСМОТР(;-КОДСИМВ($C4:C4);СТОЛБЕЦ($C4:C4))>СТОЛБЕЦ(C4)

СЧЁТ - считает количество значений в диапазоне...
ИНДЕКС - возвращает определённое значение в диапазоне B3:O12 в соответствии с ПОИСКПОЗ
ПОИСКПОЗ - даёт нам порядковый номер из указанного диапазона..

Дальше не совсем понятно:

КОДСИМВ - преобразовывает символ в числовой код - зачем нам это?

Ну и дальше вообще труба...

Может кто-то смог бы на пальцах объяснить, как эта формула работает в целом? :)


Сообщение отредактировал KIMVSR - Четверг, 02.06.2016, 09:20
 
Ответить
СообщениеПытаюсь разобраться в принципе работы предложенной формулы:

Код
=СЧЁТ(ИНДЕКС(Data!$B$3:$O$12;ПОИСКПОЗ(ПРОСМОТР(;-КОДСИМВ($C4:C4);$C4:C4);Data!$A$3:$A$12;);))+ПРОСМОТР(;-КОДСИМВ($C4:C4);СТОЛБЕЦ($C4:C4))>СТОЛБЕЦ(C4)

СЧЁТ - считает количество значений в диапазоне...
ИНДЕКС - возвращает определённое значение в диапазоне B3:O12 в соответствии с ПОИСКПОЗ
ПОИСКПОЗ - даёт нам порядковый номер из указанного диапазона..

Дальше не совсем понятно:

КОДСИМВ - преобразовывает символ в числовой код - зачем нам это?

Ну и дальше вообще труба...

Может кто-то смог бы на пальцах объяснить, как эта формула работает в целом? :)

Автор - KIMVSR
Дата добавления - 02.06.2016 в 09:20
_Boroda_ Дата: Четверг, 02.06.2016, 10:04 | Сообщение № 6
Группа: Модераторы
Ранг: Экселист
Сообщений: 9380
Репутация: 3951 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Может кто-то смог бы на пальцах объяснить, как эта формула работает

Можно я попробую?
Для понятности представим, что мы работаем с ячейкой Н4, тогда формула будет
Код
=СЧЁТ(ИНДЕКС(Data!$B$3:$O$12;ПОИСКПОЗ(ПРОСМОТР(;-КОДСИМВ($C4:H4);$C4:H4);Data!$A$3:$A$12;);))+ПРОСМОТР(;-КОДСИМВ($C4:H4);СТОЛБЕЦ($C4:H4))>СТОЛБЕЦ(H4)

1. Начнем, как все нормальные люди, с середины - кусок ПРОСМОТР(;-КОДСИМВ($C4:H4);$C4:H4). Историю придумки можно посмотреть здесь.
Объяснялку для ПРОСМОТР можно посмотреть здесь. Словами - из строки или столбца типа "ыы";"";"";"цц";"" вынимаем последнее непустое - "цц".
1.1. Почему КОДСИМВ? Потому, что он, как и многие более другие функции и их комбинации, дает ошибку для пустой ячейки и, плюс к этому, он очень быстрый.
2. ПОИСКПОЗ(п.1;Data!$A$3:$A$12;) даст нам номер позиции для найденного из п.1 в диапазоне Data!$A$3:$A$12
3. ИНДЕКС(Data!$B$3:$O$12;п.2;) даст для позиции из п.2 всю строку из В:О. Получим кучку восьмерок. Сколько - зависит от того, что найдем в п.1
4. СЧЁТ(п.3) - как раз считает количество восьмерок
5. ПРОСМОТР(;-КОДСИМВ($C4:H4);СТОЛБЕЦ($C4:H4) аналогичен п.1, но только он дает нам не значение, а номер столбца последней заполненной ячейки диапазона
6. Если п.4 + п.5 > текущего столбца (для которого формула), то количество восьмерок для последнего найденного мотора еще не закончилось и ячейку нужно красить.


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
Может кто-то смог бы на пальцах объяснить, как эта формула работает

Можно я попробую?
Для понятности представим, что мы работаем с ячейкой Н4, тогда формула будет
Код
=СЧЁТ(ИНДЕКС(Data!$B$3:$O$12;ПОИСКПОЗ(ПРОСМОТР(;-КОДСИМВ($C4:H4);$C4:H4);Data!$A$3:$A$12;);))+ПРОСМОТР(;-КОДСИМВ($C4:H4);СТОЛБЕЦ($C4:H4))>СТОЛБЕЦ(H4)

1. Начнем, как все нормальные люди, с середины - кусок ПРОСМОТР(;-КОДСИМВ($C4:H4);$C4:H4). Историю придумки можно посмотреть здесь.
Объяснялку для ПРОСМОТР можно посмотреть здесь. Словами - из строки или столбца типа "ыы";"";"";"цц";"" вынимаем последнее непустое - "цц".
1.1. Почему КОДСИМВ? Потому, что он, как и многие более другие функции и их комбинации, дает ошибку для пустой ячейки и, плюс к этому, он очень быстрый.
2. ПОИСКПОЗ(п.1;Data!$A$3:$A$12;) даст нам номер позиции для найденного из п.1 в диапазоне Data!$A$3:$A$12
3. ИНДЕКС(Data!$B$3:$O$12;п.2;) даст для позиции из п.2 всю строку из В:О. Получим кучку восьмерок. Сколько - зависит от того, что найдем в п.1
4. СЧЁТ(п.3) - как раз считает количество восьмерок
5. ПРОСМОТР(;-КОДСИМВ($C4:H4);СТОЛБЕЦ($C4:H4) аналогичен п.1, но только он дает нам не значение, а номер столбца последней заполненной ячейки диапазона
6. Если п.4 + п.5 > текущего столбца (для которого формула), то количество восьмерок для последнего найденного мотора еще не закончилось и ячейку нужно красить.

Автор - _Boroda_
Дата добавления - 02.06.2016 в 10:04
KIMVSR Дата: Четверг, 02.06.2016, 12:09 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 96
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
_Boroda_, спасибо за разъяснение, буду пытаться разобраться!
Но это жесть, конечно %)
 
Ответить
Сообщение_Boroda_, спасибо за разъяснение, буду пытаться разобраться!
Но это жесть, конечно %)

Автор - KIMVSR
Дата добавления - 02.06.2016 в 12:09
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Заполнение ячеек в соотв. с данными из исходной матрицы (Формулы/Formulas)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!