Определение промежуточных данных, Апроксимация, интерполяция и тому подобные шалости с табличными данными.
Пользователь
Сообщений: Регистрация: 13.02.2019
03.11.2025 15:01:20
Попалась мне в руки вот такая книжечка. Элементы численного анализа и математической обработки результатов опыта | Овчинский Борис Владимирович, Гутер Рафаил Самойлович Очень советую тем, кто хочет понять как в шестидесятых годах, не имея пайтонов, экселей и вообще, могли обрабатывать данные экспериментов получая вполне неплохие аналитические зависимости.
Чисто для меня стало фишкой возможность представления кривых в виде прямых на плоскости (как бы это не звучало - на рисунке правый нижний график это параболы ).
Ну и пара разобранных примеров из книги -
Безье или Лагранж как именно эксель сглаживает линии диаграм?Ряд Фурье тригонометрический., Очень очень конечно конечно
Пользователь
Сообщений: Регистрация: 13.02.2019
02.11.2025 23:45:44
Сплайном. По крайней мере визуально. К курилке есть моя тема, там вроде как разбирал.
Из формата 526 214 852 025 006,00 в GeneralNumber, Перевести число из одного формата, видимо, Standard, в обычный
Пользователь
Сообщений: Регистрация: 13.02.2019
03.09.2025 18:07:37
Только недавно была похожая тема. Вопрос к предложениям, а вы все символы пробелов так меня станете? Их же много... Не проще оставить только цифры и разделитель? Типа так (сорри, я с телефона сейча
Код
Function DataPrep(str As String) As String
Dim ch As String, i As Long
For i = 1 To Len(str)
ch = Mid(str, i, 1)
If ch = "." Then DataPrep = DataPrep & ","
If ch Like "[,0-9]" Then DataPrep = DataPrep & ch
Next i
End Function
Как построить график
Пользователь
Сообщений: Регистрация: 13.02.2019
27.08.2025 21:55:39
Без макросов и доп.столбцов можно сделать так.
Определение промежуточных данных, Апроксимация, интерполяция и тому подобные шалости с табличными данными.
Пользователь
Сообщений: Регистрация: 13.02.2019
25.08.2025 20:06:03
Довелось мне некоторое время проводить аппроксимацию номограммы в логарифмических осях. Для тех кто не знает, это вот такие: Оказывается штатными средствами аппроксимации экселя получить уравнение не получится. Например для одной кривой и полиномиальном тренде имеем вот такое При этом коэффициенты линии тренда совпадают с коэф-ми полученными через ЛИНЕЙН (см.табличку над графиком).
Для того чтобы получить уравнение следует: 1. Произвести преобразование исходных данных прологарифмировав их 2. Найти коэ-ты полинома (ai) на основании преобразованных данных 3. Считать по уравнению Y = 10 ^ (Σ ai·(log10(x))^i) В результате имеем хорошее приближение
как то так... Естественно всё это было автоматизировано с получением единого UDF для всей номограммы
Макрос вставляет данные из txt - в виде крякозябр и выделяет его
Пользователь
Сообщений: Регистрация: 13.02.2019
24.08.2025 15:01:57
Цитата
написал: Нужно чтобы просто текст вставился в ячейки - без каких-либо прочих действий.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:A10000")) Is Nothing Then
Dim Cell
Cell = Target.Value
If IsDate(Cell) Then
If Replace(Cell, "/", ".") = Format(Cell, "dd/mm/yyyy") Then
Exit Sub
End If
End If
MsgBox "Неверная дата" & Cell
End If
End Sub
Код VBA неправильно считает данные
Пользователь
Сообщений: Регистрация: 13.02.2019
23.08.2025 19:21:12
Цитата
написал: чтобы группировки и разделы не пересекались датами
Извините, но у вас такого быть не может. Прям первые две строки - имеют одинаковые/пересекающиеся диапазоны дат, но разные группировки.
ДР (новая), С ДНËМ РОЖДЕНИЯ
Пользователь
Сообщений: Регистрация: 13.02.2019
14.08.2025 08:51:29
Спасибо Приложу все усилия, чтоб это лучшее самое наступило.
Аппроксимация экспериментальных данных функциями с тремя параметрами (коэффициентами)
Пользователь
Сообщений: Регистрация: 13.02.2019
29.07.2025 21:26:32
Это уже давным давно выкладывал тут Ан нет, не прав. С поиском свободного коэф-та не делал. Ну кроме полиномных и им подобных естественно... Впрочем при необходимости я бы это реализовал через модуль "Поиск решения".
Изменено: - 29.07.2025 21:41:39
Макросом менять точку на запятую
Пользователь
Сообщений: Регистрация: 13.02.2019
20.07.2025 13:40:14
sokol92, маленькое дополнение. Т.к. основную боль доставляют не просто пробелы пробелы, а неразрывные пробелы, сжатые пробелы и т.д. то вместо
Код
Selection.Replace " ", "", xlPart
я бы использовал UDF типа такой (не претендую на оптимальность).
Код
Function DataPrep(str As String) As String
Dim ch As String, i As Long
For i = 1 To Len(str)
ch = Mid(str, i, 1)
If ch = "." Then DataPrep = DataPrep & ","
If ch Like "[,0-9]" Then DataPrep = DataPrep & ch
Next i
End Function
Яндекс-таблица, Суммирование ячеек по цвету
Пользователь
Сообщений: Регистрация: 13.02.2019
13.07.2025 12:36:19
Яндекс таблицы это Р7 или OnlyOffice. Ищите решение в соответствующих форумах. Попробуйте в телеграм канале
Построение многоугольника по координатам, Есть точки (от 3 до 500 штук) с определенными координатами X и Y. Нужно по ним построить многоугольник.
Пользователь
Сообщений: Регистрация: 13.02.2019
12.07.2025 11:39:11
aslanbek75, если вам нужно в масштабах, то это к Автокаду и им подобным программам.
Построение многоугольника по координатам, Есть точки (от 3 до 500 штук) с определенными координатами X и Y. Нужно по ним построить многоугольник.
Пользователь
Сообщений: Регистрация: 13.02.2019
10.07.2025 15:57:26
А в чём вопрос то? Решается обычнвм точечным графиком...
Нужно разработать алгоритм ротации товаров между торговыми точками для оптимизации закупок и оборачиваемости товаров
Пользователь
Сообщений: Регистрация: 13.02.2019
28.06.2025 15:35:45
дел...
Изменено: - 28.06.2025 15:36:06
Диаграмма "Таблица" в excel, Помогите найти замену отсутствующей в excel диаграмме "таблица"
Пользователь
Сообщений: Регистрация: 13.02.2019
01.06.2025 00:21:44
Цитата
Нужно каким-то образом в дэшборде разместить таблицу с данными.
Чтобы разместить таблицу внутри графика нужно вставить её как привязанный рисунок.
Цитата
она не устраивает из-за большого объёма данных
А вот это уже Ваши проблемы с выбором что нужно вставить, а что не нужно. Стотыщьмиллионов ячеек в маленький график не влезут
Цитата
В скирншоте лучше исправления делать через фотошоп. Тут форум по Excel
Поддерживаю.
Удаление текста до и после символа одновременно, Нужно оставить часть текста до и после определённого символа
Пользователь
Сообщений: Регистрация: 13.02.2019
11.05.2025 17:24:35
кмк, если "данных много" и они в csv, то смотреть надо в сторону PQ... так и так загружать.
Определение промежуточных данных, Апроксимация, интерполяция и тому подобные шалости с табличными данными.
Пользователь
Сообщений: Регистрация: 13.02.2019
11.05.2025 16:50:10
Интересный, с моей точки зрения, вид номограмм. Номограммы с переломом. Т.е. есть некая функциональная зависимость места резкого изменения характеристики. В качестве примера - простой вариант если искать решение как для обычных номограмм, а именно взять значения до и после и решить через пропорцию, то результат будет ошибочным. Например требуется построить (узнать значение) для Х2 = 3. (изначально заданы кривые при Х2 = 2, 4, 6, . Найдём точку при Х1=10 Х2=3. Искомое между Х2=2 и Х2=4. Здесь и далее для упрощения кусочно линейно интерполирую. Х1=10 Х2=2 => Y = 9 Х1=10 Х2=4 => Y = 6.33 (общий наклонный участок) Через пропорцию Х1=10 Х2=3 => Y = 7.66 Просчитывая другие точки получаем линию Х2 = 3 (красный пунктир) Очевидно что решение не верное-кривая Х2 = 3 должна отходить от общей линии начиная с Х1 = 10.5. Верные значения начинаются для значений с Х1=12, т е. с момента начала отхода кривой Х2=4 от общей линии. Для устранения этого казуса можно разбить номограмму на две: общий участок и отходящие затем для каждой из частей ищем решение (строим две кривые для искомого Х2) И результат будет максимум (в данном случае вогнутого вида номограммы) из двух решений
В качестве примера привёл простой вариант. Существуют более сложные зависимости, которые так же нельзя решать простым способом. В частности эта особенность номограмм характеристик эжекторов и не только. Автоматизацию создания макросов для Г-образных номограмм показывал тут
Построить диаграмму по одному столбцу, а подписать значениями из другого столбца.
Пользователь
Сообщений: Регистрация: 13.02.2019
10.05.2025 17:12:43
Kotyn, 3-й вариант построения - выглядит так же как встроенная воронка, а функционал выше.
Построить диаграмму по одному столбцу, а подписать значениями из другого столбца.
Пользователь
Сообщений: Регистрация: 13.02.2019
10.05.2025 16:53:29
Kotyn, Для такого тапа номограмм (тип воронка) скорее всего не выйдет. Применяйте тип линейчатой номограммы - там можно брать значения из сторонних ячеек
Вычислить формулу из цифр и букв, Преобразовать цифры и буквы в формулу и вычислить результат
Пользователь
Сообщений: Регистрация: 13.02.2019
10.05.2025 13:50:45
Ну я бы писал что то вроде такой UDF -ки...
Код
Public Function pos4itat(txt As String) As Variant
Dim rez As String: rez = ""
Dim i As Long
On Error GoTo ErrHandl
For i = 1 To Len(txt)
simv = Mid(txt, i, 1)
If simv Like "[0-9,x,х,.,*,chr(44)]" Then
If simv = "х" Or simv = "x" Then simv = "*"
If simv = "," Then simv = "."
rez = rez & simv
End If
Next i
pos4itat = Evaluate(rez): Exit Function
ErrHandl: pos4itat = "Ошибка исходных данных."
End Function
Изменено: - 10.05.2025 13:55:14(х и x это две разные х... :))
Безопасность проекта
Пользователь
Сообщений: Регистрация: 13.02.2019
08.05.2025 15:49:02
Ronin71, ну так и задумано. Сие видно сразу (хотя не факт...). Полезут исправлять, исправят и... и остальное (корректировки работы макросов) оставят. А что не правильно стало работать - так тут сразу и не поймёшь, народ успокоился... а как поймут спустя время - так сами в код лезали, вдруг что сами напортачили.
А что "не факт", так листы изначально можно сделать "суперскрытыми" (по умолчанию, и при закрытии файла), и макрос при нормальном процессе работы их переводил в видимый формат. При ненормальном - удалял.
Но опять же - это всё баловство, и мелкие пакости. Если заказ - то 100% предоплата. Или договор, если сумма значима. Иначе - спасибо, приходите ещё. ПыСы может я и не прав.
Изменено: - 08.05.2025 15:53:59
Безопасность проекта
Пользователь
Сообщений: Регистрация: 13.02.2019
08.05.2025 14:11:48
Ronin71, ну тема не нова... Однако 1. Чтобы макрос сам удалил модули нужны определённые права на машине где файл запущен, если я правильно помню. 2. Если есть возможность запустить/открыть без выполнения макросов (а открывать можно и не в МSO), то при наличии опыта и желания можно "вылечить" зловредность.
Для себя понял что сделать коммерческий продукт с возможностью лицензий и т.д. фактически не реально (либо трудозатраты на защиту будут выше чем на сам проект собственно).
А так... В качестве "пакости" можно: 1. Корректировка результатов работы программы. Уж в языке М замена пары символов может привести к очень интересным результатам... 2. Несохранение результата, или сохранение с корректировкой рандомной. Либо заменой всех (или не всех...) формул на листах на значения...
Опять же - это лечится, но ... но "работает не верно" совсем не то же что "не работает".
Впрочем это не более чем мысли в слух, ибо разработкой проектов на заказ не занимаюсь. Хотя свои наработки по работе стал таким макаром шифровать, а то поток "временных" работников велик, и не хочу раздавать своё в сторонние организации. Как сделать - показываю. Хотят сделать сами - ноу проблем. Иначе через некоторое время получают что то вроде этого
Р7 офис, Импортозамещение аналог excel
Пользователь
Сообщений: Регистрация: 13.02.2019
01.05.2025 23:49:14
bigorq, а причём тут LO, если тема про Р7 и онлиофис? Причём было явно прописано в каких редакторах проблема.
Р7 офис, Импортозамещение аналог excel
Пользователь
Сообщений: Регистрация: 13.02.2019
01.05.2025 21:55:06
bigorq, это где так? Под виндой и у Р7 и у ОО интерфейс иной, и не даёт поставить третий знак.
Упд а вот так 7 работает с расчётом полиномов. Линия тренда? Не, не слышали... (файл один и тот же, поочерёдно открыт в трёх редакторах)
Изменено: - 01.05.2025 22:07:22
Р7 офис, Импортозамещение аналог excel
Пользователь
Сообщений: Регистрация: 13.02.2019
01.05.2025 20:13:48
Глянул старый косяк - неадекватность работы с графиками (что в Р7 что в ОО) Кто хочет - может проверить. Исходные данные на листе. График точечный 1. Шкала в настройках не соответствует шкале графика 2. Никаким боком не выйдет поставить шкалу с третьим знаком после запятой (например 0.011...)
Т.к. я много работаю с номограммами мне это очень важно. Про сие писал более года назад на почту Р7 и... и всё как было.
Р7 офис, Импортозамещение аналог excel
Пользователь
Сообщений: Регистрация: 13.02.2019
01.05.2025 17:25:50
sokol92, если послушать доклад, что по ссылке выше, или почитать чат в телеге, то выяснится что не в этом трабла. Основная проблема что поведение меняется в зависимости от версии Р7. Т.е. "раньше при вставке преобразовывалось в дату, теперь в текст " (с). Что будет потом никто не скажет.
ПыСы ставить себе несколько версий Р7 и отслеживать что где как, являясь по сути бетатестером за свои деньги, желания нет. И я с ужасом жду обязания перехода на это поделие.
Как нарисовать кривую линию над рядом данных в диаграмме эксель, нарисовать кривую линию над рядом данных в диаграмме эксель
Пользователь
Сообщений: Регистрация: 13.02.2019
03.04.2025 14:12:53
Уважаемые, рисуют с помощью средств рисования (вставка - фигуры). /ирония
Линия тренда. Настройка степенной аппроксимации. Как изменить степень в уравнении?, Нужно изменить степень уравнения, чтобы коэффициент перед был не ноль.
Пользователь
Сообщений: Регистрация: 13.02.2019
02.04.2025 14:37:48
Цитата
написал: Конечно из-за полученных величин проверить корректность напрямую в эксель невозможно, но принцип простой - от степенной функции перешли к линейной, для которой определили методом минимума среднего квадрата ошибки параметры, потом вернулись к степенной функции
почему невозможно? Берем любые адекватные данные и проверяем. Это так и делается -приводим к линейному виду и решаем
Линия тренда. Настройка степенной аппроксимации. Как изменить степень в уравнении?, Нужно изменить степень уравнения, чтобы коэффициент перед был не ноль.
Пользователь
Сообщений: Регистрация: 13.02.2019
02.04.2025 13:50:51
ВовавВова, я думаю что нет. Вам скорее всего предстоит сравнить данные при экстраполяции скажем на год.. Попробуйте., поймёте.