Новости:

Новая редакция правил форума: 2.4. Если вопрос или ответ содержится во вложенном файле, все-равно кратко описывайте в сообщении вопрос или суть решения. Это необходимо, чтобы тему можно было найти через поиск.

Главное меню

Автозаполнение таблицы с заданными параметрами строки 

Автор Legless, 03.08.2011, 06:35

« назад - далее »

Legless

Здравствуйте, уважаемые экселеведы!
На днях появилась необходимость сделать таблицу, которая будет сама заполняться путём вбивания трех-четырех параметров (название, тип сметы, кол-во сигналов, сумма) и прожимания на кнопку с макросом. Макросы я раньше использовал, но достаточно простенькие, типа переноса каких-нибудь строчек куда-нибудь, сохранения на другой лист, кнопки-чекбоксы. В общем, до этого как-то не имел дела с переменными. Столкнулся с проблемой, которую я условно разделил на три проблемы поменьше.

1. Во вложенном файле видна форма нужной таблицы, но всё же напишу здесь. Суть в том, что необходимо задать параметры и как бы спроектировать строчку для таблицы. Таблица состоит из пяти столбцов с вариантами оборудования, в каждом из которых три возможных интервала по количеству сигналов. Макрос должен определить столбец с оборудованием, затем определить в каком интервале лежит заданное количество сигналов и вставить туда число (сумма сметы/кол-во сигналов). У меня есть идеи как это сделать, но так как я пока что чертовски неопытен в создании макросов - я представляю себе длинющий код, который будет просчитывать каждый из 5*3 вариантов.

2. Вторую проблему я частично решил, найдя на форуме необходимую тему.
https://forum.msexcel.ru/microsoft_excel/makrosy_dlya_svodnoy_tablitsy-t1270.0.html
То есть, чтобы каждое автозаполнение выполнялось на следующей строчке таблицы. Ну с этим, думаю, разберусь.

3. Третья проблема заключается в том, что нужно будет считать среднюю цену сигнала по каждому столбцу. Необходимо, чтобы СРЗНАЧ игнорировал значения пустых ячеек и по мере расширения таблицы расширял свою область охвата сам. Ах да, в строчке должно быть одно значение цены на смету, поэтому пустых ячеек будет дофига. Вот тут я пока даже понятия не имею, как бы просто это не звучало.

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

Legless

Так, ну с проблемой номер три разобрался и без макросов.
Просто вставил подсчет среднего арифметического с условием, чтобы сумма ячеек не равнялась нулю (кол-во сигналов - натуральное число). И растянул на большой диапазон.

=ЕСЛИ(СУММ(C23:C500)=0, "N/A", ОКРУГЛ(СРЗНАЧЕСЛИ(C23:C500,">0"),2))

Всё-таки пока что непреодолимый затык вызывает первая проблема. Если есть идеи - с радостью выслушаю! 

langeron

Здравствуйте.
По порядку:
Цитировать1. Во вложенном файле видна форма нужной таблицы, но всё же напишу здесь. Суть в том, что необходимо задать параметры и как бы спроектировать строчку для таблицы. Таблица состоит из пяти столбцов с вариантами оборудования, в каждом из которых три возможных интервала по количеству сигналов. Макрос должен определить столбец с оборудованием, затем определить в каком интервале лежит заданное количество сигналов и вставить туда число (сумма сметы/кол-во сигналов). У меня есть идеи как это сделать, но так как я пока что чертовски неопытен в создании макросов - я представляю себе длинющий код, который будет просчитывать каждый из 5*3 вариантов.
По вашему объяснение я нре представляю себе никакого кода. Давайте Вы опишгите входные данные и куда эта строка должна лечь в таблице. ИМХО 5*3=15 вариантов - не самый большой перебор :о))

Цитировать3. Третья проблема заключается в том, что нужно будет считать среднюю цену сигнала по каждому столбцу. Необходимо, чтобы СРЗНАЧ игнорировал значения пустых ячеек и по мере расширения таблицы расширял свою область охвата сам. Ах да, в строчке должно быть одно значение цены на смету, поэтому пустых ячеек будет дофига. Вот тут я пока даже понятия не имею, как бы просто это не звучало.
про СРЗНАЧ тоже ничего не понял, ну не нравится оно вам пишите формулу СУММ(...)/СЧЁТЗ(...), или объясните что вам надо. т.е. нужен пример СРЗНАЧ считает так а мне надо так. тогда поможем ;0)

Legless

ЦитироватьПо вашему объяснение я нре представляю себе никакого кода. Давайте Вы опишгите входные данные и куда эта строка должна лечь в таблице. ИМХО 5*3=15 вариантов - не самый большой перебор :о))
Так. Постараюсь объяснить подробней. Ну, если например открыть лист DeltaV из последнего файла. Там есть четыре поля, в которые нужно вбить информацию из других файлов. Название сметы (тут всё понятно), итоговая сумма по смете (понадобится для расчетов), количество сигналов (понадобится для расчетов) и тип сметы. Как я всё это вижу: вбили эти данные, нажали на кнопку макроса. Макрос обрабатывает запрос и в соответствии с ним вставляет значение (сумма/кол-во сигналов). Например, мы выбрали сумму, тип сметы "оборудование" и написали, что количество сингалов равно 600. Макрос обрабатывает данные и вставляет результат в столбец "оборудование" и подстолбец "300-1000" сигналов. Такие дела. Таким образом будет накапливаться база данных по ценам, что позволит определять "средние по больнице" цены на заказы без нудного анализа старых смет. Я бы не мучался с этими макросами, если б не знал, что мне придется вбить в базу данные с более тысячи нестандартизированных смет. Без этого макроса я или кто этим будет заниматься - повешаются.
Цитировать
про СРЗНАЧ тоже ничего не понял, ну не нравится оно вам пишите формулу СУММ(...)/СЧЁТЗ(...), или объясните что вам надо. т.е. нужен пример СРЗНАЧ считает так а мне надо так. тогда поможем ;0)
Третью проблему я уже решил. По правде говоря, у меня проблемы с объяснениями, что я делал, даже самому себе. Чисто по наитию. Работает и ладно.

langeron


Legless

Цитироватьпохоже?

Черт возьми, это божественно. Вот уж не думал, что этот макрос можно будет поместить в шесть строчек. Моё воображение рисовало как минимум страницу с кучей условий. Единственное, в ячейках должен выводиться немного другой результат, но это уже даже я исправлю. В любом случае, спасибо огромное Вам!