Апострофф написал: ChubraevRO, примите к сведению пункт правил этой ветки "Не пользоваться услугами случайных исполнителей и новичков, у которых на форуме мало сообщений (меньше 200-300)."Чревато это!
Конкуренция??
Не имею за душой более 300 сообщений (тем более 600, как у Вас), и не очень представляю, какой гарант они дают. Но имею во вкладке "Информация о пользователе" - ФИО, место работы, и моб тел. При желании, Вы можете проверить, что пишущий человек сообщения, и данные предоставленные в моем профиле (актуальные на тек. момент) - соответствуют действительности и являются одним и тем-же человеком. По моему, это больший гарант, нежели 600 сообщений от ноунейм пользователя.
Если Вас интересует данная подработка, я без проблем Вам могу ее уступить
Апострофф, Вы это можете обсудить с заказчиком. Для этого достаточно написать в личку (как выше сделал я). При встрече/звонке обсудите задачи, после чего выдаете свой вердикт. В случае - если Вас устроит/не устроит, так-же пишите об этом =)
Ігор Гончаренко написал: тогда терпеливо и главное вдумчиво отвечайте на вопросы - это самый быстрый путь к получению готового решения
Ответил максимально развернуто на сообщение Игорь, (пост 4) без какого либо желания кого либо обидеть или задеть
БМВ - спасибо за помощь, но возможно, Вы не совсем верно поняли пример от Юрий М. Вопрос несколько иной. Суть примера от Юрия поменяется, если более внимательней ознакомится с постом 4 и шапкой
Попробывал добавить команду sleep (Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) и поставить в соответствующем месте sleep(250) - (была мысль что комп неуспевает все отобразить на экране - потому уходит в это свое зависание) - не помогло
Представьте, что смотрите фильм. Вы видите эпичную картину битвы, где протогонист с антогонистом вот вот сойдутся в схватке. Весь фильм вы ждали этого момента. Вот он первый кадр наступает, где двое сходятся не на жизни а на смерть и бац..... ЗАВИСАНИЕ.... и следующий кадр, антогинист лежит побежденный. Обломно немного.
В файле Николая Павлова история такая же. Запустил макрос, хочу понаблюдать за движением "клеток". В какой то момет эксель перестает отображать процесс движения клеток ( сам эксель становится более тусклым, на месте курсора появляется синий кружочек ожидания, да вы и сами знаете наверное) идет это самое ЗАВИСАНИЕ ... после чего эксель сразу выдает конечный результат жизни клеток. (пропустив львиную часть). Проще это представить в виде эпизодов что ли... Представьте, что у нас 10 эпизодов, с 1 по 4 макрос корректно Вам все отображает, с 5 по 9 макрос не отображает (эксель как бы висит, отображая последний 4 эпизов). После отвисания показывает сразу конечную картинку 10 эпизода. Но мне то нужно наблюдать с 1 по 10 все целиком.
Цитата
Игорь написал: Как можно обозвать? - обозвать что? зачем? да как хотите обзовите, что от этого поменяется..
Поменяется. Как минимум смог бы загуглить
Цитата
Игорь написал: Как от этого избавиться? - от чего конкретно? где избавиться? (в примере от Николая, или в вашем файле?)
Файл Николая Павлова (последний, новогодний, про игру - "Жизнь"). Эффект зависания - описан как в шапке так и в текущем сообщении. Перепрочтите
Цитата
Игорь написал: Зачем вы от этого пытаетесь избавиться?
..... ну уж ... хм. Я даже незнаю какую аналогию Вам привести. Я хочу видеть процесс работы макроса. Собственно ради этого и был скачан этот файл. На примере того же фильма - вы хотите посмотреть битву двух покемонов например, вместо самой борьбы - видели момент с зависанием и последнюю картинку - где один покемон побежденный... вы негодуете .. злитесь, спрашиваете как от этого избавиться и вместо помощи, Вам задают вопрос, ЗАчем вы от этого пытаетесь избавиться?
Цитата
Dmitriy XM написал: По второму вопросу: скорее всего это зависит от производительности Вашего компьютера,
Тоже к этому пришел вчера. Если цикл ставлю в 100 - комп не успевает "зависнуть" и могу посмотреть все до конца. Но не понятно что именно влияет. Оперы 8 гигов, проц ведьмака тянет, уж эксель то должен был....)
Вопрос все тот же, как избежать этого зависания ? (один вариант найден - уменьшить количество циклов For i = 1 To 100). Возможно есть еще способы? И вопрос - 2, необязательный, как этот процесс с зависанием правильно обозвать ? Может забугорские сайты что интересного смогут подсказать, но увы, я даже вопрос правильно составить не могу, без примера...
Из характеристик (вдруг тут зарыта собака)
Эксель профессиональный 2016, 64-разрядная версия Оперы - 8 гигов Проц - кор2 дуо (2.33)
У Николая Павлова вышел новогодний выпуск (vba код, где создается "эмуляция жизни ")
Стало интересно, скачал файл пример, запустил. Результат следующий - n-oе количество итераций проходит как и положено, на экране отображается хаотичное движение развития "клеток", после чего возникает стандартная картина зависшего экселя, какое то время он думает (при этом на дисплее ничего не отображается) и в момент отвисания, эксель выдает конечный результат, пропустив часть...
что бы было понятней, на примере это выглядело бы так. Запустили макрос (задача коготорого показать числа от 1 до 10). Макро отрабатывает нормально, показывает 1, 2 , 3, 4 затем идет зависание, эксель думает и после отвисания сразу показывает число 10 ( пропустив процесс отображения цифр от 5 до 9). Вопрос, как правильно это можно обозвать и второй вопрос, как от этого избавиться?
Function RegBoolean1(ByVal sValue As String, ByVal sPattern)
sPattern = Replace(sPattern, "*", "")
If Len(sValue) < Len(sPattern) Then
RegBoolean1 = False
Exit Function
End If
If sValue = "" Or sValue = "-" Or sValue = Empty Or sValue = "#ЗНАЧ!" Or _
sPattern = "" Or sPattern = "-" Or sPattern = Empty Or sPattern = "#ЗНАЧ!" Then
RegBoolean1 = False
Else
Set objRegExp = CreateObject("VBScript.RegExp")
If sPattern <> "" Then
objRegExp.Pattern = sPattern
objRegExp.Global = True
objRegExp.IgnoreCase = True
RegBoolean1 = objRegExp.test(sValue)
Else
RegBoolean1 = False
End If
End If
End Function
Доброе утро Форумчане
Возникла проблема. Исп Регулярку (верой и правдой служит мне уже более 3 месяцев). Пришли новые данные и неожиданно начала появляться (периодически) ошибка 5020. Появляется не часто, но.... на примере взят случай, где переменные равны:
sPattern = "УФК по РО (Межрайонная ИФНС №23 по Ростовской области"
Понимаю что проблема в данных (т.к. раньше приходили данные в форматах Адрес и улица, ФИО и фамилия и т.д. а сейчас не пойми что...), но в моем представлении, регулярка должна просто выдать FALSE и пойти работать дальше, не выпадая в ошибку.
Сама ошибка вылетает на строке " RegBoolean1 = objRegExp.test(sValue) " Собственно вопрос, что именно не так? Не очень хочется ставить on error resume next
Файл выложить не могу, только скрины, сори(
Ошибка - не стабильная. По данным - 1 на 100, в ост случаях отрабатывает стабильно Гугл молчит... Мб где то у меня ошибка? или нужно мб что то поменять? Прошу помощи зала=)
Как прописать в формуле диапазон строк, если используется IF, Диапазон строк, который нужно вписывать руками, поторой весьма велик, как это автоматизировать ?
Добрый день. Возможно коммент совсем не в тему, но рекомендую посмотреть в сторону Power BI или QlikView ? (просто по соображениям удобности предоставления/отображения отчетности)
По данных Оф открытые источники или такой же прогноз
На реальном примере (упрощенном), это выглядит так На тек месте работы, есть показатели по ЗП сборщиков (сдельная зп, зависит от того, сколько шт соберут) Изначально, на будущий месяц, известен только плановый Товарооборот Далее алгоритм следующий Изучаем ретроспективно План и факт (история. статистика за прошлые периоды). Смотрим, в среднем выполняют или недовыполняют, изучаем показатели, которые могут влиять на выполнение плана. Далее, прогнозируем, % выполнения плана исходя из полученных данных (с учетом коридора отклонения) Далее берем историю по кол-ву собранных шт, выводим прогнозное значение (сколько руб стоит 1 шт) и проводим интерполяцию на предполагаемый товарооборот (т.е. делим предпл ТО на предпл стоим 1 шт) - получаем прогнозное кол-во шт. Затем умножаем кол-во шт полученных на цену сборки (цена за собранную 1 шт одним сотрудником) - получаем прогнозную сумму Спустя месяц, когда появились реальные фактические цифры по прогнозируемому месяцу, проводим план факт, на предмет отклонений. Уточняем, какие из показателей отклонились и по какой причине.
По поводу источников данных, вот открытые данные по темепратуре по Москве. Скорее всего, есть подобные источники с температурой и по другим городам. http://weatherarchive.ru/Pogoda/Moscow
Это как пример. В Вашем случае, понятно алгоритм будет другой, но сама логика, возможно, применима и к Вашей орг. Пробуйте доставать самые различные данные и играться с ними. Крутить и вертеть. Рано или поздно, у Вас получится создать подходящую под требования, модель прогноза. Но повторюсь, не всегда это может получится силами Экселя (если планируете копать действительно глубоко). Варианты, что выкладывал выше, - это простые расчеты, по стандартным формулам эксель. Если нужен более точный результат, на это может уйти больше Ваших сил и времени. Все должно быть соизмеримо=)
Kentavrik7 На тестовой версии, ту что в сообщении выше, модель получилась довольно точная, но есть НО Если посмотреть на модель прогноза, станет очевидно, коф. подобрали хорошо, есть прямое совпадение с фактом, однако с 1 по 11 ряд попадание прогноза в факт, точность около 98 - 99% с 12 по 15 ряд - просадка с 15 по 24 ряд - ряд попадание прогноза в факт, точность около 98 - 99%
Соответственно, что то проищошло в эти месяца, что повлияло в прошлом на цифры факта. Непредвиденный параметр. Пришелся он я янв 17 по июнь 17. Причем в 2016г, в тот же период - попадание прогноза с суммой факта - 99% повторюсь. Значит это не сезонное явление. Это или выброс или временное изменение тренда, что поовлекло за собой изменение веса кофф. Возможно присутствует непредвиденный параметр? неучтенный. (Это кол-во потребителей). В файле ниже, добавили этот параметр, посмотрите как изменилась модель прогноза=) (в 1 случае - отклонение 4% в текущем только 1%)
Kentavrik7 Пример простого прогноза с влияющими кофф. На листе Данные, построил пример построение модели. Общий итог по модели - отклонение от факта на 4% (график будет представлен)
Что сделали. Взял все данные с листа - Лист1 (данные которые переносил подсветил цветом, логику можно будет отследить) Далее - нашли корреляцию (т.е. показатели, которые лучше всего влияют на итоговую сумму). Далее, благодаря этим показателям, формулой тенденция, построили прогноз. Для экселя - результат довольно не плохой=) Собственно можете посмотреть на лист данные, что бы понять пример Попробуйте, как совет, метод МНК. Скачайте gretl. Она на русском языке и более чем понятная. Если находитесь в Москве, или есть скайп, то могу продемонстрировать как через нее создавать модели прогноза (либо ютуб в помощь с гуглом)
Если смотреть более подробно, замеченные закономерности - Каждый год (за искл 2018) в среднем, итоговая сумма уменьшается на 2% в среднем (по отношению к предыдущему). Ярко выражена сезонность. Отсутствуют смежные показатели (в файле примере по крайней мере). Если строить модель, именно по данным с исходника (1 сообщение), то продолжая логику данных за прошедший период, сделал 3 прогноза на 2019. Проверьте на текущих данных у себя. Отдельно, Вам необходимо разобраться в январе 2016 - там присутствует пиковый выброс. Необходимо узнать причину, либо не исп. эти данные в 2018 выбросов было больше, но сами выбросы были слабее. (февраль, март, май). Благодаря данным выбросам - нарушился ежегодный ниспадающий тренд (сумма за год, по отношению к предыдущему, постоянно уменьшалась на 2 %). Т.е. из за данных месяцов, сумма за год в 2018 = сумме за год в 2017. Необходимо изучить данные месяца, уточнить причину. Если подобные явления прогнозируемые (например акции проводили), то зная будущие акции, можете скорректировать значения в 2019. Файл во вложении=)
Kentavrik7 У есть ли у Вас смежные показатели? например - кол-во подкл квартир? 1 - Идея - найти показатель, с которым коррелирует расходы (формула коррел). 2 - Вариант со ср. может правда подойти. Для этого возьмите ср. значение за прошедший период и умножте на цену. Постройте такую модель за уже прошедший период. После того как получите данные за прошедший период, наложите реальные данные, получите вариацию (коридор отклонения прогноза). Спрогнозируйте будущую цифру по методу среднего и добавьте вариацию Пример (упрощенный) 1 2 3 1 2 3 1 2 3 Ср - число 2. По прогнозу может быть (условно) 2-ка. Смотрим разницу между план фактом получаем +-1. Соответственно для получения вариации берем 1 и делим на 2, получаем 50% Как итог, при прогнозе цифры 2 у нас возможное отклонение +-50%
Kentavrik7 Как аналитик, прогноз по формулам - предложенные экселем, подходит обычно для первичного, общего, не самого точного анализа. Вопрос стоит другой. Что именно Вы хотите спрогнозировать? (от этого будет зависеть метод) Пример У Вас есть товар, который имеет сезонность. Функции экселя, в этом случае могут помочь отчасти, но более верным будет рассчитать ср. скорость продаж (желательно иметь признак - со скидкой/без скидки), возможно понадобятся стандартные ABC и XYZ + трендами и декомпозицию по постоянной, переменной и сезонной составляющей. Трендовую составляющую сверить с той, что получите через формулы, возможно внести правки. А далее уже простой расчет, исходя например из бюджета и процесса(сроков) поставки P.S Не нашел способа декомпозицию делать в эксель, делаю через R. Даже тему на данном форуме оставлял, увы... Если пойдете по этому пути и найдете решение, пжлст, оставьте ссылку=)