Здравствуйте. Помогите с формулой. Есть формула которая при заданных параметрах переносит значения из одного журнала в другой. =СУММПРОИЗВ('[Cводный журнал - 2024.xlsx]Jun'!$G:$G;(--('[Cводный журнал - 2024.xlsx]Jun'!$K:$K=$E634))*(--('[Cводный журнал - 2024.xlsx]Jun'!$A:$A="NaOH"&"/2")))
Но когда там же появляется ещё одно значение ,то оно его вставляет,а к предыдущему плюсует. Т.е. если в сводном журнале за определённые сутки появляется два значения NaOH"&"/2 он к первому поставленному ранее плюсует второе,а во втором ставит второе.Я так понимаю это из за суммпроизв, тогда как переделать формулу,что бы она просто переносила значения в одну заданную клетку одно в другую другое от NaOH"&"/2 Ячейка с формулой выделена красным в листе№4
Здравствуйте. Помогите с формулой. Есть формула которая при заданных параметрах переносит значения из одного журнала в другой. =СУММПРОИЗВ('[Cводный журнал - 2024.xlsx]Jun'!$G:$G;(--('[Cводный журнал - 2024.xlsx]Jun'!$K:$K=$E634))*(--('[Cводный журнал - 2024.xlsx]Jun'!$A:$A="NaOH"&"/2")))
Но когда там же появляется ещё одно значение ,то оно его вставляет,а к предыдущему плюсует. Т.е. если в сводном журнале за определённые сутки появляется два значения NaOH"&"/2 он к первому поставленному ранее плюсует второе,а во втором ставит второе.Я так понимаю это из за суммпроизв, тогда как переделать формулу,что бы она просто переносила значения в одну заданную клетку одно в другую другое от NaOH"&"/2 Ячейка с формулой выделена красным в листе№4caind2015
Добрый день. суммпроизв собирает естественно сумму, потому так и названа. Если нужны только сами исходные значения - можно использовать например впр(), но она находит единственное первое значение (или последнее, смотря как использовать). В этом примере добавляйте ещё столбец с меткой смены, и вытягивайте первую или вторую по нему, например как в К дни прописываете. Т.е. вот ту аналогично как проверяете "NaOH/2" ещё проверяйте дату и 1 или 2 - эти данные как раз есть и в таблице, и теперь в сводном.
Добрый день. суммпроизв собирает естественно сумму, потому так и названа. Если нужны только сами исходные значения - можно использовать например впр(), но она находит единственное первое значение (или последнее, смотря как использовать). В этом примере добавляйте ещё столбец с меткой смены, и вытягивайте первую или вторую по нему, например как в К дни прописываете. Т.е. вот ту аналогично как проверяете "NaOH/2" ещё проверяйте дату и 1 или 2 - эти данные как раз есть и в таблице, и теперь в сводном. Hugo
Hugo, Добрый день. Да я всё это понимаю, что вы написали, но это не подходит...Только замена формулы в листе 4, сводный не изменяем к сожалению...Только обращение на что то конкретное.
Hugo, Добрый день. Да я всё это понимаю, что вы написали, но это не подходит...Только замена формулы в листе 4, сводный не изменяем к сожалению...Только обращение на что то конкретное.caind2015
Это UDF, я ведь упомянул. Нужно код в модуле прописать, который это все делает. Я сейчас не у компа ( с мобилы как-то дркгими паролями зашёл), код не могу дать, но их полно в сети - vlookup2() или впр2() обычно называли.
Это UDF, я ведь упомянул. Нужно код в модуле прописать, который это все делает. Я сейчас не у компа ( с мобилы как-то дркгими паролями зашёл), код не могу дать, но их полно в сети - vlookup2() или впр2() обычно называли.i_b_a
Игорь
Сообщение отредактировал i_b_a - Суббота, 22.06.2024, 16:31
Я понимаю, код надо в VBA в ЭтаКнига написать. В интернете я не смогу без подсказки найти))).Поэтому лучше подожду когда вы будете у компа. Если это возможно напишите,а я просто вставлю. Или я не правильно понимаю UDF и VBA это разные вещи
Я понимаю, код надо в VBA в ЭтаКнига написать. В интернете я не смогу без подсказки найти))).Поэтому лучше подожду когда вы будете у компа. Если это возможно напишите,а я просто вставлю. Или я не правильно понимаю UDF и VBA это разные вещиcaind2015
Или я не правильно понимаю UDF и VBA это разные вещи
- это одно - это код функции написанный на VBA/ Я использовал такой, и он у меня в надстройке, чтоб можно было легко в любой момент применить: [vba]
Код
Function VLOOKUP2(Table As Variant, SearchColumnNum As Long, SearchValue As Variant, _ n As Long, ResultColumnNum As Long) Dim i As Long, iCount As Long If TypeName(Table) = "Range" Then Table = Intersect(Table.Parent.UsedRange, Table).Value VLOOKUP2 = "" For i = 1 To UBound(Table) If Table(i, SearchColumnNum) = SearchValue Then iCount = iCount + 1 If iCount = n Then VLOOKUP2 = Table(i, ResultColumnNum) Exit For End If Next i End Function
[/vba] И важно - код надо в VBA не в ЭтаКнига написать, а в стандартный модуль, и может быть в любой книге. Но лучше в надстройке, или в книге где будете использовать если собираетесь файл передавать на сторону.
Или я не правильно понимаю UDF и VBA это разные вещи
- это одно - это код функции написанный на VBA/ Я использовал такой, и он у меня в надстройке, чтоб можно было легко в любой момент применить: [vba]
Код
Function VLOOKUP2(Table As Variant, SearchColumnNum As Long, SearchValue As Variant, _ n As Long, ResultColumnNum As Long) Dim i As Long, iCount As Long If TypeName(Table) = "Range" Then Table = Intersect(Table.Parent.UsedRange, Table).Value VLOOKUP2 = "" For i = 1 To UBound(Table) If Table(i, SearchColumnNum) = SearchValue Then iCount = iCount + 1 If iCount = n Then VLOOKUP2 = Table(i, ResultColumnNum) Exit For End If Next i End Function
[/vba] И важно - код надо в VBA не в ЭтаКнига написать, а в стандартный модуль, и может быть в любой книге. Но лучше в надстройке, или в книге где будете использовать если собираетесь файл передавать на сторону.Hugo
Можно ещё учитывать дату, если не получится подцепить встроенными функциями, то не сложно дополнить код ещё парой аргументов - значение даты и диапазон (столбец) с датами, которые уже есть в сводном.
Можно ещё учитывать дату, если не получится подцепить встроенными функциями, то не сложно дополнить код ещё парой аргументов - значение даты и диапазон (столбец) с датами, которые уже есть в сводном.Hugo
В принципе всё работает,но если сцепить с датой было бы лучше. Потому что в первом варианте данные проставляются просто по порядку.И если кто то пропустил NaOH , то они вставляются уже не за это число. Если это вас не затруднит можете дополнить этими аргументами(зависимостью от даты)
В принципе всё работает,но если сцепить с датой было бы лучше. Потому что в первом варианте данные проставляются просто по порядку.И если кто то пропустил NaOH , то они вставляются уже не за это число. Если это вас не затруднит можете дополнить этими аргументами(зависимостью от даты)caind2015
Хотя нет,не совсем корректно работает.Возможно это и я. После закрытия экселя лист №4 все данные NaOH исчезают и появляется знач. До того момента пока не открыть сводный журнал. После открытия опять появляются. В аргументах вроде всё правильно .
Хотя нет,не совсем корректно работает.Возможно это и я. После закрытия экселя лист №4 все данные NaOH исчезают и появляется знач. До того момента пока не открыть сводный журнал. После открытия опять появляются. В аргументах вроде всё правильно .caind2015
Проверяйте, код в этом файле. Изменив дату сейчас результат пропадает - поправите в сводном должен появиться. Ссылки вроде должны быть на сводный файл который лежит рядом, но если что поправьте. Если сводный закрыт - то ссылки на весь столбец не работают, поэтому ограничил 1000 строк.
Проверяйте, код в этом файле. Изменив дату сейчас результат пропадает - поправите в сводном должен появиться. Ссылки вроде должны быть на сводный файл который лежит рядом, но если что поправьте. Если сводный закрыт - то ссылки на весь столбец не работают, поэтому ограничил 1000 строк.Hugo