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

Страницы: 1
Power Pivot зависает при использовании CALCULATE + DISTINCTCOUNT
 
Добрый вечер.

VBA вариант...
Код
Option Explicit
Sub test()
Dim i&
Dim dict As New Dictionary
Dim dictIndex As New Dictionary
Dim arr As Variant
Dim infinity As Double
Dim key As String
Dim arrTemp As Variant
Dim Results As Variant


arr = [Пример].Value2
infinity = Timer


Call DisabledApps(False, False)


For i = LBound(arr) To UBound(arr)
    key = arr(i, 1) & "|" & arr(i, 2) & "|" & arr(i, 3)
    
    If arr(i, 3) = "Ниже нормы" Then
        If Not dict.Exists(key) Then
             dict.Add key, 1
             dictIndex.Add i, ""
        Else
            dict(key) = dict(key) + 1
        End If
    End If
Next i


arrTemp = Array(dict.Keys, dict.Items, dictIndex.Keys)


ReDim Results(1 To UBound(arrTemp(0)) + 1, 1 To 4)


For i = 1 To UBound(arrTemp(0)) + 1
    Results(i, 1) = arr(arrTemp(2)(i - 1), 1)
    Results(i, 2) = arr(arrTemp(2)(i - 1), 2)
    Results(i, 3) = arr(arrTemp(2)(i - 1), 3)
    Results(i, 4) = arrTemp(1)(i - 1)
Next i


On Error Resume Next: [Tb].Delete: On Error GoTo 0


[Tb].Resize(UBound(Results), 4) = Results


Call DisabledApps(True, True)
MsgBox "Готово!", vbInformation, Format(Timer - infinity, "0.00 сек")


End Sub
Public Function DisabledApps(OnOff As Boolean, CalculateApp As Boolean): If CalculateApp = False Then CalculateApp = xlManual Else CalculateApp = xlAutomatic
Application.ScreenUpdating = OnOff
Application.Calculation = CalculateApp
Application.AskToUpdateLinks = OnOff
Application.DisplayAlerts = OnOff
End Function


Изменено: OrcWorker - 14.10.2023 21:46:36
Фильтрация в сводной где более 10 000 значений
 
По поиску ищешь что нужно и жмёшь "Добавить выделенный фрагмент в фильтр".
Как в pq создать источник из листа ТЕКУЩЕЙ книги?
 
Запрос "Из книги", потом выбираешь тот же файл где создаёшь запрос и лист который нужен.
Вернуть скрытые столбцы при установленном фильтре
 
Спасибо большое, работает.
Вернуть скрытые столбцы при установленном фильтре
 
Добрый вечер!

Имеется 2 кода;
Код
Sub jmqw()
Dim N As String
Dim A As Range
Dim B As Range
Set A = Worksheets("тест").Rows(2).Find(300)
If A Is Nothing Then Exit Sub
N = A.MergeArea.Address
Set B = Range(N)
B.Columns.Hidden = Not B.Columns.Hidden
End Sub
Код
Sub NJwq()
Dim N As String
Dim A As Range
Dim B As Range
Set A = Worksheets("тест").Rows(2).Find(300)
If A Is Nothing Then Exit Sub
N = A.MergeArea.Address
Set B = Range(N)
If B.Columns.Hidden = True Then
B.Columns.Hidden = False
ElseIf B.Columns.Hidden = False Then
B.Columns.Hidden = True
End If
End Sub
При отсутствии фильтра отрабатывают на ура, но как только ставишь любой фильтр на любом столбце перестаёт отрабатывать возврат столбцов.
Как то можно это пофиксить?
Изменено: OrcWorker - 05.05.2022 19:58:10
Как собрать значения со всех столбцов в один по условию?
 
Цитата
написал:
А как в столбик объединили?
У Вас задачи как то отличаются, в теме про 1 столбик, потом меняете на:
Цитата
написал:
строке значение нашлось, в ту строку в отдельный столбец оно и должно попасть
Код
=СЦЕП(ЕСЛИОШИБКА(ЕСЛИ(ПОИСК("IP:*";A1:C1)<>"IP:*";A1:C1;0);""))
Как собрать значения со всех столбцов в один по условию?
 
Формулой:
Как собрать значения со всех столбцов в один по условию?
 
Цитата
написал:
Вручную крайне долго
Согласен. Думаю вы тоже согласитесь с тем, что никто в ручную воссоздавать по скриншоту Вашу таблицу не будет. ПРАВИЛА ФОРУМА
Создание "Набора товаров" из нескольких таблиц на одной странице
 
Привет
Поиск ячейки с текстом по ячейке с одним словом
 
Привет
Код
=ИНДЕКС($F$6:$F$8;ПОИСКПОЗ(E6;ЛЕВСИМВ($F$6:$F$8;ДЛСТР(E6));0);1)
Во время записи макрорекордером выделяется ячейка, не несущая смысловой нагрузки
 
Цитата
написал:
=IFERROR(VLOOKUP(RC[9],Tab,2,FALSE),"""")"                         '=Еслиошибка(ВПР(R9; а дальше не понятно!!!!!
Именованный диапазон/Название таблицы.
Почему с датами не работает формула
 
Исходя из логики файла закрепил нужные диапазоны, но Вам лучше знать какие нужно закрепить. А если не понимаете как, то лучше почитать как это делается.
Почему с датами не работает формула
 
В ячейке A4 у вас "01.01.2016", а там где делаете поиск "Январь 2016". Визуально они у Вас совпадают из-за формата ячеек.
Почему с датами не работает формула
 
Даты где производите поиск не правильно записаны.
Заполнение ячеек данными из другой таблицы, если ячейка соответствует заданному критерию
 
Добрый!
Выборка ТОЛЬКО основных сотрудники категорий ВиП и РСП
 
Цитата
написал:
в  эту графу попадают и с категорией ПР и СМФ
В столбце K не попадают, а вот в столбце F там да, попадают, но у Вас и в примере так было.
Выборка ТОЛЬКО основных сотрудники категорий ВиП и РСП
 
Добрый!
Найти контрагента по которому больше всего затрат, Определить контрагента по критерию
 
Только с доп. столбцом получилось:
Подсчет пустых ячеек в диапазоне при условии, Подсчет каждой второй пустой, или =0 ячейки при условии
 
Если правильно понял задачу то:
Изменено: NoNe158 - 27.10.2021 07:53:31
Подставить данных из одной таблицы в другую по двум одновременно действующим условиям"
 
Разрастается и не сыпется.
Как производить сложение/вычитание значений в формате "чч:мм:сс.мс"
 
Цитата
vova1306 написал:
А для миллисекунд: ПРАВСИМВ(A1;2)?СПАСИБО!
Можно так:
Код
=ПСТР(A1;НАЙТИ(".";A1)+1;3)
Если 100 будет, то в твоём примере будет 00.
Изменено: NoNe158 - 26.10.2021 12:40:31
Как производить сложение/вычитание значений в формате "чч:мм:сс.мс"
 
Для Часа
Код
=ЧАС(ЛЕВСИМВ(A1;8))
Для минут
Код
=МИНУТЫ(ЛЕВСИМВ(A1;8))
Для секунд
Код
=СЕКУНДЫ(ЛЕВСИМВ(A1;8))
Сверить два списка и если совпадает то добавить номер уд из первого списка во второй.
 
Без доп. столбца
Страницы: 1
Наверх