Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 След.
Перебор значений для получения результата с двумя знаками после запятой
 
Андрей VG,Спасибо большое за помощь! Я с удовольствием разберусь в предложенном Вами другом решении. Но, боюсь, не на этой задаче.
Этот расчет мне необходимо сделать сегодня до конца дня.
Последние два расчёта (Рязань и Тула) так и не вывелись поиском решения в ровные цифры.
У меня либо компьютер слабенький, либо это действительно долго считается: Решается 150-ти тысячная подзадача а решения всё нет.(((
Перебор значений для получения результата с двумя знаками после запятой
 
Андрей VG, Огромное спасибо! Расчет получился отличный.
Но почему-то к сожалению Ваш метод я не могу применить к оставшимся решениям.
Решения действительно невозможно найти или я опять что-то не так делаю?
Посмотрите, пожалуйста! Я уже умножил значения на 100.
Перебор значений для получения результата с двумя знаками после запятой
 
Андрей VG,А можно скриншот настроек поиска решения?

Просто Вы в решении умножили всё на 1000, а не на 100, вот я и спросил. Поэтому и вылезает третий знак после запятой.
Перебор значений для получения результата с двумя знаками после запятой
 
Цитата
Андрей VG написал: А ещё вы числа цифрами называете
Это как бы пример)
Я не совсем понял Ваше решение. Вы тысячи сделали миллионами. А дальше что?
И как Вы это решение получили?

Цена за 1 метр, цена за месяц и сумма итого не должны быть более 2 знаков после запятой.
Перебор значений для получения результата с двумя знаками после запятой
 
Доброе утро, друзья!

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

Неизменными являются количество метров и итоговая сумма по всей спецификации. Есть примерная цена за 1 метр. (выделена желтым). Меняя ее необходимо добиться, чтобы получающиеся значения за месяц и итого по строке были до 2 знаков после запятой без применения формул округления. А также сумма всех итогов строк должна совпадать с требуемым значением.
Ручной перебор утомителен и пока не приносит результатов.
Применение функции "Поиск решения" также не принесло успеха (либо я не умею ей пользоваться), так как она не округляет значения до 2 знаков после запятой и ищет только по одной строке.

Прошу помочь!
Построчный подитог по условию
 
Юрий,респект! Я сделаю даже без допстолбца, просто буду вносить зачисление сразу со знаком минус и всё работает как надо!
Такое не очень сложное решение, и я не догадался о нём! СПАСИБО!
Построчный подитог по условию
 
Цитата
Mershik написал:
можете не показывать свою формулу, а просто руками посчитать(на калькуляторе или в уме, только правильно) и подставить в таблицу ответы что должно получится?
Да, пожалуйста! Выделены фиолетовым.
Ваш пример к сожалению не совсем понятен и не сработал при вставке его в H4
Макрос вставки гиперссылки на текст в ячейке
 
МатросНаЗебре, Огромное спасибо! Всё работает!
Макрос вставки гиперссылки на текст в ячейке
 
Здравствуйте!
Когда-то давно в сети нашел макрос вставки гиперссылки в ячейку
Цитата
Function GetFilePath(Optional ByVal Title As String = "Выберите файл Контракта", _
                    Optional ByVal InitialPath As String = "C:\", _
                    Optional ByVal FilterDescription As String = "Документы Adobe", _
                    Optional ByVal FilterExtention As String = "*.pdf*") As String
   ' функция выводит диалоговое окно выбора файла с заголовком Title,
   ' начиная обзор диска с папки InitialPath
   ' возвращает полный путь к выбранному файлу, или пустую строку в случае отказа от выбора
   ' для фильтра можно указать описание и расширение выбираемых файлов
   On Error Resume Next
   With Application.FileDialog(msoFileDialogOpen)
       .ButtonName = "Выбрать": .Title = Title: .InitialFileName = InitialPath
       .Filters.Clear: .Filters.Add FilterDescription, FilterExtention
       If .Show <> -1 Then Exit Function
       GetFilePath = .SelectedItems(1): PS = Application.PathSeparator
   End With
End Function

Private Sub ФГиперссылка_на_файл()
   ИмяФайла = GetFilePath ' запрашиваем имя файла
   If ИмяФайла = Empty Then
       Cont = Application.InputBox("Введите номер Контракта")
       If Cont Then Selection.Value = Cont
   Else
       Selection.Value = Replace(Replace( _
                           "=HYPERLINK(""ИмяФ"",""№конт"")" _
                           , "ИмяФ", ИмяФайла) _
                           , "№конт", Application.InputBox("Введите номер Контракта"))
   End If
End Sub
Данный макрос позволяет выдать окно выбора файла, после чего выдает окно ввода текста в ячейку, на который будет установлена гиперссылка на выбранный ранее файл.
Отличный макрос, респект его автору.
Я успешно использовал данный макрос до тех пор, пока номера контрактов содержали только цифры.
При необходимости ввести просто текст без гиперссылки, просто нажимаю отмену выбора файла и в следующем окне пишу текст.

При попытке ввести номер договора, содержащий буквы или символы, выдает ошибку Run-time error '13' Type mismatch и при нажатии на дебаг выделяет слова
Цитата
If Cont Then
Подскажите, что не так с этой строкой? Как сделать, чтобы можно было вводить не только цифры, но и текст типа 123-АБ/233-19
Построчный подитог по условию
 
Цитата
vikttur написал:
Непонятно, как должны быть связаны в формуле эти рынки...=ЕСЛИ(G3="Основной";ЕСЛИ(C3="Зачисление";H2+F3;H2-F3);555)555 - здесь условия для Дополнительного. Если Н2 фигурирует во всех вычислениях, ссылку можно записать перед ЕСЛИ:=H2+ЕСЛИ(...
Н2 не фигурирует во всех вычислениях, а просто как предыдущий остаток по конкретному рынку. Всё бы прекрасно, формула работает до момента, пока не поменяется рынок.
Получается происходит вычисление от остатка в предыдущей строке, а как только в предыдущей строке оказывается другой рынок, то надо находить ближайшую строку с нужным рынком и минусовать уже от нее.

Грубо говоря, нужно вот так:
=ЕСЛИ(G3="Основной";ЕСЛИ(C3="Зачисление";H2(предыдущий остаток по основному рынку)+F3;H2(предыдущий остаток по основному рынку)-F3);ЕСЛИ(G3="Дополнительный";ЕСЛИ(C3="Зачисление";H2(предыдущий остаток по дополнительному рынку)+F3;H2(предыдущий остаток по дополнительному рынку-F3)))
То есть никак не соображу, как находить последнюю строку с остатком по конкретному рынку...
Сумбурно написал, надеюсь понятно.
Также упростил пример, посмотрите пожалуйста!
Сводные таблицы не очень уместны в данном случае.
Построчный подитог по условию
 
Здравствуйте уважаемые форумчане!
Понадобилось мне сделать табличку со следующими данными:

Есть два рынка, на каждом рынке есть своя сумма денежных средств, так называемый баланс.
Ежедневно происходят движения товаров и хотелось бы получать по итогам каждого дня автоматически вычисленную сумму денежных средств на остатке конкретного рынка.
Я состряпал формулу с условиями ЕСЛИ и И, но мне кажется, я копаю не в том направлении.
Код
=ЕСЛИ(И(G3="Основной";C3="Покупка");H2-F3;(ЕСЛИ(И(G3="Основной";C3="Продажа");
H2-F3;(ЕСЛИ(И(G3="Основной";C3="Зачисление");H2+F3;(ЕСЛИ(И(G3="Основной";C3="Списание");H2-F3;)))))))

Эта формула работает, только если есть один рынок.Подробнее в примере во вложении (столбец с формулами выделен красным текстом)
Прошу помочь!
Подтягивание к идентификатору значений с другого листа с подменой данных
 
vikttur, спасибо за изменение темы!

Цитата
Mershik написал:
добавлен лист перечень.
То, что нужно! Благодарю Вас!

Извиняюсь, если кого обидел.
Всех с праздниками! Успехов и процветания этому форуму!
Подтягивание к идентификатору значений с другого листа с подменой данных
 
Цитата
Юрий М написал:
И сразу понятна проблема?
Мне кажется, что Вы придираетесь.
Я же написал, что не знаю, как более точно описать проблему тремя-четырьмя словами, чтобы изложить ее в теме.
Я указал тему на мой взгляд близкую к моей проблеме.
Может Вас устроит, например, такое название темы "Подтягивание значений с другого листа с подменой данных" ?
Я всегда считал это сообщество самым дружелюбным и отзывчивым. И я сам с уважением отношусь ко всем форумчанам.
Не разрушайте во мне веру в вас :) Я и так стараюсь максимально подробно расписывать проблему с обязательным приложением примера по правилам форума.

Mershik, спасибо, я пытаюсь так сделать. Но проблема в том, что я ввожу на сводном листе только идентификатор и у меня в таблицу подтягивается множество данных из этой строки и в одну из ячеек мне подтянется ячейка с текстом "Кемеровская область".
Допустим я сделаю на отдельном листе список соответствий и как мне соотнести значение именно в этой ячейке вместо "Кемеровская область" со значением "Кемерово" я не понимаю. Сможете показать на моем примере вашу реализацию? Буду признателен.
Подтягивание к идентификатору значений с другого листа с подменой данных
 
Цитата
vikttur написал:
Получается, что Вы хотите видеть решение только с этими функциям
Неправильно получается. Я жду любой помощи в решении данной задачи...
Если Вы можете - исправьте пожалуйста название темы, например на "Замена одного значения другим"
Я не знаю, как точнее описать данную задачу.
Изменено: Александр Иванов - 10 Янв 2019 12:17:45
Подтягивание к идентификатору значений с другого листа с подменой данных
 
Цитата
IKor написал:
Вероятно можно накрутить сложную формулу, но КМК в данном случае правильно (и наглядно!) будет сделать доп. столбец с необходимыми заменами Москва => Москва;МО => Москва;Можно "спрятать" его справа от таблицы;
Вот это то я и не могу сообразить как сделать. Пытаться через ЕСЛИ - не получается, слишком много значений.
Цитата
IKor написал:
либо же через подстановку (Ctrl+F) просто заменить прямо в столбце O все ненужные области их столицами (если они не требуются для другого)
Они не требуются для другого, но эти данные - эталон, взятые из другого источника и их менять нельзя.
Цитата
_Igor_61 написал:
может появиться к примеру "МоСкоВская Область" или "Московскаяобласть"
Исключено, так как туда данные попадают исключительно через формы, просто их так выбирают, то город, то область...
Подтягивание к идентификатору значений с другого листа с подменой данных
 
Цитата
artyrH написал:
почему в названии темы, вместо крайних справа трех слов, все семь словкстати из перечисленных четырех функций в названии темы есть нужная вам
А что с темой не так? Я указал функции, которые я использую и которые могут вытянуть нужные данные.
Буду признателен, если вы поможете правильно составить формулу. Не могу сообразить.
Подтягивание к идентификатору значений с другого листа с подменой данных
 
Добрый день, уважаемые форумчане.
Столкнулся со следующей проблемой подтягивания данных с другого листа:
Имеется лист с огромным количеством строк с данными (в примере лист называется План закупки).
В каждой строке есть уникальный номер-идентификатор строки (в примере колонка F "№ позиции плана")
По этому идентификатору я на другом листе (в примере лист ЗАКУПКИ) в общую табличку стягиваю некоторые данные по формуле:
Код
 =ЕСЛИ(ЕПУСТО(ЕСЛИОШИБКА(ИНДЕКС('План закупки'!$A$24:$AT$27;ПОИСКПОЗ(ЗАКУПКИ!$B5;'План закупки'!$F$24:$F$27;0);15);""));"";ЕСЛИОШИБКА(ИНДЕКС('План закупки'!$A$24:$AT$27;ПОИСКПОЗ(ЗАКУПКИ!$B5;'План закупки'!$F$24:$F$27;0);15);""))

Всё отлично ищется и находится, но на исходном листе данных (План закупки) есть колонка О с регионами вида:
Москва
Московская область
Калуга
Калуга
Калужская область
и т.д. (областной город и область забиты отдельно)

В сводном листе (ЗАКУПКИ) мне не нужна разбивка на город-область, а необходимо, чтобы указывался только областной город (Москва, Калуга, Киров и т.д.)
То есть мне нужно, чтобы при обращении вышеуказанной формулой к строке с регионом Московская область, мне был выдан ответ Москва.
Переделывать данные в исходном листе не вариант, так как данные постоянно обновляются из внешнего источника.

Подозреваю, что решение где то рядом, но после праздников сообразить никак не могу...
Помогите, пожалуйста!
Краткий пример с удаленными личными данными во вложении.
Вставка формулы с ГИПЕРССЫЛКА макросом
 
Sanja, Благодарю!
Всё получилось!
Вставка формулы с ГИПЕРССЫЛКА макросом
 
Немного доработал файл и теперь запутался в условиях If
При запуске макроса в выделенной ячейке записывается информация в виде гиперссылки в случае, если выбран файл.
Если вместо выбора файла нажать отмену - я добавил возможность указания номера контракта без гиперссылки.
А вот если нажать отмена при указании текста в Application.InputBox , то происходит замена информации в выделенной ячейке на слово ЛОЖЬ
Это необходимо например в случае, если по ошибке выделил ячейку с уже имеющейся информацией, в этом случае она стирается.
А как сделать чтобы при отмене Application.InputBox ничего не происходило, была отмена любого ввода информации?
Немного сумбурно написал - пример во вложении.
Вставка формулы с ГИПЕРССЫЛКА макросом
 
Казанский,Спасибо добрый человек!
Всё получилось, гиперссылка вставилась и работает!
Вставка формулы с ГИПЕРССЫЛКА макросом
 
Цитата
Казанский написал:
Кстати, почему Вы создаете гиперссылку с помощью функции,а не через Ctrl+K, т.е. Activesheet.Hyperlinks.Add...?
Если вы про вставку гиперссылки через контекстное меню правой кнопки мыши, то эти гиперссылки постоянно слетают при работе несколькими пользователями с файлом по сети. Поэтому я решил переделать всё через функцию ГИПЕРССЫЛКА.
Вставка формулы с ГИПЕРССЫЛКА макросом
 
Цитата
Казанский написал:
Спросите у самогО VBA: вручную вставьте в ячейку например А1 функцию ГИПЕРССЫЛКА, потом в окне Immediate "спросите"
=HYPERLINK("C:\Users\1\Desktop\БЗ\ДС №1 Лидер ООО.pdf",ДС1)
Я пробовал писал по английски название функции и точку с запятой менял на запятую - это не избавляло меня от ошибки 1004
Цитата
Казанский написал:
Кавычки внутри строки надо удваивать.
Код
Selection.Formula = "=HYPERLINK("" & ИмяФайла & ""," & Application.InputBox("Введите номер Контракта") & ")"
Так тоже не работает. ИмяФайла не срабатывает.

Цитата
Казанский написал:
Кстати, почему Вы создаете гиперссылку с помощью функции,а не через Ctrl+K, т.е. Activesheet.Hyperlinks.Add...?
Это как? Я совсем не силен в VBA. Подскажите как правильно написать, буду очень благодарен!
Вставка формулы с ГИПЕРССЫЛКА макросом
 
Добрый вечер!
Пытаюсь сделать формулу ГИПЕРССЫЛКА более удобной, с возможностью выбирать путь к файлу на диске.
Код
Function GetFilePath(Optional ByVal Title As String = "Выберите файл Контракта", _
                     Optional ByVal InitialPath As String = "C:\", _
                     Optional ByVal FilterDescription As String = "Документы Adobe", _
                     Optional ByVal FilterExtention As String = "*.pdf*") As String
    ' функция выводит диалоговое окно выбора файла с заголовком Title,
    ' начиная обзор диска с папки InitialPath
    ' возвращает полный путь к выбранному файлу, или пустую строку в случае отказа от выбора
    ' для фильтра можно указать описание и расширение выбираемых файлов
    On Error Resume Next
    With Application.FileDialog(msoFileDialogOpen)
        .ButtonName = "Выбрать": .Title = Title: .InitialFileName = InitialPath
        .Filters.Clear: .Filters.Add FilterDescription, FilterExtention
        If .Show <> -1 Then Exit Function
        GetFilePath = .SelectedItems(1): PS = Application.PathSeparator
    End With
End Function
 
Sub Гиперссылка_на_файл()
    ИмяФайла = GetFilePath ' запрашиваем имя файла
    If ИмяФайла = "" Then Exit Sub    ' выход, если пользователь отказался от выбора файла
 Selection.Formula = "=ГИПЕРССЫЛКА(" & ИмяФайла & ";" & Application.InputBox("Введите номер Контракта") & ")"
End Sub
При выполнении кода выпадает ошибка 1004. Что-то не так с синтаксисом самой формулы при выводе в ячейку (предпоследняя строка кода).
Если убрать знак = перед ГИПЕРССЫЛКА, то формула вставляется в виде текста в ячейку.

И вторая проблема: не пойму как переменную имяфайла заключить в кавычки (как это и должно быть в формуле)
Макрос выбора пути к файлу для формулы ГИПЕРССЫЛКА
 
Цитата
Sanja написал:
Ну значит ни один адрес гиперссылки у вас НЕ Like oldString & "*"
До сего момента ссылки чинились. Сейчас файл отправлялся по почте потом вернули на место.
Я не силен в VBA, только начинаю разбираться.

Но всё же думаю более правильно все ссылки переделать на ГИПЕРССЫЛКА.
Но добавление новых позиций введет всех пользователей в затруднение, так как нет возможности выбрать в проводнике нужный контракт, чтобы сделать на него гиперссылку. Как бы вот это реализовать?
Макрос выбора пути к файлу для формулы ГИПЕРССЫЛКА
 
Цитата
Sanja написал:
Удалите из кода On Error Resume Next и найдете ошибку. По крайней мере строку с ошибкой
Удаляю, запускаю - ничего не происходит. Ссылки не заменяются, ошибок не выдается.
Макрос выбора пути к файлу для формулы ГИПЕРССЫЛКА
 
Добрый день, уважаемые форумчане! Требуется ваша помощь.

Есть реестр учета контрактов объемом более 1000 строк. Для удобства сделаны гиперссылки к самим договорам.
Договора находятся в сетевой папке. Адрес к ним получается типа: \\192.168.1.200\Обмен\Договор.xlsx
Ссылки делаются через контекстное меню: ПКМ - Гиперссылка - выбор пути к файлу
При случайном перемещении реестра и возврате обратно ломаются гиперссылки к файлу. Так как пользуются данной таблицей несколько сотрудников, я устал уже чинить гиперссылки и никто не признается кто сломал.

До сего момента я чинил ссылки найденным здесь макросом:
Код
Sub ЗаменаИспорченныхГиперссылок()
    On Error Resume Next
    Dim hl As Hyperlink, oldString As String, newString As String, sh As Worksheet
    ' часть гиперссылки, подлежащая замене
    oldString = "\\192.168.0.200\Users\User\AppData\Roaming\Microsoft"
    ' на что заменяем
    newString = "\\192.168.0.200\обмен"
    For Each sh In ActiveWorkbook.Worksheets    ' перебираем все листы в активной книге
        For Each hl In sh.Hyperlinks    ' перебираем все гиперссылки на листе
            If hl.Address Like oldString & "*" Then
                hl.Address = Replace(hl.Address, oldString, newString)
            End If
        Next
    Next sh
End Sub

Сейчас данный код почему-то перестал работать. Кстати, почему? Ошибку не найду.

Появилась мысль переделать все гиперссылки из контекстного меню в функцию ГИПЕРССЫЛКА, чтобы можно было в случае чего менять пути путем автозамены части текста в формуле.
Но в эту формулу путь к файлу необходимо будет прописывать вручную, что проблематично для некоторых пользователей.
Как бы реализовать кнопку выбора файла в проводнике для функции ГИПЕРССЫЛКА?
Во вложении пример файла.
Подбор цены под определенную сумму
 
Цитата
JayBhagavan написал: 0,002% отклонение
Не, я имел в виду отклонение не итоговой суммы, а цены одной позиции от другой. Не обязательно они должны быть по одинаковой цене. Одна может стоить 42,24, другая 41,3 например.
Итоговая сумма должна быть неизменна.
Подбор цены под определенную сумму
 
Здравствуйте, друзья!
При проведении аукциона выигравшим участником была установлена определенная сумма контракта.
Исходя из этой суммы необходимо рассчитать цену за единицу товара, разделив ее на фиксированное количество.
Это не всегда получается корректно, так как бывает количество знаков получается после запятой более 2-х.
Помогите, пожалуйста, формулой или макросом подбора цены за единицу товара, чтобы умножив ее на кол-во получалась выигранная сумма.
Реальный пример во вложении (предел отклонения цены например не более 10%, чтобы не получилось что один товар стоит рубль, а другой 500 рублей.)
Благодарю!
Определение значения по определенным параметрам с другого листа
 
Catboyun,круто, я бы такую формулу точно не осилил самостоятельно.
А что значит 9^9?
Определение значения по определенным параметрам с другого листа
 
Добрый день!
Мне необходимо формировать несколько разных документов с одинаковыми значениями.
Мне надоело копировать-вставлять в разные книги и я решил сделать всё в одной книге, подтягивая данные с одного источника.
В вкладке "Подбор цен и ссылок" я забиваю цены и ссылки на предложения.
В вкладке "Цена" мне нужно формировать отчет определенного вида с теми же данными, что и в предыдущей вкладке.
Помогите, пожалуйста, с формулой, которая определит требуемое значение на вкладке "Подбор цен и ссылок" и перенесет его на лист "Цена".
В примере я выделил желтым.
Спасибо!
Страницы: 1 2 3 След.
Наверх