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

Страницы: 1
Подсчет уникальных значений по условию(условиям), Не получается подсчитать уникальные значения в диапазоне дат.
 
Столкнулся с небольшой проблемой в подсчете количества уникальных значений в диапазоне дат.
Проблема в том что День начинается со Второй смены предыдущего дня, соответственно в данные должно попадать количество уникальных значений (Сегодня Iсмена и Вчера IIсмена). пока добавил  доп. столбец(диапазон указываю в ручную через счётз и уник).
Есть макрос из https://www.planetaexcel.ru/forum/?PAGE_NAME=message&FID=1&TID=92834&TITLE_S...
Код
=СЧЁТУНИКЕСЛИМН(
Рейсы[Гос.номер];
Рейсы[дата];$А$2;
Рейсы[смена];1)
+
СЧЁТУНИКЕСЛИМН(
Рейсы[Гос.номер];
Рейсы[дата];$А$2-1;
Рейсы[смена];2)
UDF работает правильно и правильно суммирует( но это не то что нужно)
В примере зеленым выделено как надо считать, желтым и синим как считает через UDF и формулу
Код
=СУММПРОИЗВ(((Лист1!$A$2:$A$29=Лист1!$A19))/СЧЁТЕСЛИМН(Лист1!$A$2:$A$29;Лист1!$A$2:$A$29&"";Лист1!$I$2:$I$29;Лист1!$I$2:$I$29&""))-1
Как решить подсчет уникальных значений Сегодня Iсмена,Вчера IIсмена не могу сообразить.
Изменено: Игорь Трофимов - 08.01.2025 12:05:17
Содержание книги из n листов c разбивкой по строка, Раздбивка ячейки макросом по строкам
 
Столкнулся с небольшой проблемой. При формировании списка на листе "Содержание" все формируется построчно с листов Данные 1.2.3 и т.д. в зависимости от кол-ва листов. Изменяемые данные выделены желтым.
Но есть ячейка I23 на каждом листе в которой идет текстовый перечень через разделитель " ; ",  я и не могу додуматься, как ячейку в макросе разделить и вывести как на листе "Содержание"
Код находится в "Эта книга", на листе  "Как надо" соответственно как надо.  
При сохранении листов как файлы при выставленном флаге заменить формулы на значение, пользовательская функция сохраняется как ИМЯ
 
 К примеру прописал пользовательскую функцию CountCellsByColor  в ячейке B10, при сохранении через надстройку PLEX Сохранить как файлы с преобразованием в значения пользовательскую функцию пропускает и выдает в ячейке #ИМЯ?. А интегрированная функция CountByCellColor в ячейке В9 преобразуется нормально. В чем ошибка написания мной функции? Эти две функции привел как пример т.к. остальные прописанные функции так же не преобразуются значения.
Код
Function CountCellsByColor(rData As Range, cellRefColor As Range) As Long
Dim indRefColor As Long
Dim cellCurrent As Range
Dim cntRes As Long
Application.Volatile cntRes = 0
indRefColor = cellRefColor.Cells(1, 1).Interior.Color
For Each cellCurrent In rData
If indRefColor = cellCurrent.Interior.Color Then cntRes = cntRes + 1
Next cellCurrent
CountCellsByColor = cntRes
End Function
Пользовательская функция слетает при открытии другой книги или копировании ячейки., При сохранении листа как значения появляется #ИМЯ
 
Прописал две функции Spec и Mach. Работают нормально, но при открытии другой любой книги, или при копировании ячейки с этой книги в другую они слетают в #ЗНАЧ. При сохранении листа как значения вместо значения появляется #ИМЯ.
Разобраться не могу почему так происходит.
Может кто нибудь подскажет как это исправить?
Пользовательская формула в VBA. Помощь в создании., Требуется создать пользовательскую формулу
 
Есть лист расстановка, данные в который попадают с 3 таблиц (персонал, машинисты, водители) макросы на столбцы специальность и примечание работают. Помогите создать пользовательскую функцию.
Код
Sub маш()
    Dim маш As String
маш = маш & "=(ЕСНД(ЕСЛИОШИБКА(ИНДЕКС(Водители;ПОИСКПОЗ($C11;Водители[ФИО машиниста 1 смены];0);3);"
маш = маш & "ИНДЕКС(Водители;ПОИСКПОЗ($C11;Водители[ФИО машиниста 2 смены];0);3));"""")&""      ""&"
маш = маш & "ЕСНД(ЕСЛИОШИБКА(ИНДЕКС(Водители;ПОИСКПОЗ($C11;Водители[ФИО машиниста 1 смены];0);4);"
маш = маш & "ИНДЕКС(Водители;ПОИСКПОЗ($C11;Водители[ФИО машиниста 2 смены];0);4));""""))&"" ""&"
маш = маш & "(ЕСНД(ЕСЛИОШИБКА(ИНДЕКС(Машинисты;ПОИСКПОЗ($C11;Машинисты[ФИО машиниста 1 смены];0);3);"
маш = маш & "ИНДЕКС(Машинисты;ПОИСКПОЗ($C11;Машинисты[ФИО машиниста 2 смены];0);3))&""          ""&"
маш = маш & "ЕСЛИОШИБКА(ИНДЕКС(Машинисты;ПОИСКПОЗ($C11;Машинисты[ФИО машиниста 1 смены];0);4);"
маш = маш & "ИНДЕКС(Машинисты;ПОИСКПОЗ($C11;Машинисты[ФИО машиниста 2 смены];0);4));""""))"

    Range("E11").FormulaLocal = маш
End Sub
Код
Sub Спец()
    Dim strFormula As String
strFormula = strFormula & "=ЕСНД(ИНДЕКС(Списки;ПОИСКПОЗ(C11;Списки[Ф.И.О.];0);4);"""")"
    Range("D11").FormulaLocal = strFormula
End Sub
Function Специалность(ФИО As Range)
Worksheet.Index
End Function
Поиск и копирование данных с нескольких листов на другой лист. Нужен совет, Подстановка значений по условию/ям
 
Есть таблица "Расстановка". в нее данные попадают из таблицы "списки", "Машинисты", "Водители". Скрипт для поиска по списку прописан и работает. Но иногда сбиваются формулы в столбцах D, E, H, I листа "Расстановка" Посоветуйте как их закрепить или как назначить макросом формулу? Я в формулах разобрался, но другой человек может не вникнуть и не понять что к чему.
Просто я пока не силен в написании пользовательской функции для макросов. И вопрос почему в цикле макроса Hide работает довольно долго или можно как то по другому скрывать пустые строки/столбцы?
П.с. Если создал тему не в той ветке, то сорь перенесу.
Поиск уникального значения по дате и условию, Поиск в столбце уникальных значений по дате и условиям
 

По работе возникла задача.

Рассчитать количество смен за сутки по которым была актировка и расчистка снега

т.е. значение может быть0 или 1 или 2 смены(круглосуточный режим работы I смена с 07-00 до 19-00, II смена с 19-00 до 07-00, а бригад много в каждой смене). Ручками посчитать не проблема, но я эту часть регулярно проё... забываю.

В приведенной таблице максимально показал что от меня хотят видеть. Все на что меня хватило это рассчитать по условиям количество занятых бригад за сутки. Т.К в работе ночных смен есть нюанс они считаются день+1т.е ночники вышли 24, а в отчете отражаются за 25

Эти данные будут использоваться в другом листе.

Изменено: Игорь Трофимов - 28.01.2023 15:47:21
Страницы: 1
Наверх