StepanWolkoff, Андрей VG, Спасибо, ГУРУ, а то я совсем отчаялся. я так понимаю, что EARLIER ссылается на предыдущую строчку, как сослаться на текущую? на будущее)
И возможно ли вообще в формулах, заданных в вычисляемых колонках с помощью DAX, задавать контексты из текущих строк? Методом ненаучных тыков я понял, что могу фильтровать значения с помощью ALLEXCEPT, но как задать условие вроде "меньше или равно"
Добрый день Тема не нова, но ни один из найденных в сети вариантов реализовать не смог. Требуется посчитать количество получателей по коду в данном месяце, думаю в примере все наглядно. Мечтаю о формуле с ссылками вида А:А, B:B, так как диапазон динамический и не хочу мучаться со смещ().
Не знаю, что за магия была сконцентрирована в тех кавычках
Цитата
what:=d & ""
но оно заработало!!!! Лучи добра, вам , Doober!
The_Prist, 1. как ловить ошибки в функции? с макросом то оно понятно) 2. эта чудо-конструкция должна проверять не выбежали ли мы цикличискими offset`ами из нужной даты в другую, теперь не нужна, согласен 3. это чудо также пережиток прошлых экспериментов 4. наследие безудержного и безумного макрорекордирования
Спасибо за поправки, буду внимательнее и аккуратнее. приклеиваю волосы обратно.
Добрый день, эксперты Моя первая UDF оказалась довольно сложной... для начала написал макрос, он работает, потом узнал что в функции нельзя использовать, к примеру, select и activate и прочее, все переделал, но результат по-прежнему "ЗНАЧ", посмотрите, кому не трудно, что я делаю не так. Писанины конечно очень много, но уже волосы на голове закончились - все вырвал, и не знаю куда идти дальше. Или покажите на статью, где перечислено что точно нельзя использовать в UDF.
Код
Function countshit(d As Date, n As String, kol As Integer) As Single
'(d As Date, n As String,kol as double)
' Макрос1 Макрос
' Сочетание клавиш: Ctrl+t
Dim q(100) As Single
Dim tov(100) As String
Dim col(100) As Integer
Dim r As Integer
Dim V(100) As Single
Dim sum As Single
Dim iRange As Range
Dim m(100) As Single
Dim s As Single
'ищем дату на листе производства
Set iRange = Sheets("Производство").Cells.Find(what:=d, LookIn:=xlValues, lookat:=xlPart)
'собираем имена и количество выпущенных продуктов
For i = 1 To kol
If iRange = d Then
Set iRange = iRange.Offset(0, 1)
tov(i) = iRange
Set iRange = iRange.Offset(0, 1)
q(i) = iRange
Set iRange = iRange.Offset(1, -2)
Else: i = kol
End If
Next i
'ищем имена товаров в спецификации, собираем номера их столбцом
For i = 1 To kol
Set iRange = Sheets("спецификация").Cells.Find(what:=tov(i), LookIn:=xlValues, lookat:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False)
col(i) = iRange.Column
Next i
'ищем имя сырья и собираем номер его столбца
Set iRange = Sheets("спецификация").Cells.Find(what:=n, After:=ActiveCell, LookIn:=xlValues, lookat:= _
xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False)
r = iRange.Row
'перемножаем количество на норму
For i = 1 To kol
m(i) = Sheets("спецификация").Cells(r, col(i))
V(i) = m(i) * q(i)
Next i
'складываем произведения
For i = 1 To kol
s = s + V(i)
Next i
countshit = s
End Function
не прошу разбирать мой быдло-код с десятками поисков, там кромешный ад просто скажите почему данные на лист стоимости вставляются либо с игнором запятой, либо как текст
Добрый день! Создаю переменные, String, c1,c2 и c3, например
С помощью кода типа c1 = ActiveCell Присваиваю переменным значения ячеек,
Затем, с помощью ActiveSheet.Cells(r1, col) = c1 Вставляю значения в нужные ячейки и происходит неприятное: то 3,294 превращаются в 3294, то числа вставляются как текст.
Поигрался с Power Pivot в excel 2016. потом удалил несколько листов на которые ссылается модель данных. В результате не могу зайти в модель данных, получаю ошибку "не удалось получить данные из модели данных. Мы получили следующее сообщение об ошибке: ссылка на объект не указывает на экземпляр объекта" потом "PowerPivot не удалось загрузить модель данных"
и такая чушь возникает при каждом нажатии на данные-> Обновить все. как хотя бы отключить этот powerpivot?
маленькие платежи суммируются. теперь могу посчитать длительности просрочек. Используя суммы в качестве весов, посчитать среднюю длительность просрочки, использовать ее для оценки работы менеджера, занимающегося тем или иным заказчиком.
спасибо Vik_tor. решил свою проблему следующей формулой (писал на живом файле, а не примере): {=НАИМЕНЬШИЙ(ЕСЛИ(платежи!$B$2:$B$30=[@Заказчик];ЕСЛИ(платежи!$D$2:$D$30>=[@Дебет];платежи!$A$2:$D$30;"");"");1)} двумя ЕСЛИ отбираем записи на странице с платежами на соответствие контрагенту и превышение одной суммы над другой, а НАИМЕНЬШИЙ выбирает первую дату такого превышения
я бы и рад, но, как правило, в каждом заказе по большому ассортименту продуктов, а оплата происходит по договору, а не конкретной спецификации. Хочу перед началом года модернизировать наименьшими жертвами имеющийся файл учета.
Добрый день, есть два листа: с заявками и платежами, как правило они не совпадают по размерам, хочу чтобы к заявке подтягивалась дата оплаты для этого добавил столбцы с суммами оплат и заказов для контрагентов прочитал, что если в поискпоз() указать тип сопоставления -1, то можно получить примерно то, что я хочу. Однако пока не выходит каменный цветок.