Добрый день! Есть задача формулой округлить цены из выборки до ближайшего числа из ценовой политики. Например, вот так выглядит ценовая политика:
Цена
290
750
950
1250
1500
1750
1950
2250
2500
2750
2950
3250
3500
3950
4500
4950
5500
7500
9500
12500
15000
Привило округления округляем цену в большую сторону до ближайшего из чисел из ценовой политики однако, если цена превышает лишь на 5%, то округялем до меньшего из числе из ценовой политики
например 299 больше 290 лишь на 3%, значит округляем до 290 601 округляется до 750, т.к. 610 больше 290 более чем на 5%
Добрый день, всем! Есть задача автоматизации подсчета цены аренды. В разное время и дни недели - стоимость аренды разная (задаются пользователем), поэтому не все так тривиально. Пример расчета приложен, желтым отмечены ячейки, которые нужно подсчитать. Подсчет уже реализован через дополнительные столбцы, но хотелось бы найти более эффективное решение, желательно через 1 формулу, которая также будет работать и в google таблицах (будет миграция впоследствии), т.е. макросы не приветствуются.
Если решение есть - пришлите ориентир по стоимости, работа буде оплачена. Спасибо
Добрый день! Большая просьба помочь со следующей задачкой. Требуется подсчитать количество проектов в каждой ячейке, поделить сумму на это количество, раздробить строки для каждого проекта и поставить соответствующую сумму. Реализовать необходимо через PQ.
Добрый день! Задача в следующем, есть таблица с информацией о брони в саунах (дата и время начала и конца). Через PQ необходимо по выбранной сауне (или по всем) подсчитать, насколько часто встречался данный промежуток времени в брони. В таблице 2 - нужно тоже самое, но заполнить уже в % (например, 100% означат, что этот промежуток времени во всех днях был заполнен). Просьба указать стоимость и срок. Спасибо!
Добрый день! Обращаюсь с задачкой, которую мне не удалось решить. Прошу помощи. Есть время начало брони гостиницы и ее конца, например, бронь открылась в 15 часов, а закрылась в 20. Есть посложнее пример, началась бронь в 22 часа, а закончилась уже на следующий день в 3 часа ночи. Нам необходимо выявить самые заполненные часы, т.е. подсчитать количество часовых промежутков, которые встречались в брони. Пример во вложении
Пытаюсь решить следующую задачку. Есть исходная таблица с датой сделки и кодом товара:
Дата сделки
Код товара
Сумма
14.01.2023
HHFF
5000
15.02.2023
HHFF
6000
01.03.2023
HHFF
4000
12.01.2023
CCHH
3500
11.02.2023
CCHH
6500
02.03.2023
CCHH
4500
и доп.таблица с датой и кодом товара:
Дата
Код товара
20.01.2023
HHFF
25.02.2023
HHFF
31.12.2022
CCHH
11.01.2023
CCHH
15.03.2023
CCHH
30.04.2023
CCHH
Обе таблицы надо сопоставить по коду товара и вычислить разницу между датами (в исходной таблице и доп.таблицей). Если разница дат меньше или равна 6, то в исходной таблице надо в новом столбце сделать пометку для соответствующей строки. Выглядеть это будет вот так:
Дата сделки
Код товара
Сумма
Доп.столбец
14.01.2023
HHFF
5000
да (т.к. разница между 20.01.23 и 14.01.23 меньше или равна 6)
15.02.2023
HHFF
6000
01.03.2023
HHFF
4000
да
12.01.2023
CCHH
3500
да
11.02.2023
CCHH
6500
02.03.2023
CCHH
4500
Я пытался реализовать это через настраиваемый столбец и вложенной таблицей в PowerQuery, но пока не получилось. Просьба, помочь. Очень подробный пример приложен.
Добрый день! Есть Microsoft SQL Server, где хранится база данных. Для загрузки данных в самом SQL Server сначала определяются переменные, затем запускается процедура (exec), после этого следуюет сам Select. Пример кода как это работает в SQL Server Managment:
Код
declare @startDate date = '2022-01-01',@endDate date = '2022-12-31',@name1 varChar(150) = 'Наименование1',@type nvarChar(3) = 'Параметр1';
exec [base].[sp_upLoadXLS] @startDate ,@endDate ,@nameFund ,@type ;
select * from [base].[npo_1];
Т.е. если все запустить, то SQL Server выполнит процедуру и только после этого выгрузит Select.
Теперь требуется все тоже самое запустить и выгрузить на лист через средства VBA Excel. Я написал следующий код:
Код
Sub LoadData()
Dim cn As ADODB.Connection
Dim rst As ADODB.Recordset
Set cn = New ADODB.Connection
Set rst = New ADODB.Recordset
cn.ConnectionString = "DRIVER={SQL Server};SERVER=MMM1;DATABASE=MMM2" 'Параметры строки подключения
cn.Open
rst.Open "declare @startDate date = '2022-01-01',@endDate date = '2022-12-31',@nameFund varChar(150) = 'Наименование1',@type nvarChar(3) = 'Параметр1'; exec [base].[sp_upLoadXLS] @startDate ,@endDate ,@nameFund ,@type; select * from [base].[npo_1]; "
ActiveSheet.Range("A1").CopyFromRecordset rst 'Извлекаем данные на лист
rst.Close
cn.Close
Set rst = Nothing
Set cn = Nothing
End Sub
Проблема: я не знаю как передать в rst.Open все три исходных строчки (включая declare, exec и select). Прошерстил ветки форума, но не нашел нужное. И как я понимаю, сначала выполняется процедура, после ее завершения идет обращение через Select, т.е. важно чтобы сначала завершилась процедура. Помогите, пожалуйста, с реализацией макроса. Спасибо!
Могут ли коллеги помочь со следующей задачкой? Есть исходные данные с разными датами. Также на листе есть фильтр, если значение его 0 - то нужно через PQ вывести из исходной таблицы все строки с датой максимальной в каждом месяце. Если же фильтр 1, то просто вывести все строки. Пример ниже + файл
ИСХОДНАЯ
Дата
Свойство1
Свойство2
31.12.2021
219
389
12.01.2022
337
116
19.01.2022
464
68
26.01.2022
290
471
31.01.2022
491
45
09.02.2022
89
226
16.02.2022
200
40
18.02.2022
417
186
25.02.2022
482
313
28.02.2022
433
228
10.03.2022
33
77
16.03.2022
51
183
23.03.2022
345
210
31.03.2022
204
23
11.05.2022
473
322
18.05.2022
50
218
25.05.2022
21
305
31.05.2022
109
231
15.12.2022
76
283
Если фильтр 0, то
Дата
Свойство1
Свойство2
31.12.2021
219
389
31.01.2022
491
45
28.02.2022
433
228
31.03.2022
204
23
31.05.2022
109
231
15.12.2022
76
283
Если фильтр 1, то выводим всю исходную таблицу. Большое спасибо!
Добры день, всем! Помогите с решением нетривиальной задачки с помощью PowerQuery отсечь ненужные строки в этой таблице:
Дата
Параметр1
Параметр2
Параметр3
Параметр4
21.03.2023
Синий
Широкий
Call
2158
19.09.2023
Синий
Широкий
Call
8496
19.03.2024
Синий
Широкий
Call
1487
17.09.2024
Синий
Широкий
Call
3214
18.03.2025
Синий
Широкий
Call
9841
16.09.2025
Синий
Широкий
Call
3217
17.03.2026
Синий
Широкий
не Call
1898
17.03.2026
Синий
Широкий
Call
1478
15.09.2026
Синий
Широкий
Call
1456
16.03.2027
Синий
Широкий
Call
3259
14.09.2027
Синий
Широкий
Call
9165
14.03.2028
Синий
Широкий
Call
28
12.09.2028
Синий
Широкий
Call
5059
13.03.2029
Синий
Широкий
Call
7645
11.09.2029
Синий
Широкий
Call
6328
12.03.2030
Синий
Широкий
Call
7976
10.09.2030
Синий
Широкий
Call
6045
11.03.2031
Синий
Широкий
Call
3765
11.03.2031
Синий
Широкий
не Call
4007
30.09.2022
Желтый
Широкий
не Call
2158
30.09.2022
Желтый
Широкий
Call
8496
30.12.2022
Желтый
Широкий
Call
1487
31.03.2023
Желтый
Широкий
Call
3214
30.06.2023
Желтый
Широкий
Call
9841
29.09.2023
Желтый
Широкий
Call
3217
29.12.2023
Желтый
Широкий
не Call
1898
29.03.2024
Желтый
Широкий
Call
1478
28.06.2024
Желтый
Широкий
Call
1456
27.09.2024
Желтый
Широкий
Call
3259
27.09.2024
Желтый
Широкий
Call
9165
Правило отсечения: Как только в столбце "Параметр3" появляется значение "не Call", то убираем все значения с теми же "Параметр1" и "Параметр2" дата которых больше, чем дата когда появилось значение "не Call".
В результате получится следующая таблица:
Дата
Параметр1
Параметр2
Параметр3
Параметр4
21.03.2023
Синий
Широкий
Call
2158
19.09.2023
Синий
Широкий
Call
8496
19.03.2024
Синий
Широкий
Call
1487
17.09.2024
Синий
Широкий
Call
3214
18.03.2025
Синий
Широкий
Call
9841
16.09.2025
Синий
Широкий
Call
3217
17.03.2026
Синий
Широкий
не Call
1898
17.03.2026
Синий
Широкий
Call
1478
30.09.2022
Желтый
Широкий
не Call
2158
30.09.2022
Желтый
Широкий
Call
8496
Прикладываю пример в Excel. Буду очень рад помощи, спасибо!!!
Как можно сделать группировку по какому-то критерию, но при этом добавить дополнительную группировку по общей сумме - средствами PowerQuery? Выглядит следующим образом. Исходная таблица:
Категория 1
Категория 2
Категория 3
Сумма
Инф1
Флт1
Дрмб1
50
Инф1
Флт1
Дрмб2
100
Инф1
Флт1
Дрмб3
20
Инф1
Флт2
Дрмб1
70
Инф1
Флт2
Дрмб2
120
Инф1
Флт2
Дрмб3
40
Инф2
Флт1
Дрмб1
90
Инф2
Флт1
Дрмб2
140
Инф2
Флт1
Дрмб3
60
Инф2
Флт2
Дрмб1
110
Инф2
Флт2
Дрмб2
160
Инф2
Флт2
Дрмб3
80
Группируем по Категории1, категории2, оставляем Категорию3="дрмб3" и сумму по ней, добавляем столбец общей суммы:
Есть набор данных с 5-ю столбцами. Есть столбец дата и столбец даты обновления С помощью Power Query нужно оставить все строки, но лишь там где дата обновления является самой последней (актуальной) для строк с одинаковой датой.
Подробное описание в Excel файле. Буду очень признателен за помощь!
Есть набор данных с 4-мя столбцами. С помощью Power Query нужно отсортировать по двум столбцам (многоуровневая сортировка), и взять по 10 строк в каждом уникальном значении одного из столбцов.
Подробное описание в Excel файле. Буду очень признателен за помощь!
Требуется по входным данным, рассчитать Z-спред для облигации. Вводными данными будут:
Дата расчета
Даты купонов
Значения КБД
Купон в %
Полная цена
Номинал
В Excel решается через подбор параметров, но мне нужно сделать через удобную самописную функцию (вставляется в модуль с макросами, Function) . Оптимизировать желательно так, чтобы расчет был быстрым (0,05-0,15 сек ориентировочно или быстрее), так как искомое значение должно быть лишь с 2-мя знаками после запятой. Подробности и сам расчет в приложенном файле.