Excelпомощь, консультации...
#3
Отправлено 21.05.2009, 15:50:24
4 филиала, в каждом филиале до 30 клиентов, у каждого клиента несколько договоров может быть.
Можно представить в виде таблицы.
Как сделать несколько зависимых списков.
Сначала выбираем филиал, потом второй список в зависимости от выбранного филиала - по заказчикам, затем третий - по договорам?
Не хочу макросы использовать. Думаю, можно стандартными средствами решить.
У кого какие идеи?
Сообщение отредактировал Арстан: 21.05.2009, 15:50:49
#4
Отправлено 22.05.2009, 11:09:06
Стоит такая задача:
4 филиала, в каждом филиале до 30 клиентов, у каждого клиента несколько договоров может быть.
Можно представить в виде таблицы.
Как сделать несколько зависимых списков.
Сначала выбираем филиал, потом второй список в зависимости от выбранного филиала - по заказчикам, затем третий - по договорам?
Не хочу макросы использовать. Думаю, можно стандартными средствами решить.
У кого какие идеи?
Решил с помощью динамических диапазонов.
1 столбец - филиал, 2 - заказчик, 3 - договор.
Сначала отсортировал таблицу по филиалам, затем по заказчикам.
Создаем 3 ячейки, где будут списки, присваиваем им имена.
Динамические диапазоны смещаются в зависимости от выбранного филиала (для выбора заказчика), заказчика (для выбора договора).
примерно такие формулы:
Customer СМЕЩ(ДВССЫЛ(АДРЕС(ПОИСКПОЗ(Val1Cell;objects;0)+1;2;;;"Proj"));0;0;СЧЁТЕСЛИ(objects;Val1Cell);1)
Objects СМЕЩ(Proj!$A$2;0;0;СЧЁТЗ(Proj!$A$1:$A$20000);1)
Val1Cell - выбранный филиал,
objects - 1 столбец с филиалами,
customer - диапазон для выбора заказчика.
Договор - по аналогии.
P.S. выложил бы сюда файл... че то не получается.
#5
Отправлено 22.05.2009, 12:11:01
вот примерно так. Оригинал выложить не могу.
Сообщение отредактировал Арстан: 22.05.2009, 12:12:44
#6
Отправлено 22.05.2009, 14:21:17
Я Пастернака не читал, но ...Решил с помощью динамических диапазонов.
1 столбец - филиал, 2 - заказчик, 3 - договор.
Сначала отсортировал таблицу по филиалам, затем по заказчикам.
Скажите, Вы пробовали решать с помощью сводных таблиц? (pivot tables)
Сообщение отредактировал ПересмешниК: 22.05.2009, 14:22:11
#7
Отправлено 22.05.2009, 16:07:59
Здравствуйте, по роду своей деятельности много работаю в Excel.
Готов поделиться своим опытом и перенять чужой.
1. А род деятельности ваш каков?
2. Какую книгу можете посоветовать чтобы изучить ЭКсель нормально. Я работаю в нем но только на уровне создания таблиц, вычислений простых с помощью СУММ, для сортировки базы, для написания бюджета.
3. У меня есть экономическая задачка которую надо сделать с помощью ЭКселя.
Вот часть ее:
Предприятие состоит из трёх крупных подразделений. Руко-водители финансовых отделов этих подразделений составили финансовые планы (бюджета) на период с 01.01.2001 по 31.12.2001 гг. и направили эти планы руководству предприятия для анализа и выработки согласованной финансовой политики. На первом этапе руководство приняло решение провести анализ финансовых потоков. Средства (в млн. руб.) на 01.01.2001 г. (таблица 4.35) и ожидаемые ежемесячные поступления и плате-жи для каждого подразделения представлены в следующей таб-лице:
далее таблица....
Исходные данные по средствам на начало периода для каж-дого подразделения необходимо выбрать из приведённой ниже таблицы согласно своему варианту задания.
таблица....
На основе приведённых данных требуется:
1. Для каждого подразделения дать прогноз наличия и дви-жения денежных средств по периодам (месяцам) и проверить финансовую реализуемость плана. Ответ оформить в виде таб-лиц и графиков, характеризующих наличие денежных средств в зависимости от периода времени.
2. Построить консолидированный финансовый поток в целом по предприятию и проверить финансовую реализуемость консо-лидированного плана. Результат оформить в виде таблицы и графика.
3. В случае финансовой нереализуемости консолидирован-ного плана определить сроки и объёмы необходимых заёмных средств. Модифицировать таблицу для консолидированного фи-нансового потока, введя новые строки, такие как “в т.ч. поступле-ния кредитов”, “в т.ч. платежи по возврату кредита”, “выплата %% за кредит”. Расчёты произвести исходя из следующих условий:
- кредит берётся только сроком на 3 или на 6 месяцев;
- возврат суммы кредита производится ежемесячно рав-ными долями, начиная с месяца, следующего за месяцем, в кото-ром кредит был взят;
- выплата процентов производится ежемесячно с суммы непогашенного долга по состоянию на предыдущий месяц из рас-чёта Q1 процентов годовых (на 3 месяца) либо Q2 процентов годовых (на 6 месяцев). Исходные данные по процентам...........
и так далее до 6 пунктов
Может кто возьмется за ее выполнение? За разумную цену.
Сообщение отредактировал Каин: 22.05.2009, 16:17:00
#8
Отправлено 22.05.2009, 16:14:46
Я Пастернака не читал, но ...
Решил с помощью динамических диапазонов.
1 столбец - филиал, 2 - заказчик, 3 - договор.
Сначала отсортировал таблицу по филиалам, затем по заказчикам.
Скажите, Вы пробовали решать с помощью сводных таблиц? (pivot tables)
мне нужны были именно списки.
База очень громоздкая, кроме перечисленных 3 граф, там есть Вид работ, цены и т.п. Всего около 15-20 000 строк.
Если бы со сводными работать, то я бы замучился галочки убирать и ставить. Там же если 1 филиал выбрать, автоматически с его заказчиков галочки не снимаются. Список это позволяет.
Не написал конечную задачу. Сорри.
Конечная цель - выбрав филиал, заказчика, договор, - выбрать вид работ по договору и по нему чтобы вышел прайс-лист.
Благодарю за мнение, в случае с небольшими объемами данных вариант со сводными оптимальный.
#10
Отправлено 22.06.2009, 10:01:50
Кто нибудь сталкивался с такой проблемой? Как узнать необходимую высоту каждой строки в макросе? Вообще не очень хочется руками пробегать каждую строчку. Rows.Autofit делает не совсем то... - он выравнивает первую строчку в каждой ячейке, а остальные строчки в данной ячейке не видно.
#12
Отправлено 22.06.2009, 12:20:36
Я же писал - autofit не помогает, я это первым делом попробовал. Он не расширяет строки. Он запихивает что получилось в текущую ширину строк, а получается запихнуть только первую строчку "Гарантии и поручительства ипотечной организации, обязательства по которым полностью"Попробуйте так -
Cells.Select
Cells.EntireRow.AutoFit
1я команда выделяет все строки
2я команда изменяет высоту
После autofit получается вот что:
А нужно вот такое:
#13
Отправлено 22.06.2009, 14:42:10
Честно? Лето, жара, спорить не хочется.Я же писал - autofit не помогает, я это первым делом попробовал. Он не расширяет строки.
Телепатически, становится понятно, что текст внутри ячейки идет одной строкой, без символов перевода строки. Ловите -
Columns("D:F").Select Selection.WrapText = True
#16
Отправлено 23.06.2009, 10:19:20
Короче говоря, просто WrapText не работает - потому что включено объединение ячеек. Если объединение выключаю - то работает. Буду дальше копать.Select all, зайти в Format, выбрать Cells/Alignment и под Text Control кликнуть Wrap Text. После этого в Autofit и высота ряда автоматически устанавливается по тексту. Хотя, кажется, ПересмешниК написал то же самое. Должно работать...
#17
Отправлено 23.06.2009, 14:24:25
Есть вариант без перебора, не знаю насколько подойдет.Вообще ничего не меняется. Видимо придется в цикле перебирать каждую строчку, и выставлять высоту столбца руками. Больше ничего в голову не приходит.
Копируем merged столбцы и вставляем их справа (дальше работаем с копией), считаем ширину столбцов, снимаем merge, первому столбцу (в котором текст) присваиваем посчитанную ширину, autofit на все строки, прячем столбец с текстом, удаляем столбцы оставшиеся от merge.
В итоге, autofit работает, плюс у Вас на один скрытый столбец больше
На самом деле, непонятно, зачем Вам merged ячейки? Был бы текст в одной ячейке, все бы работало автоматом, т.е. autofit-ом
#18
Отправлено 23.06.2009, 14:57:29
Замудрено, но попробую )Есть вариант без перебора, не знаю насколько подойдет.
Копируем merged столбцы и вставляем их справа (дальше работаем с копией), считаем ширину столбцов, снимаем merge, первому столбцу (в котором текст) присваиваем посчитанную ширину, autofit на все строки, прячем столбец с текстом, удаляем столбцы оставшиеся от merge.
В итоге, autofit работает, плюс у Вас на один скрытый столбец больше
Сопровождение и доработка мне досталась. Переписывать полностью весь модуль построения отчетов как-то не хочетсяНа самом деле, непонятно, зачем Вам merged ячейки? Был бы текст в одной ячейке, все бы работало автоматом, т.е. autofit-ом
#20
Отправлено 29.06.2009, 11:11:45
То же самое. Выравнивается только первая строка ячейки, остальные не видно. На выходных был чуть-чуть занят, думаю сделать тупо влоб простым перебором.Zulkar, если я вас правильно понял, то вам должно помочь следующее:
выделяете диапазон расширения строк, правая кнопка=формат ячеек=выравнивание=в строке "по вертикали" выбираете=распределенный...
Количество пользователей, читающих эту тему: 1
пользователей: 0, неизвестных прохожих: 1, скрытых пользователей: 0