Полная версия этой страницы: 
Расчет расходов воды
  
 
 
  Попросили коллеги по сантехническому отделу смастерить нечто эдакое.
Во имя дружбы ВК-шников и ОВ-шников пришлось попариться (особого интузиазма мне эта работа не прибавляла).
Не исключено что будут ошибки. Некоторые нормы (например для общепита) взяты по супер-связям нашего главспеца 

 . 
Расчитываю на традиционную мега-активность ВК-шников 

 .
Товарищ Kopchello указал на ошибки. закрыли на редакцию.
  
 
 
  Небольшая инструкция.
В серых ячейках задаются исходные данные.
Красные (или оранжевые 

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

 .
Хотя в принципе в листе "БД" можете поменять нормы расходов, если вас не устраивают выдаваемые программой. Но для неопытных товарищей все эти действия чреваты последствиями 

 .
Прилагаем отредактированную версию. 85 kb
  
 
 
  Интересная прграммка! расходы такие же как у меня получились плюс минус сто - двести грамм))))
 
 
 
 
  мельком посмотел и увидел таку вещь - в случае если присутствуют в расчете потребители  "ДУШИ ПРОМ ПРЕДПРИЯТИЙ" то и для них считается вероятность, что по моему не есть правильно.
если справлюсь со своей зелёной, попозже выложу свой файл... 

но тем не менее реализация прекрасная 
 
  
 
  Сантехник
  18.4.2007, 15:11
  
 
  А куда делись потребители в сутки там или в час в расчетах присутствуют и те и другие. И до балансовой таблицы довести не мешало бы, а система открытая/закрытая. 
Да отопленцам лучше свои темы развивать. Типа расчета точки росы и парциального давления в толще стены (лично для меня проблема).
 
 
 
 
  Данная прога не претендует на широкое применение. Преследовались другие цели. Хотел вам, уважаемые коллеги продемонстрировать, что если захотеть, то можно сделать что-то интересное.
Самым сложным в плане реализации программы это было альфы находить в зависимости от таблицы в которую попадаем, и интрополировать соответсно. С этим я справился, а дальше мне стало нудно и неинтересно возиться, т.к лично мне она не пригодится 
 
 Поэтому она конечно сырая, но призываю ВК-шников не лениться и мастерить самостоятельно что-то (мне вот по жизни одни лентяи ВК-шники попадаются. интересно это случайность или закономерность? 

 ). Здесь вот еще раньше была выложена прога по ВК, так ее тоже ОВ-шник написал. Вам не стыдно 

 ? Ясно что сами вы для себя лучше бы сделали. Если сделали так поделитесь. А то каждый себе какую-то корявую табличку смастерил, и хватит 
 
 Пуская для вас эта несовершенная работа (сделаная человеком, который никогда реально этих расходов не считал) будет стимулом сделать лучший продукт 

 .
 
 
 
 
  на самом деле выбор значений альфа из таблицы как мне кажется не лучший способ.
Один раз апроксимировать и пользоваться формулами
 
 
 
 
  Цитата(ssn @ Apr 19 2007, 14:41 )
на самом деле выбор значений альфа из таблицы как мне кажется не лучший способ.
Один раз апроксимировать и пользоваться формулами
 Я, кстати, всегда в таких случаях в экселе строю график, линию тренда - получаю зависимость и пользуюсь формулой. Для альф тоже так сначала сделал, вроде и относительная погрешность минимальная, но когда начал подставлять - получил большую абсолютную 

 .
Потом мне Kopchello сказал что все формулы для альфы - лажовые. Вот я и мучился с интрополяцией. Особенно для первой таблицы - она там двойная 

 .
 
 
 
 
 
  так и есть.. разбиваем диапазон на 5 частей, для каждой части находим линию тренда с максимальной степенью, в результате погрешность значения альфы получается в редко когда около 5% (а то и меньше).
хотел прилепить свой файл, фигня какая то... не прилепляется и всё.. рар... ща ещё попробую
68 к 
 
Добавлено - 17:06 
 как интересно.. зип сразу отправился...
 
 
 
 
  Точно!!! тоже помню хотел разбить...
главспец настояла на интрополяции 

 , сказала что их в институте заставляли делать, поэтому так правильно 

Правильнее назвать мою прогу Демо-версия.
 
 
 
 
  Гость, хочу спросить как получилось сделать одну такую вещь. Когда выбираешь потребителя то справа есть бегунок. Я искал искал такое - не нашел, там же в бейсике только раскрывается полный список без этого бегунка? Нет же такой команды с бегунком. Может надо как-то диапозон по-другому задавать?
Предлагаю сотрудничать в создании этой программы для ВК. Сделал подобную. Остановился на АПЖ и подборе расходомеров.
Сейчас делаю интерполяцию по таблицам Шевелевых, на пластик уже сделал.
 
 
 
 
  если надо, кидаю свою интерполяцию... может все же пригодится.
30 К
 
 
 
 
  Цитата(Михаил I @ 23.5.2007, 8:36) 

Гость, хочу спросить как получилось сделать одну такую вещь. Когда выбираешь потребителя то справа есть бегунок. Я искал искал такое - не нашел, там же в бейсике только раскрывается полный список без этого бегунка? Нет же такой команды с бегунком. Может надо как-то диапозон по-другому задавать?
Предлагаю сотрудничать в создании этой программы для ВК. Сделал подобную. Остановился на АПЖ и подборе расходомеров.
Сейчас делаю интерполяцию по таблицам Шевелевых, на пластик уже сделал.
На самом деле нет ничего сложного в этом, и бейсик ни причем. Хотя эта возможность дает создавать такие проги, которыми завален данный раздел. Я долго искал, таки нашел, в свое время 

 .
Внимание! Открываю главные секреты экселя для юзеров без макросов:
В настройке панели инструментов вытащите панель "Формы". Там в этой панели множество кнопок и переключателей, из которых я в своей практике использую три вида. Самый распространенный называется "поле со списком" (думаю вы об этом бегунке рассказывали). Нажимаете его и в свободном поле листа шелкаете ЛКМ. Наведите на появившийся квадрат с уголком курсор и щелкните правой клавишей мыши.  Выберите формат объекта. Далее закладка "элемент управления". В строке "формировать список по диапазону" указываете диапазон срок с текстом. В строке "связь с ячейкой" указываете ячейку, на которую в дальней шем будете ссылаться в формулах (например "индекс"). После выбора какой-то строки в образовавшемся поле со списком - в ячейке, с которой вы установили связь будет отображаться порядковый номер строки. Это нам как раз и необходимо. Далее вставляете какую-нибудь таблицу СНиПа со строками, соответствующими сформированым. Для вытягивания какого-то числа из таблицы пользуйтесь формулой "=индекс(....". Таблица, имеет строки и столбцы. Номер строки мы определили, аналогично можно определить столбцы. в формуле "индекс" указывается диапазон, через точку с запятой номер строки и номер столбца. Номер строки - ссылка на ячейку, с которой предварительно установили связь. Повторюсь, номер столбца, можно аналогично определять, или же в противном случае не делать в формуле ссылку на ячейку, а просто писать цыфру, например "1".
А дальше логические функции и уже отработаные приемчики  
 
  
 
 
  Сантехник
  24.5.2007, 13:57
  
 
  Наверно каждый ВКшник делает такое. первую слепил в суперкалке перевел в квадропро потом в экзель. А выбор из списка очень хорошая вещь пол года назад освоил не нарадуюсь.
 Интерполяцию по Шевелеву делать не надо надо открыть первые страницы и вбить в таблицу приведенные там формулы. Получится для холодной воды для любого материала и диаметра (меди в шевелеве нет ну и бог с ней)
Если доберетесь до Снипа на наружку приложение 10 кааца то найдете в параметре С или В ссылку на кинематический коэф вязкости а это уже путь к пересчету на любую температуру. Вот и будет табличка с графами материал трубы диаметр и температура , а если нужно то через вязкость и среду заложить можно хладоген какой нибудь. Успехов всем.
 
 
 
 
  Гость, я так и сделал. Но там команда поле со списком. А бегунка то нет. Т.е. треугольников справа 

 нет их. Хотя и список то большой ,а бегунок не появляется. В чем причина не пойму 

там есть еще такая функция - поле с раскрывающимся списком. Почему-то она не активна и не выбирается.
 
 
 
 
  Вот так выглядит.
Тоже самое с меньшим размером
 
 
 
 
  Похоже дело в настройках экселя или в везении. Потому что в программе Гостя сделал ту же команду - поле со списком - там бегунок появляется. В моем файле нет и все, хоть тресни! 
 
  
 
 
  То Михаил I
Действительно не знаю почему у вас так выходит (вернее не выходит).
Прикреплю, для наглядности первые три шага. Если попросите, то и остальные потом 

 .
 
 
 
 
  так оно все и происходит. В свойствах объекта ничего такого больше нет чтобы показывался этот бегунок.
Вот скачал вашу программу. Делаю тоже самое - там выходит. В моем файле - нет  
 
  
 
 
  ну попробуйте переустановить "офис" раз такое дело. Чесслово не знаю где надо поковырять, чтоб работало. Никуда не лазил специально, все по умолчанию получилось 
 
  
 
 
  не надо переустанавливать...
в настройках есть набор подключаемых модулей форм
на вкладке формы нажать расширение и получится список кнопок на форме.
просто есть команда список, поле со списком и поле с раскрывающимся списком
может в этом дело?
 
 
 
  Михаил I
  25.5.2007, 10:57
  
 
  SSN, я решил свою проблему!!! 

  Было просто!
А вот по поводу команды поле с раскрывающимся списком, она неактивна. Как ее включить?
 
 
 
 
  у меня тоже неактивна 

 а зачем она вам?
И как вы решили свою проблему?
 
 
 
  Михаил I
  25.5.2007, 11:13
  
 
  не ну если она есть, значит может быть активна 

а решил просто. В формате элемента во вкладке элемент управления есть число строк. Я думал это число строк вообще моего диапозона, а это оказалось число, указываемых на экране. У меня было 80, вот и пыталось отобразиться 80 строчек на мониторе. Сделал 30 - появилась прокрутка 

Кстати где-то читал, что "в такие-то строчки не лесть в них проводятся расчеты". 
Эти строчки можно заблокировать от пользователей защитой экселя.
 
 
 
 
  Цитата(Михаил I @ 25.5.2007, 11:13) 

Кстати где-то читал, что "в такие-то строчки не лесть в них проводятся расчеты". 
Эти строчки можно заблокировать от пользователей защитой экселя.
да, можно. но я чего-то пробовал и у меня не получилось 
 
 В сервисе защита - защищает целый лист или целую книгу. а в формате ячейки тоже есть защита - но там чепуха какая-то не действующая.
 
 
 
 
  Михаил I
  25.5.2007, 11:32
  
 
  в защите в общей есть настройки. Галочки надо ставить не везде, а только на РЕДАКТИРОВАНИЕ ЯЧЕЙКИ.
типа ячейка будет изменяться в программе ,учавствовать в расчетах в формулах, но пользователь уже изменить ее не сможет
 
 
 
 
  в свойстве ячейки можно поставить галочку про то, что в случае защиты листа ячейка будет защищаемой. вот и все. а при выборе защиты листа все ячейки у которых эта галочка не стоит окажутся не защищёнными. и защитить можно от разных действий - выделение, редактирование, удаление.. ну там длинный список...
 
 
 
  Михаил I
  25.5.2007, 11:34
  
 
  Цитата(ssn @ 25.5.2007, 14:33) 

в свойстве ячейки можно поставить галочку про то, что в случае защиты листа ячейка будет защищаемой. вот и все. а при выборе защиты листа все ячейки у которых эта галочка не стоит окажутся не защищёнными. и защитить можно от разных действий - выделение, редактирование, удаление.. ну там длинный список...
точно! 
 
  
 
 
 
  вообще как то сразу не могу найти где я видел длинный список подключаемых форм... там их очееееень много было всяких и разных... может попозже "посильнее" порыскаю
ааа... всё.. это я парю... это было в ВБА... подключаемые формы... точно, сори...
ну а тут просто - точно так же как делается видимость кнопок на всех панелях, заходим и ставим галки 
 
  
 
  Михаил I
  25.5.2007, 11:47
  
 
  нда, в ВБА возможностей то побольше. Но для создания таких вот простеньких программ для гидр. расчета - эксель лучше всего подходит.
 
 
 
 
  К счастью или к сожалению многие существующие методики достаточно упрощены - что позволяет нам, не имея должных навыков программирования, делать вполне состоятельные самопальные расчетные программки. Достаточно освоить пару трюков, логические функции и вуаля прога гатова 

 ! Так что не ленимся, товарищи, трудимся кто во что гаразд, не даем разделу засыхать, выкладываем творения и перенимаем опыт друг у друга.
 
 
 
  Михаил I
  25.5.2007, 12:26
  
 
  я согласен!
меня пока остановил расчет трубопроводов, т.к. не знаю как загнать таблицы Шевелевых в ворд.
 
 
 
 
  альфа от NP по таблице
Гляньте на 3-хэтажную формулу
Такая интерполяция катит?
 
 
 
 
  А погрешность средняя какая получается?
Я таким способом пытался зависимость подбора труб сделать, сломало меня эти уравнения считать. Да и погрешность немаленькая была.
ПО-моему через макрос проще. Если погрешность маленькая, то почему бы и не применять.
 
 
 
 
  Недавно занимаюсь проектированием ВК. Для упрощения своей собственной жизни создал следующий расчет. Выкладываю его на Ваш суд. Создал его в 2007 офисе. Возможно, в более ранних версиях будет работать некорректно. Точно не знаю, не пробовал. Конечно, расчет еще сырой. И всего для 6 видов потребителей. Дошел только до расчета максимальных секундных расходов для каждой группы. По-моему, для расчета α можно пользовать обычную линейную интерполяцию и не заморачиваться с апроксимацией. На листе "исх. данные" выбирается тип потребителя, вводится число приборов и кол-во потребителей. Сама интерполяции на листе "справка".
Размер файла 244 Кб.
Выложил последний вариант (см. пост за 5.6.2007, 10:05)
 
 
 
  Михаил I
  28.5.2007, 10:58
  
 
  Комментарии: Замысел хороший, особенно хорошо сделана интерполяция. Не знал такой команды "ПоискПоз", мне пригодится, спасибо.
Рекомендации: порекомендовал бы скрыть то что не нужно и путает.
Предложения: можно дооформить. Основные расчеты загнать в общую таблицу. Т.е. нажал кнопку и отправил на принтер. А также предлагаю не расслабляться и доделать программу. 
 
  
 
 
  Спасибо, Михаил! Я специально не стал скрывать ненужное, шоб было видно: что, куда и из чего. Сижу не расслабляюсь и доделываю. 
 
  
 
 
  Забыл сказать, что программа считает только при вероятности и числе приборов указанных в табл. 2 приложения 4 СНиП 2.04.01-85. Буду дорабатывать. Михаил, Вы каким excel открывали? Если не 2007, были ли какие-нибудь проблемы? Есть еще одна особенность. Собственно, она следует из ф-лы 3 пункт 3.4 Произведение PN не зависит от числа приборов, а только от числа потребителей. Т.е. не важно, будет ли 100 человек пользоваться 10 или 100 приборами, произведение PN=const.
 
 
 
  Михаил I
  28.5.2007, 11:33
  
 
  Цитата(Dимыч @ 28.5.2007, 14:31) 

Произведение PN не зависит от числа приборов, а только от числа потребителей. Т.е. не важно, будет ли 100 человек пользоваться 10 или 100 приборами, произведение PN=const.
Это понятно. Это достаточно, чтобы сосчитать расход.
А для полного гидравлического расчета с потерями и диаметрами придется N все-таки вводить.
Не было никаких проблем. Открывал 2003 офисом. Да и макросов, вроде как, нет. Проблем с чтением не должно быть.
У меня бывает, что русский шрифт не понимает какие-то офисы.
Димыч! Так держать! Это ж интересно!  
 
  
 
 
 
  Dимыч, поведай как у тебя список выпадает, и откуда кнопка с прокрутом берется? чето я не понял 
 
 "Формула! Где формула! Нам нужна формула!!!"  
 
  
 
 
  2 ГОСТь
В 2007 Excel: вкладка "Данные" - кнопка "Проверка данных" - В окошке "Тип данных" выбирается "Список" и задается диапазон значений. Для предыдущих версий, это, по-моему, вкладка "Конструктор". Врать не буду, точно не помню. На работе стоит только только 2007 офис. Он немного по-другому организован. Что-то упрощено, а что-то через одно место делать приходится. 

 Приду домой, посмотрю. Завтра точно скажу. 
 
  
 
  Михаил I
  29.5.2007, 14:18
  
 
  Димыч! Ты гений! Где ты раньше был! У меня в 2003 также...через данные.
 
 
 
  Михаил I
  29.5.2007, 14:33
  
 
  Появились кое-какие вопросы.
Как созданным списком сделать ссылку на другой лист?
 
 
 
 
  У Димыча несколько иной подход нежели у меня. Получается вып. список через данные. А для поиска соответствующей строки используется функция "ВПР(" или "ГПР". Я делаю вып. список через формы, а потом формула "индекс". Результат общий.
Очень интересно посмотреть, когда одни и те же задачи можно по разному решать 

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

 .
 
 
 
  Михаил I
  29.5.2007, 14:38
  
 
  Я создал список через форму, указал привязку. Ну как обычно. Но как запустить макрос, чтобы по привязанному числу выписывались цифры из снипа?
 
 
 
 
  Вы мне льстите. 

 Михаил, посмотри в моем расчете. Я тоже столкнулся с этой проблемой. Решил ее, скопировав ссылку из формулы, где есть упоминание на нужный мне лист. В моем случае в диапазоне значений написано =Справка!$A$96:$A$172.
 
 
 
  Михаил I
  29.5.2007, 14:43
  
 
  ааа, ну т.е. вручную в ту строчку набить ссылку на лист и ячейки?
 
 
 
 
  В общем, да. Или вручную или скопировать.
 
 
 
  Михаил I
  29.5.2007, 14:53
  
 
  Понятно, спасибо! 

  Мне все же через макрос привычнее 
 
  
 
 
  Цитата(Михаил I @ 29.5.2007, 14:38) 

Я создал список через форму, указал привязку. Ну как обычно. Но как запустить макрос, чтобы по привязанному числу выписывались цифры из снипа?
мне кажется я об этом пытался объяснить:
Цитата
Для вытягивания какого-то числа из таблицы пользуйтесь формулой "=индекс(....". Таблица, имеет строки и столбцы. Номер строки мы определили, аналогично можно определить столбцы. в формуле "индекс" указывается диапазон, через точку с запятой номер строки и номер столбца. Номер строки - ссылка на ячейку, с которой предварительно установили связь. Повторюсь, номер столбца, можно аналогично определять, или же в противном случае не делать в формуле ссылку на ячейку, а просто писать цыфру, например "1".
и никаких макросов.
 
 
 
   
  Для просмотра полной версии этой страницы, пожалуйста, 
пройдите по ссылке.