Перейти к содержимому

Фотография

Excelпомощь, консультации...


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 914

#1
Арстан

Арстан
  • Постоялец
  • 480 сообщений
Здравствуйте, по роду своей деятельности много работаю в Excel.

Готов поделиться своим опытом и перенять чужой.
  • 0

#2
SandA

SandA
  • Частый гость
  • 81 сообщений
Я тоже не против :smoke:
  • 0

#3
Арстан

Арстан
  • Постоялец
  • 480 сообщений
Стоит такая задача:
4 филиала, в каждом филиале до 30 клиентов, у каждого клиента несколько договоров может быть.
Можно представить в виде таблицы.

Как сделать несколько зависимых списков.
Сначала выбираем филиал, потом второй список в зависимости от выбранного филиала - по заказчикам, затем третий - по договорам?

Не хочу макросы использовать. Думаю, можно стандартными средствами решить.
У кого какие идеи?

Сообщение отредактировал Арстан: 21.05.2009, 15:50:49

  • 0

#4
Арстан

Арстан
  • Постоялец
  • 480 сообщений

Стоит такая задача:
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. выложил бы сюда файл... че то не получается.
  • 0

#5
Арстан

Арстан
  • Постоялец
  • 480 сообщений
http://filex.kz/?act...972196520412200

вот примерно так. Оригинал выложить не могу.

Сообщение отредактировал Арстан: 22.05.2009, 12:12:44

  • 0

#6
ПересмешниК

ПересмешниК
  • Завсегдатай
  • 199 сообщений

Решил с помощью динамических диапазонов.
1 столбец - филиал, 2 - заказчик, 3 - договор.
Сначала отсортировал таблицу по филиалам, затем по заказчикам.

Я Пастернака не читал, но ... :laugh:
Скажите, Вы пробовали решать с помощью сводных таблиц? (pivot tables)

Сообщение отредактировал ПересмешниК: 22.05.2009, 14:22:11

  • 0

#7
Kain

Kain
  • В доску свой
  • 2 778 сообщений

Здравствуйте, по роду своей деятельности много работаю в 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

  • 0

#8
Арстан

Арстан
  • Постоялец
  • 480 сообщений


Решил с помощью динамических диапазонов.
1 столбец - филиал, 2 - заказчик, 3 - договор.
Сначала отсортировал таблицу по филиалам, затем по заказчикам.

Я Пастернака не читал, но ... :D
Скажите, Вы пробовали решать с помощью сводных таблиц? (pivot tables)


мне нужны были именно списки.
База очень громоздкая, кроме перечисленных 3 граф, там есть Вид работ, цены и т.п. Всего около 15-20 000 строк.

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

Не написал конечную задачу. Сорри.
Конечная цель - выбрав филиал, заказчика, договор, - выбрать вид работ по договору и по нему чтобы вышел прайс-лист.

Благодарю за мнение, в случае с небольшими объемами данных вариант со сводными оптимальный.
  • 0

#9
Арстан

Арстан
  • Постоялец
  • 480 сообщений
1) Род деятельности - экономист.
2) Очень хорошая книга "Трюки Excel". Автора не помню, книгу отдал.
  • 0

#10
Zulkar

Zulkar

    Читатель

  • В доску свой
  • 3 243 сообщений
Возникла такая проблемка. Данные экспортируются в excel, но не выравнивается столбцы. - вот скриншот.
Изображение
Кто нибудь сталкивался с такой проблемой? Как узнать необходимую высоту каждой строки в макросе? Вообще не очень хочется руками пробегать каждую строчку. Rows.Autofit делает не совсем то... - он выравнивает первую строчку в каждой ячейке, а остальные строчки в данной ячейке не видно.
  • 0

#11
ПересмешниК

ПересмешниК
  • Завсегдатай
  • 199 сообщений

Кто нибудь сталкивался с такой проблемой? Как узнать необходимую высоту каждой строки в макросе?

Попробуйте так -
Cells.Select
Cells.EntireRow.AutoFit

1я команда выделяет все строки
2я команда изменяет высоту
  • 0

#12
Zulkar

Zulkar

    Читатель

  • В доску свой
  • 3 243 сообщений

Попробуйте так -
Cells.Select
Cells.EntireRow.AutoFit

1я команда выделяет все строки
2я команда изменяет высоту

Я же писал - autofit не помогает, я это первым делом попробовал. Он не расширяет строки. Он запихивает что получилось в текущую ширину строк, а получается запихнуть только первую строчку "Гарантии и поручительства ипотечной организации, обязательства по которым полностью"
После autofit получается вот что:
Изображение

А нужно вот такое:
Изображение
  • 0

#13
ПересмешниК

ПересмешниК
  • Завсегдатай
  • 199 сообщений

Я же писал - autofit не помогает, я это первым делом попробовал. Он не расширяет строки.

Честно? Лето, жара, спорить не хочется. :laugh:
Телепатически, становится понятно, что текст внутри ячейки идет одной строкой, без символов перевода строки. Ловите -
Columns("D:F").Select
	Selection.WrapText = True

  • 0

#14
Zulkar

Zulkar

    Читатель

  • В доску свой
  • 3 243 сообщений
Вообще ничего не меняется. Видимо придется в цикле перебирать каждую строчку, и выставлять высоту столбца руками. :laugh: Больше ничего в голову не приходит.
  • 0

#15
Frya

Frya
  • Свой человек
  • 781 сообщений
Select all, зайти в Format, выбрать Cells/Alignment и под Text Control кликнуть Wrap Text. После этого в Autofit и высота ряда автоматически устанавливается по тексту. Хотя, кажется, ПересмешниК написал то же самое. Должно работать...
  • 0

#16
Zulkar

Zulkar

    Читатель

  • В доску свой
  • 3 243 сообщений

Select all, зайти в Format, выбрать Cells/Alignment и под Text Control кликнуть Wrap Text. После этого в Autofit и высота ряда автоматически устанавливается по тексту. Хотя, кажется, ПересмешниК написал то же самое. Должно работать...

Короче говоря, просто WrapText не работает - потому что включено объединение ячеек. Если объединение выключаю - то работает. Буду дальше копать.
  • 0

#17
ПересмешниК

ПересмешниК
  • Завсегдатай
  • 199 сообщений

Вообще ничего не меняется. Видимо придется в цикле перебирать каждую строчку, и выставлять высоту столбца руками. :-/ Больше ничего в голову не приходит.

Есть вариант без перебора, не знаю насколько подойдет.
Копируем merged столбцы и вставляем их справа (дальше работаем с копией), считаем ширину столбцов, снимаем merge, первому столбцу (в котором текст) присваиваем посчитанную ширину, autofit на все строки, прячем столбец с текстом, удаляем столбцы оставшиеся от merge.

В итоге, autofit работает, плюс у Вас на один скрытый столбец больше :-/

На самом деле, непонятно, зачем Вам merged ячейки? Был бы текст в одной ячейке, все бы работало автоматом, т.е. autofit-ом
  • 0

#18
Zulkar

Zulkar

    Читатель

  • В доску свой
  • 3 243 сообщений

Есть вариант без перебора, не знаю насколько подойдет.
Копируем merged столбцы и вставляем их справа (дальше работаем с копией), считаем ширину столбцов, снимаем merge, первому столбцу (в котором текст) присваиваем посчитанную ширину, autofit на все строки, прячем столбец с текстом, удаляем столбцы оставшиеся от merge.

В итоге, autofit работает, плюс у Вас на один скрытый столбец больше :-/

Замудрено, но попробую )

На самом деле, непонятно, зачем Вам merged ячейки? Был бы текст в одной ячейке, все бы работало автоматом, т.е. autofit-ом

Сопровождение и доработка мне досталась. Переписывать полностью весь модуль построения отчетов как-то не хочется :-/
  • 0

#19
Алматинский

Алматинский

    Сердобольный Флибустьер

  • В доску свой
  • 4 437 сообщений
Zulkar, если я вас правильно понял, то вам должно помочь следующее:
выделяете диапазон расширения строк, правая кнопка=формат ячеек=выравнивание=в строке "по вертикали" выбираете=распределенный...
  • 0

#20
Zulkar

Zulkar

    Читатель

  • В доску свой
  • 3 243 сообщений

Zulkar, если я вас правильно понял, то вам должно помочь следующее:
выделяете диапазон расширения строк, правая кнопка=формат ячеек=выравнивание=в строке "по вертикали" выбираете=распределенный...

То же самое. Выравнивается только первая строка ячейки, остальные не видно. На выходных был чуть-чуть занят, думаю сделать тупо влоб простым перебором. :hi:
  • 0


Количество пользователей, читающих эту тему: 0

пользователей: 0, неизвестных прохожих: 0, скрытых пользователей: 0

Размещение рекламы на сайте     Предложения о сотрудничестве     Служба поддержки пользователей

© 2011-2022 vse.kz. При любом использовании материалов Форума ссылка на vse.kz обязательна.