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

Страницы: 1 2 3 След.
Вычислить порядковый номер недели, Недели начинаются не с начала года и состоят из нескольких лет
 
Доброго дня!
Набросал ещё 2 варианта. С доп.столбцом через СЧЕТ и без доп.столбца через СУММПРОИЗВ.

Посмотрите, пожалуйста, "Вар.3" (через СУММПРОИЗВ), возможно что-то можно улучшить?
Вычислить порядковый номер недели, Недели начинаются не с начала года и состоят из нескольких лет
 
Дополню для большей ясности. Если отсортировать сначала "Неделя", потом "Месяц" и руками пронумеровать строки сверху вниз в порядке возрастания, то задача решается, вот только хотелось бы вычислять это формулой.
Вычислить порядковый номер недели, Недели начинаются не с начала года и состоят из нескольких лет
 
Уточню, что исходные данные это "Неделя" и "Месяц", а "П/П" это как надо
Вычислить порядковый номер недели, Недели начинаются не с начала года и состоят из нескольких лет
 
Приветствую!

Дано:
Таблица состоящая из столбцов: "Неделя года" и "Месяц" (в формате ДД.ММ.ГГГГ на начало месяца т.е. Октябрь 2024 - 01.10.2024)

Необходимо:
Вычислить в соседнем столбце для текущей строки порядковый номер недели.
Например, таблица начинается с 49 неделя 2024 года и строка должна иметь порядковой номер 1,
50 - 2024 - 2,
51 - 2024 - 3,
52 - 2024 - 4,
1 - 2025 - 5,
2 - 2025 - 6,
3 - 2025 - 7 и так далее

Недели могут быть пропущены и не отсортированы, дополнительные столбцы возможны, динамические массивы не желательны.
Измерение времени вычисления способом от MS всегда возвращает 0
 
Интересно существует ли или сложно было бы добавить обход всех/выбранных листов в книге и вывод результата в таблицу [Имя листа | Продолжительность]
Измерение времени вычисления способом от MS всегда возвращает 0
 
Разобрался. Нужно было в модулях расположить оба фрагмента кода, а я брал только 2-й.  
Измерение времени вычисления способом от MS всегда возвращает 0
 
Добрый день!

На официальной странице microsoft по производительность Excel есть код vba по замеру времени вычисления.

Проблема: при выполнении макроса всегда возвращает 0.
Подскажите, в чём может быть причина?

Microsoft® Excel® LTSC MSO (версия 2409 Сборка 16.0.18025.20030) 64-разрядная
Перенос правил УФ в VBA, Повысить производительность файла
 
Sanja, к примеру кнопка, нажал на неё - условное форматирование применилось
Цитата
написал:
делайте это по каким-нибудь событиям книги/листа,
или так
Перенос правил УФ в VBA, Повысить производительность файла
 
Sanja, Спасибо за совет, учту! А как переопределить событие с стандартного на пользовательское, не подскажите?
Изменено: Vladimir K - 15.05.2024 17:24:35
Перенос правил УФ в VBA, Повысить производительность файла
 
Добрый день!

Подскажите, пожалуйста, не встречалась ли Вам надстройка или инструмент/готовый код позволяющий перенести правила условного форматирования в код VBA.
Для применения УФ на отдельную кнопку - дабы повысить производительность файла? Или это гиблое дело?

Возможно есть вариант проще? Чтобы на уровне книги, пользователю, можно было регулировать обновление правил УФ.
Например, положение элемента, которое отвечало за - обновлять правила по умолчанию / не обновлять
Изменено: Vladimir K - 16.05.2024 13:48:21
Найти самую позднюю дату для нескольких диапазонов дат и клиентов подставив соседнее значение, Power Query
 
Добрый день!
Подскажите, пожалуйста, способ для решения следующей задачи в power query (рабочий набор с клиентами на несколько млн строк):

Есть таблица1 по клиентам, датам и городам и таблица2 по датам с и по.
Необходимо для каждого клиента и диапазона с..по вернуть город по самой поздней дате, которая входит в диапазон с.по

Например:

(диапазон)
Дата сДата по
01.01.202331.12.2023
(даты клиента)
КлиентДатаГород
Клиент00101.12.2022Город4
Клиент00110.01.2023Город1
Клиент00118.05.2023Город4
Клиент00120.01.2024Город2
В этот диапазон входят даты из 2 и 3 строки, при этом самая поздняя в 3 строке

В результате хочу получить:
КлиентДата сДата поМакс дата в   диапазонеГород
Клиент00101.01.202331.12.202318.05.2023Город4
подробнее в примере файла
Изменено: Vladimir K - 19.04.2024 13:06:38
Создать ряд чисел с перебором каждого отдельно взятого разряда, PQ
 
Спасибо AlienSx и Alex за варианты, они натолкнули меня на идею написать это:
Скрытый текст
Получились такие результаты по скорости
Названия строкСреднееОтДоОбщее
Запрос — Alex1,791,731,9026,89
Запрос — AlienSx1,291,251,3419,36
Запрос — Vladimir K1,121,091,2016,73
Возможно будут у кого-то идеи как ещё ускорить вычисления?
Изменено: Vladimir K - 16.02.2024 12:00:51
Создать ряд чисел с перебором каждого отдельно взятого разряда, PQ
 
Доброго дня!

Хочу из одного числа получить набор чисел, где будет заменена каждая цифра разряда отдельно, на цифры от 0 до 9 в PQ
(в примере есть решение формулами)

Пример: 123 => {120, 121, 122, 123.. 129} , {103, 113, 123, 133.. 193}, {023, 123, 223, 323.. 923}

Разрядность может меняться, но это не обязательно учитывать
доп.по желанию: убрать исходное число из получившегося ряда (123)

Буду рад Вашим вариантам и всех с праздником!
Как подготовить третий аргумент функции ЧИСТРАБДНИ.МЕЖД из двух выходных дней
 
Благорарю Максим В.и Дмитрий(The_Prist) Щербаков
Взял на вооружение. Как всегда шикарные решения!

Замечу, что вариант с ЗАМЕНИТЬ(REPLACE) несколько шустрее
Изменено: Vladimir K - 26.01.2024 16:19:53
Как подготовить третий аргумент функции ЧИСТРАБДНИ.МЕЖД из двух выходных дней
 
Доброго дня!

Использую функцию ЧИСТРАБДНИ.МЕЖД столкнулся с тем, что для третьего аргумента у меня входные из названий двух дней недели
Скрытый текст
Таким образом рождается задача преобразовать строку "Суббота" и "Воскресенье" в "0000011"

Решил это через сложение двух двоичных путем перевода их из дв в дес и обратно с использованием справочника
Скрытый текст

0000010 + 0000001 = 2 + 1 = 3, где 3 как двоичное с разрядностью 7 =0000011

Вопрос: существует ли решение по проще (без использования доп.столбцов/таблиц, vba, надстроек и пр. т.е. только штатные функции excel) т.к. мне кажется, что я "намудрил" слегка
Удаление пустых ячеек по диагонали в Power Query
 
stukalov_ss, приветствую!

Предположу, что вам нужен был такой результат
Валюта в формате ячейки, прописываемая в другой ячейке, Странно пересчитывает сумму счёта, уменьшая на три порядка
 
Saha-German, добрый день!

Вам следовало прикрепить файл с примером.
Посмотрите этот вариант
Код
=ЕСЛИ(G4="RUB";ТЕКСТ(E9;"# ##0,00\ [$₽-ru-RU]");ЕСЛИ(G4="EUR";ТЕКСТ(E9;"* # ##0,00\ [$€-x-euro1]");ЕСЛИ(G4="USD";ТЕКСТ(E9;"* # ##0,00\ [$$-en-US]");"")))
1С и отчет анализ продаж, Форматирование стандартного отчета 1С в приемлимый формат
 
sol.78, доброго дня!
А вы удаляли группировку после сохранения отчета из 1С? https://ibb.co/L5m9bkt
Можно написать пользовательскую функцию, которая вернет уровень вложенности той самой группировки.
А уже зная уровень можно будет получить желаемый результат с помощью PQ или макроса
Сумма разности нескольких значений времени при группировке строк, Power query
 
Что-то мне подсказывает, что независимо от промежутков достаточно найти разницу между максимальным и минимальным значением в группировке :)
Сумма разности нескольких значений времени при группировке строк, Power query
 
Доброго времени суток!

Помогите, пожалуйста, решить задачу с помощью power query

Из
ИзмерениеВремя
Изм1 10:00
Изм1 14:00
Изм1 18:00
Изм2 14:00
Изм2 16:00
В
Измерение Время
Изм1 10:00 14:00 18:00 (08:00)
Изм2 14:00 16:00 (02:00)


Где по каждому измерению нужно перечислить (сгруппировать в строку) все значения времени и найти сумму разности между значениями:

Пример вычисления для первого измерения:
(14-10) + (18-14) = 4 + 4 = 8

Значений при группировке может быть больше 3, но не меньше 2
PQ. Применение функции для тек. и предыд. стоки содержащей List, List.RemoveItems для списка списков
 
Михаил Л, я всё не понимал как изолировать, даже про List.Difference не догадался, спасибо Вам огромное, вечером отправлю на мясцо ;)
PQ. Применение функции для тек. и предыд. стоки содержащей List, List.RemoveItems для списка списков
 
Приветствую!
Необходимо получить кол-во новых элементов в следующем списке по сравнению с предыдущим:

1. {A, B, C}                  
2. {B, C, D, E, F} - 3 элемента (B и C были в 1)
3. {C, D, H} - 1 элемент (C и D были в 2)

Вот такой запрос я сочинил для примера не требующий файла
Код
let
  Источник = #table(
    type table [Дата = date, Листы = list], 
    {
      {#date(2022, 11, 30), {"A", "B", "C"}}, 
      {#date(2022, 12, 31), {"B", "C", "D", "E", "F"}}, 
      {#date(2023, 01, 31), {"C", "D", "H"}}
    }
  ), 
  #"Сортированные строки" = Table.Sort(Источник, {{"Дата", Order.Ascending}}), 
  #"Добавлен индекс" = Table.AddIndexColumn(#"Сортированные строки", "Индекс", 0, 1, Int64.Type), 
  БуферЛистов = List.Buffer(#"Добавлен индекс"[Листы]), 
  #"Добавлен пользовательский объект" = Table.AddColumn(
    #"Добавлен индекс", 
    "Предыдущий лист", 
    each List.Count(List.RemoveItems(БуферЛистов{[Индекс]}, БуферЛистов{[Индекс] - 1})))
in
  #"Добавлен пользовательский объект"

Проблема в том, что для больших файлов (9 мб, 15мб, 10 мб) запрос превращается в гигабайтный и не завершается
* рабочие файлы загружаются из папки и немного преобразовываются

Прикрепил пример рабочих файлов в архиве
Изменено: Vladimir K - 27.01.2023 12:16:47
Нелинейное преобразование одной шкалы в другую
 
А если вот так... (а2 - ячейка с баллом)

=ЦЕЛОЕ( (A2) / ЦЕЛОЕ(54/10) )

    0 - 4 } 0
    5 - 9 } 1
10 - 14 } 2
15 - 19 } 3
20 - 24 } 4
...
50 - 54 } 10
Изменено: Vladimir K - 02.11.2022 16:36:42
Ошибка "Comma" при использовании "??" в новых версиях, Power query
 
Экспериментальным путем определил, что если слева от "??" будет null, то будет задействовано выражение справа от "??"

= null ?? {"Column2"} - вернет Column2
= {"Column1"} ?? {"Column2"} - вернет Column1

Вопрос чем заменить актуален (через if?)
Изменено: Vladimir K - 10.10.2022 13:54:57
Ошибка "Comma" при использовании "??" в новых версиях, Power query
 
Доброго всем дня! Подглядел когда то функцию замены значений по справочнику
Код
( table as table, columnNames as list, optional newColumnNames as list, optional operation as text, optional dictTableName as text ) =>
  let
    Dict = ПредстНасПунктов,
    Lookup = List.Buffer ( List.Zip ( Table.ToColumns ( Dict ) ) ),
    NewNames = newColumnNames ?? List.Transform ( columnNames, ( x ) => "new_" & x ),
    Corrected = List.Accumulate ( columnNames, {}, ( s, c ) => s & { List.ReplaceMatchingItems ( Table.Column ( table, c ), Lookup ) } ),
    ResultAdd = Table.FromColumns ( Table.ToColumns ( table ) & Corrected, Table.ColumnNames ( table ) & NewNames ),
    ResultTransform = Table.TransformColumns (
      table,
      List.Transform ( columnNames, ( x ) => { x, ( y ) => List.ReplaceMatchingItems ( { y }, Lookup ){0} } )
    ),
    Result = if operation = "transform" then ResultTransform else ResultAdd
  in
    Result

В строке 5 есть фрагмент:
Код
NewNames = newColumnNames ?? List.Transform ( columnNames, ( x ) => "new_" & x ),

В другой версии (2019 MSO (16.0.10827.20138); Версия 1809) возникает ошибка "Expression.SyntaxError: Ожидается токен Comma" и ругается на "??".

Нигде не нашел информацию в документации PQ по использованию "??" (двух вопросительных знаков).

Подскажите, пожалуйста, что выполняют эти символы и как обойти ошибку?
Добавить столбец во вложенную таблицу со значением из родительской, PQ
 
whateverlover, добрый день!

Пробовали вариант оставить столбец с вложенную таблицей и столбец с необходимыми данными и после развернуть вложенную?
Или такой вариант не подходит?

Код
let
  Источник = #table(
    null, 
    {
      {"file1", "data1", #table(null, {{"a", 10}, {"b", 20}})}, 
      {"file2", "data2", #table(null, {{"c", 30}, {"d", 40}})}
    }
  ), 
  #"Другие удаленные столбцы" = Table.SelectColumns(Источник, {"Column1", "Column3"}), 
  #"Развернутый элемент Column3" = Table.ExpandTableColumn(
    #"Другие удаленные столбцы", 
    "Column3", 
    {"Column1", "Column2"}, 
    {"Column1.1", "Column2"}
  )
in
  #"Развернутый элемент Column3"

Или через преобразование

Код
let
    Источник = #table(null, 
{
   {"file1", "data1", #table(null, {{"a", 10}, {"b", 20}})}, 
   {"file2", "data2", #table(null, {{"c", 30}, {"d", 40}})}
}
),
    #"Добавленный столбец" = Table.TransformColumns(Источник, 
   {{"Column3", each let t = [Column1]
in 
   Table.AddColumn(_, "file", each t)}})
in
    #"Добавленный столбец"
Изменено: Vladimir K - 21.09.2022 17:06:21
Визуализация связей, Визуализировать данные таблицы посредством связей элементов с известными указателями
 
https://ibb.co/wpPv8gJ вот такую диаграмму нашел, вроде подходит, не знаю можно ли оставить ссылку
Визуализация связей, Визуализировать данные таблицы посредством связей элементов с известными указателями
 
Приветствую!

Существует ли способ, без особых выкрутасов визуализировать таблицу, где представлены связи из множества элементов?
Если кто-то сталкивался с подобной задачей или есть идеи буду рад услышать ваши предложения

Или быть может Вам известны другие инструменты, не Excel, где подобно можно реализовать?

Вот некая абстракция:

https://ibb.co/684jxyM

Суть такова, что два элемента в строке таблицы объединяет один №, но у одного элемента может быть до 4-х №, которые могут связывать с другими элементами.

В таблицы могут быть группы которые между собой не имеют связи (отделено пунктиром), группы эти ни как не определены, но это задача уже другого порядке, сейчас не об этом
Изменено: Vladimir K - 07.07.2022 15:49:02
Подставить значение из списка в случайную строку таблицы в PQ., Генерация строк с заданной долей вероятности от общего кол-ва строк
 
И мой ламерский вариант кнопочками в копилку
Скрытый текст
Подставить значение из списка в случайную строку таблицы в PQ., Генерация строк с заданной долей вероятности от общего кол-ва строк
 
Хорошего всем начала недели и привет!

Имеется таблица "Список_показателей" с самими показателями и "доля этого показателя" (х.з как точно выразится, дальше поймете  :oops: )

  Необходимо в PQ добавить столбец, где случайным образом будет заполнен один из показателей, но общее кол-во этих показателей должно быть в доли равной или приблизительно равной заданной доли.

(например показатель "А-1" его доля определена как 30%, а "А-2" - 70%, заполняя 100 строк должно получится 30 строк с показателем "А-1" и 70 строк с "А-2")
Изменено: Vladimir K - 12.08.2022 17:52:48
Страницы: 1 2 3 След.
Наверх