Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
[ Закрыто] Реализация итеративного исчисления массива формул с контролем решения
 
Добрый день.

...

По теме.
Есть массив из 10 000 строк.
В каком-то столбце есть коэффициенты для расчётов для первой итерации Ню=1 для всех строк.
Далее по ню=1 считается 3 столбца итогом расчётов становится тоже ню=разное1.

Далее по ню=разное считаются по тем же формулам то же самое ню=разное2.

Получаются итерации для каждой строки, но все строки взаимозависимы.
Для сходимости нужно примерно до 100 итераций.
Можно реализовать и без макросов, конечно, просто продолжая итерации направо в новых ячейках, но для 10 000 строк и 100 итераций по 5 вычислений это будет гибель компьютера.


Что нужно от VB.

Думаю это проще реализовать так.
В первом столбце ню1=1. Справа считается первая итерация формул получается ню2=разное1. Далее считается вторая итерация с ню3=разное2.
Далее VB должен скопировать столбец значений ню3 на место ню2 (заменяя формулы идущие из предыдущей итерации слева).
При этом эта замена должна происходить до расчёта новой итерации. То есть обязательно должен поменяться весь столбец ню2, а уже потом начинаться следующие вычисления.
Далее следует итерация вычислений и повторение итераций N раз до тех пор пока результат не сойдётся с нужной точностью Х%.
То есть что-то такое для каждой строки:
ню1=1 ...  формулы-формулы  ...   ню2="результат формул"  ...  формулы-формулы ... ню3="результат формул"  (далее копируем значения ню3 -->ню2 заданное количество раз возможно вручную глазами проверяя критерий сходимости)

На конкурирующем форуме екселя нашёл пример макроса для копирования значений из одной ячейки в другую (https://programmersforum.ru/showthread.php?t=151534)
Код:
Sub Макрос2()
   [a1].Copy
   [b1].PasteSpecial Paste:=xlPasteValues
   Application.CutCopyMode = False
End Sub

Я могу порыться и найти как повесить на кнопку эту операцию. Я могу порыться и найти или догадаться как копировать массивы ячеек.

При этом остальное я не понимаю и не знаю как реализовать.
То есть на момент копирования значений Ексель не должен вычислять формулы (чтобы скопировались верные Ню3) или же само копирование должно происходить как-то за один раз из какого-то буфера обмена. Вообще не представляю что говорю, но как-то так.
Также не знаю как реализовать ячейку со счётчиком.
Также после всех вычислений, как-то придётся воротать обратно формулы в значения ню2 для новых будущих расчётов.

Пожалуйста, помогите.

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


Поиск решения.

Согласно https://vremya-ne-zhdet.ru/vba-excel/tsikly/
https://vremya-ne-zhdet.ru/vba-excel/tsikl-for-next/

Существует цикл For-Next
For счетчик = начало To конец [ Step шаг ]
   [ операторы ]
   [ Exit For ]
   [ операторы ]
Next [ счетчик ]
Изменено: Tyhig - 24.05.2020 22:59:18
Какие вы тут все молодцы ! ^__^
 
Хочу поблагодарить коллектив форума. Спасибо, что отвечали мне много раз.
Сейчас у меня была проблема из-за моей невнимательности, но её уже успешно решил сам.
А вам спасибо за то, что вы есть. Всем лучи добра !
^__^
Критерии При переименовании файла содержащего и источник данных и сводные таблицы с него - слетает источник данных
 
Добрый день.

Ексель 2016
Мне запрещено скидывать файлы в интернет.
Файл старой версии тут
https://dwg.ru/dnl/14724

В ексель есть известная проблема сводных таблиц. При переименовании файла содержащего и источник данных и  сводные таблицы с него - слетает источник данных (адрес в источнике данных дополняется старым именем файла).
Судя по тому, что прочитал в 2013 формате изменили источник данных для сводных таблиц и добавили МОДЕЛЬ для многих источников данных. Ранее сводные таблицы использовали в качестве источника данных некий КЭШ, а теперь некий ПИВОТ ????. И, судя по всему, с этим пришла данная проблема.
Также возможно это происходит из-за галочки Параметры файла - Дополнительно - При пересчёте этой книги - Обновить ссылки на другие документы. Например в моих проблемных файлах эта галочка не снимается (снимается, но потом смотрю снова есть). А может быть и нет.
Если правильно понял, то решения данной проблемы пока нет.

Предложение не переименовывать файл, а "сохранять его как" не помогает.

Сделал сложный файл (который, к сожалению, не могу скинуть на форум) со многими сводными таблицами (использовал модель данных, много сводных таблиц и они ссылаются сами на себя и т.п.), в котором проявилась эта проблема (в который раз с ней сталкиваюсь на многих компьютерах, виндоусах и екселях 2013-2016). Также при переименовании файла появляется "Активное содержимое".

Далее поэкспериментировал с простыми файлами с парой строк и сводными таблицами. Потом менял название файла.  И не смог воспроизвести проблему !

И теперь не понимаю критерия, как ексель решает когда надо изменять путь к источнику данных, а когда не надо.
Подскажите, пожалуйста, логику или критерий ?
Когда ещё можно, а когда уже ошибка происходит и путь меняется.

Ранее решал проблему "Не переименовывал файл ексель". Но это дико неудобно. :(
В интернете советуют использовать макросы для автозамены источников данных. Это самый крайний способ,  к которому не хотелось бы прибегать.
Есть малая надежда соблюсти все рамки приличия, чтобы при переименовании файла ексель не ругался.
Помогите, пожалуйста.
Изменено: Tyhig - 30.01.2019 17:56:13
Excel 2016, при изменении имени файла сводные таблицы изменяют адрес исходных данных
 
Добрый день.

Excel 2016
При изменении имени файла существующие сводные таблицы изменяют адрес исходных данных с 'Лист1...' на '[старое имя файла]Лист1...'
Потом приходится всем сводным таблицам в файле стирать это старое имя файла.
Пересмотрел все параметры, ничего подобного не нашёл.
Это фишка именно екселя 2016. Дома стоит лицензия 2013-2014, там всё пучком. До этого ексели тоже такого не делали.

Можно ли как-то обойтись малой кровью и снять где-нибудь галочку ?
Или чего лучше делать ?
Обновлять ексель не вариант. По очевидным причинам, а также просто боюсь это делать.
У меня на компе зоопарк разных программ (но каждой по 1 штуке и 1 раз установлена), автокады, ревиты... И так уже оно друг с другом не сильно дружит...
Если только поставить заплатку могу если проблема известна.
Аналог автоподстановки типа Т9 для ексель
 
Добрый день.

Есть лист 1 с таблицей.
Есть лист 2 с набором расценок по названию (допустим "Замена грунта глубиной 0,8 м", "Возведение каркаса" и т.п. >1000 расценок).

При вводе в листе 1 названия, рядом с ним (фильтр по названию) появляются данные из выбранной расценки с листа 2.
При этом в памяти надо держать названия 1000 расценок, чтобы не ошибиться. Или каждый раз лазать в лист 2 смотреть эти названия.

Выбор из выпадающего списка исключается, скрипты и ВБ исключаются.
Примечателен Т9 в андроиде. Хотелось бы что-то подобное реализовать в екселе, может быть в соседнем столбце набор близких названий как подсказку.
Подскажите, пожалуйста, как бы это попроще сделать ?
Excel 2016, пунктир границ ячеек, Внезапно на одном листе екселя часть ячеек получила пунктирные границы
 
Добрый день.

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

Помогите, пожалуйста, убрать пунктир ?
жпег и ексель (лист Ведомость элементов) прилагаю.
Перенос значений сводной таблицы между её строками, а не справа. Ексель 2016
 
Добрый день.

Экспликация помещений, к несчастью, содержит следующие столбцы в таком порядке:
Номер, Название помещения, Площадь кв.м, Категория опасности.
В сводной таблице можно было сделать всё строками, но тогда полезную площадь здания автоматом не посчитать (итоги считаются только для Значений сводной таблицы).
Сделал Площадь "Значением" и она стала показываться справа таблицы. А мне надо внутри, по порядку см. выше.
Можно ли как-нибудь "Значения" отобразить внутри сводной таблицы, между столбцами "Строк" сводной таблицы ?

Понимаю, что можно наделать 2 таблицы, можно сводную сводить из многих и т.п. танцы в бубном. Хотелось бы попроще, одной кнопкой... :)
Выбор из массива (4 столбцовх1000 строк) строк чисел по 4 разным условиям
 
Добрый день.
Прошу помощи по комбинаторике, может быть вопрос не совсем по екселю.
Есть 4 столбца цифр. Каждая строка - группа.
Например, собираю усилия на фундамент здания.
Получаются столбцы (их больше, но нужны эти) :
N (вертикальная сила) ||| Qx (сдвигающая по подошве по х) ||| Qу (сдвигающая по подошве по у) ||| Мz (вращающий момент по вертикальной оси z)
Каждому столбцу соответствуют сочетания усилий, допустим :
1 ; 2 ; 4 ; 6
-10 ; 20 ; 1 ; 0
...
20 ; 1 ; -50; 10
Всего более 1000 сочетаний.

Из всей 1000 сочетаний для дальнейшего расчёта в ексель надо выбрать наиболее опасные для фундамента сочетания по 4 критериям.
N (вертикальная сила минимальна) --> min , а Qx, Qу, Мz --> max.

При этом не могу однозначно сформулировать критерии опасности.
Понятно, что с 4 критериями будет не одно опасное сочетание, а несколько сочетаний. Что неприемлимо. В принципе, ещё могу позволить выбор не одного, а 2-3 сочетаний, но не более 3.
При этом ещё и степень опасности от каждого из усилий разная. И, при этом, мне сложно оценить эту степень важности вклада каждого усилия.

Единственное решение, которое смог придумать сам, (1/N*коэф.вклада+Qx+Qy+Mz)-->max просто очевидно не работает или может дать оплошность в самый неподходящий момент.
Прошу любой помощи.
Подскажите хотя бы идею или направление.

ЗЫ.
С вкладом разных усилий определился.
Примерно такой вклад:
N=49%, Qx=1%, Qy=1%, Мz=49%.
Изменено: Tyhig - 13.01.2016 11:26:27
Главы сводной таблицы
 
Добрый день.
Excel Ексель 2011
Файл представляет собой спецификацию армирования бетона.
В первый лист пишу в произвольном порядке все обрезки арматуры и закладные детали, во втором листе автоматически рожается спецификация.
По сути это сводная таблица без столбцов и итогов, только строки содержащие позицию, диаметр, сталь, количество и т.п. по разным фундаментам Фм1, Фм2 и т.д.

Сводная таблица позволяет реализовать разделение на фундаменты в виде столбцов.
Проблема в том, что по ГОСТ надо сделать именно вертикальным списком с главами.
То есть вертикальный список (нужные главы списка выделены жирным шрифтом):
Фундамент Фм1
Детали
поз. 1 диаметр 12 мм сталь А500С длина 900 мм кол. 10 шт.
...
Изделия
поз.2 Закладная деталь Анкер М20.800 20 шт.
Материалы
бетон В15  20 м3
Фундамент Фм2
Детали
поз. 20 диаметр 16 мм сталь А500С длина 900 мм кол. 11 шт.
...
Изделия
поз.2 Закладная деталь Анкер М20.800 20 шт.
Материалы
бетон В15  210 м3

Придумал реализовать такие главы как отдельные фиктивные элементы арматурины.
Но это предполагает отличного знания когда и чего писать в первом листе исходных данных и по сути его сильно усложняет.
Я через 4 года забуду где чего писать для глав. :(
Можно, конечно, сделать неизменяемую область с заранее забитыми главами на все случаи жизни в конце списка, но так как всегда главы разные и их может и не быть для конкретного фундамента, то это дело сложно в реализации. И это ограничит количество арматурин и фундаментов в файле.

Помогите, пожалуйста.
Подскажите другие варианты создания глав сводной таблицы.

Да. И ещё. У вас отличный форум. Спасибо вам, шо вы есть. :)
Изменено: Tyhig - 12.12.2015 12:42:58
Страницы: 1
Loading...