Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 97 След.
Функция пользователя не пересчитывается при изменении формата ячейки, не работает автоматическое вычисление
 
Цитата
Evgenyy написал:
заливка ячейки белым цветом и ячейка без заливки тождественные понятия
мдя?

Цитата
Evgenyy написал:
Никогда не встречал в своей практике таблиц с ячейками залитыми белым цветом
ну просто вам ещё не встретился юзер, не умеющий отключать отображение сетки
Изменено: buchlotnik - 17 янв 2021 20:08:44
Каждому For свой Next
PQ массовая замена значений функцией List.Accumulate без создания дополнительного столбца
 
Цитата
DNC написал:
отказался с List.Zip работать
дык возьмите Table.ToRecords  :)
Код
let
    f=(x)=>Excel.CurrentWorkbook(){[Name=x]}[Content],
    g=(x)=>List.Accumulate(dict,x,h),
    h=(x,y)=>Text.Replace(x,y[Найти],y[Заменить]),
    k=(x,y)=>Table.TransformColumns(x,{y,g}),
 
    from = f("Данные"),
    dict = List.Buffer(Table.ToRecords(f("Справочник"))),
    to = List.Accumulate(Table.ColumnNames(from),from,k)
in
    to
по скорости те же яйца, только в профиль  ;)
в файле результаты обработки 640k строк
Изменено: buchlotnik - 12 янв 2021 20:57:34
Каждому For свой Next
Посчитать количество ячеек, выделенных с помощью УФ
 
Цитата
Jack Famous написал:
никто не может знать всего
это да, вот только вопрос поднимался уже неоднократно
Каждому For свой Next
PQ массовая замена значений функцией List.Accumulate без создания дополнительного столбца
 
Цитата
DNC написал:
List.Accumulate нужно вложить в Table.TransformColumns,
видимо как-то так...  :)
Код
let
    f=(x)=>Excel.CurrentWorkbook(){[Name=x]}[Content],
    g=(x)=>List.Accumulate(dict,x,h),
    h=(x,y)=>Text.Replace(x,y{0},y{1}),
    k=(x,y)=>Table.TransformColumns(x,{y,g}),

    from = f("Данные"),
    dict = List.Buffer([a=f("Справочник"),b=List.Zip({a[Найти],a[Заменить]})][b]),
    to = List.Accumulate(Table.ColumnNames(from),from,k)
in
    to
Изменено: buchlotnik - 12 янв 2021 00:52:28
Каждому For свой Next
Посчитать количество ячеек, выделенных с помощью УФ
 
Цитата
Jack Famous написал:
проверил - действительно
а можно сначала было проверить... Я ж не от нечего делать писал  ;)
Каждому For свой Next
Посчитать количество ячеек, выделенных с помощью УФ
 
Цитата
New написал:
создать пользовательскую функцию, которая будет считать закрашенные ячейки в указанном диапазоне
New, а как вы планируете отследить закраску идущую через УФ?
Каждому For свой Next
Упрощение формулы массива поиска предыдущей даты продажи
 
Цитата
Настя_Nastya написал:
Мне нужно найти предыдущую дату продажи продукта для последующих вычислений.
вы и правда считаете рациональным приматывать неформульные инструменты к части вычислений. может все-таки покажете задачу в терминах "исходные данные - ожидаемый конечный результат"?
Каждому For свой Next
Упрощение формулы массива поиска предыдущей даты продажи
 
Цитата
БМВ написал:
При указанных объемах, результат формульный плачевным быть обязан
во истину, мастер Йодо; силу DAX пробудить нужно...
Каждому For свой Next
Упрощение формулы массива поиска предыдущей даты продажи
 
Цитата
Настя_Nastya написал: я пыталась копать в сторону PQ, но еще "плаваю"...
обозначьте конечную цель обработки - подскажем
Цитата
БМВ написал: будет, но самую малость
а я претендовал на космические скорости?
Каждому For свой Next
Упрощение формулы массива поиска предыдущей даты продажи
 
ну например избавиться от если:
Код
=МАКС($A$2:$A$28*($B$2:$B$28=B2)*($A$2:$A$28<A2))
, а вообще может на DAX или PQ посмотреть?
Каждому For свой Next
Power Quer при объедение несколько листов теряется название листа, Из одной книги надо сделать таблицу с данными, но чтоб отображалось название листа
 
Цитата
soli написал:
Поправите меня если что то делаю неправильно
а что вы делаете? в файле нет запросов...
Каждому For свой Next
Слияние текстовых дублей
 
Цитата
макс написал:
Вариант с PQ - то, что нужно.
да, но зачем так сложно?
Код
let
    from = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    to = Table.Group(from, "фигура", {"цвета", each Text.Combine([цвет],", ")})
in
   to
Каждому For свой Next
Значениях в соседних ячейках изменятся с учётом внесённых данных. Сумма ячеек должна остаться прежней.,
 
Цитата
Таня написал:
Сейчас при внесении вручную числа в ячейку первого месяца работы,
не понятно, вы фактические вносите ВМЕСТО формулы?
Каждому For свой Next
Перенести одинаковые атрибуты в отдельные столбцы
 
Цитата
Александр Александрович написал:
Что бы все одинаковые атрибуты стали в одну колонку
а как так получилось, что они оказались в разных? исходник есть?
Каждому For свой Next
Из сокращенных названий предметов вывести их количество
 
помучал Splitter - ещё чутка шустрее:
Код
let
    l = {"0".."9"},
    t = {"инт", "ук", "штк", "сит", "отт"},
    
    f = Splitter.SplitTextByCharacterTransition(l,(x)=> not List.Contains(l,x)),
    g=(x)=>[a=f(x), b = if List.Count(a) = 1 then {1}&a else a][b],
    h=(x)=> List.Accumulate(List.Transform(Text.Split(x,"+"),g),[],(s,c)=>Record.AddField(s,c{1},c{0})),
 
    from = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    trnsf = Table.AddColumn(from,"t",each h([Выгрузка с базы])),
    to = Table.ExpandRecordColumn(trnsf, "t",t)
in
    to
Каждому For свой Next
[ Закрыто] Формула ДАТА
 
Цитата
Татьяна написал:
увы...я химик
а я вот рад, что химик )))
Цитата
Татьяна написал:
все формулы по функции ДАТА использовала
формулы не помогут - нужен макрос
Цитата
Татьяна написал:
когда эксперт заполняет ячейки с синим цветом с данными, в ячейке рядом с словом дата должна появляться автоматически дата на день заполнения данной таблицы
в какой момент времени - при заполнении первой цветной из группы или когда заполнены все голубые?
Каждому For свой Next
Из сокращенных названий предметов вывести их количество
 
Цитата
Антон написал:
вариант на pq
до кучи - имхо попроще, да и пошустрее
Код
let
    l = {"0".."9"},
    t = {"инт", "ук", "штк", "сит", "отт"},
     
    f=(x)=>[a=Text.PositionOfAny(x,l,Occurrence.Last), 
            b = if a = -1 
                then {1,x} 
                else {Number.From(Text.Range(x,0,a+1)),Text.Range(x,a+1)}
            ][b],
    g=(x)=> List.Accumulate(List.Transform(Text.Split(x,"+"),f),
                            [],
                            (s,c)=>Record.AddField(s,c{1},c{0})
                            ),
    from = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    add = Table.AddColumn(from,"t",each g([Выгрузка с базы])),
    to = Table.ExpandRecordColumn(add, "t",t)
in
    to
Изменено: buchlotnik - 5 янв 2021 11:52:00
Каждому For свой Next
Можно ли обойти знак " в формуле?
 
Цитата
TokarevP написал:
просто в непростейшей не помогло
явили бы вы миру эту непростейшую формулу
Каждому For свой Next
Можно ли обойти знак " в формуле?
 
Код
""""
Каждому For свой Next
Поочередное сравнение всех букв между ячейками и вывод отличающихся букв
 
Код
=ОБЪЕДИНИТЬ(" ";1;LET(x;ПОСЛЕД(ДЛСТР(A3));LET(y;ПСТР(A3;x;1);z;ПСТР(B3;x;1);ЕСЛИ(y<>z;y&x&z;""))))
без LET
Код
=ОБЪЕДИНИТЬ(" ";1;ЕСЛИ(ПСТР(A3;ПОСЛЕД(ДЛСТР(A3));1)<>ПСТР(B3;ПОСЛЕД(ДЛСТР(A3));1);ПСТР(A3;ПОСЛЕД(ДЛСТР(A3));1)&ПОСЛЕД(ДЛСТР(A3))&ПСТР(B3;ПОСЛЕД(ДЛСТР(A3));1);""))
и без ПОСЛЕД
Код
=ОБЪЕДИНИТЬ(" ";1;ЕСЛИ(ПСТР(A3;СТРОКА($A$1:ИНДЕКС(A:A;ДЛСТР(A3)));1)<>ПСТР(B3;СТРОКА($A$1:ИНДЕКС(A:A;ДЛСТР(A3)));1);ПСТР(A3;СТРОКА($A$1:ИНДЕКС(A:A;ДЛСТР(A3)));1)&СТРОКА($A$1:ИНДЕКС(A:A;ДЛСТР(A3)))&ПСТР(B3;СТРОКА($A$1:ИНДЕКС(A:A;ДЛСТР(A3)));1);""))
Изменено: buchlotnik - 30 дек 2020 14:42:38
Каждому For свой Next
Сумма значений за указанный период в случае если годы в строках, а месяцы в столбцах
 
Код
=СУММ((ДАТА(C3:C23;D2:O2;1)>=ДАТА(R5;Q5;1))*(ДАТА(C3:C23;D2:O2;1)<=ДАТА(T5;S5;1))*(B3:B23=R8)*D3:O23)
Код
=LET(x;ДАТА(C3:C23;D2:O2;1);СУММ((x>=ДАТА(R5;Q5;1))*(x<=ДАТА(T5;S5;1))*(B3:B23=R8)*D3:O23))

или
Код
=СУММ((C3:C23+D2:O2%>=R5+Q5%)*(C3:C23+D2:O2%<=T5+S5%)*(B3:B23=R8)*D3:O23)
Код
=LET(x;C3:C23+D2:O2%;СУММ((x>=R5+Q5%)*(x<=T5+S5%)*(B3:B23=R8)*D3:O23))
Изменено: buchlotnik - 26 дек 2020 15:54:22
Каждому For свой Next
PQ Добавление столбца если данные содержат текст, по справочнику, по условию
 
Цитата
PooHkrd написал:
Так что будьте бдительны
PooHkrd, приветствую. Странно, не замечал проблем ранее, но если возникнет проблема - по крайней мере буду знать потенциальный источник багов, спасибо.
Каждому For свой Next
PQ Добавление столбца если данные содержат текст, по справочнику, по условию
 
Цитата
Антон написал:
"простой" работает быстрее
а кто-то с этим спорит? только "простой" вариант на сотню позиций написать уже не так просто и тем более его администрировать, если словарь меняется;
а так есть вариант чуть пошустрее:
Код
let
    f=(x)=>Excel.CurrentWorkbook(){[Name=x]}[Content],
    g=(x,y)=>Text.Contains(y,x),
    h=(x)=>lst1{List.PositionOf(lst0,x,Occurrence.First,g)},
  
    dict = f("Таблица3"),
    lst0 = List.Buffer(dict[Город]),
    lst1 = List.Buffer(dict[Направление]),
    to = Table.AddColumn(f("Таблица2"),"Направление",each h([Маршрут строка]))
in
    to
Изменено: buchlotnik - 21 дек 2020 13:08:39
Каждому For свой Next
PQ Добавление столбца если данные содержат текст, по справочнику, по условию
 
Код
let
    f=(x)=>Excel.CurrentWorkbook(){[Name=x]}[Content], //вспомогательная функция для подключения к таблицам текущей книги
    g=(x,y)=>List.First(//в итоге будем брать первый элемент из совпавших
                            List.Accumulate(y,//аккумулируем список из аргумента y - вданном случае сюда передается преобразованный словарь из lst
                                            {},//за опорное значение принимаем пустой список
                                            (s,c)=>if Text.Contains(x,c{0}) //если текст из аргумента x содержит город из пары "город-направление"
                                                    then s&{c{1}} //добавить к списку это направление
                                                    else s)//иначе ниего не добавлять
                        ),

    dict = f("Таблица3"),//подключаемся к словарю
    lst = List.Buffer(List.Zip({dict[Город],dict[Направление]})),//превращаем таблицу словаря в список - пары город-направление
    to = Table.AddColumn(f("Таблица2"), //подключаемся к основной таблице
                            "Направление",//добавляем столбец "Направление"
                            each g([Маршрут строка],lst))//значение которого - функция g от столбца "Маршрут строка"
in
    to //усё
Каждому For свой Next
PQ Добавление столбца если данные содержат текст, по справочнику, по условию
 
Цитата
Михаил Л написал:
Я бы не заморачивался
ну на трех объектах-то да, правда со временем их обычно становится двадцать три, сто двадцать три и т.д.  :)
Каждому For свой Next
PQ Добавление столбца если данные содержат текст, по справочнику, по условию
 
Цитата
Andrey_S написал:
Добавил три справочника, и решаю через три условных столбца
избыточно, на мой вкус  ;)
Код
let
    f=(x)=>Excel.CurrentWorkbook(){[Name=x]}[Content],
    g=(x,y)=>List.First(List.Accumulate(y,{},(s,c)=>if Text.Contains(x,c{0}) then s&{c{1}} else s)),

    dict = f("Таблица3"),
    lst = List.Buffer(List.Zip({dict[Город],dict[Направление]})),
    to = Table.AddColumn(f("Таблица2"),"Направление",each g([Маршрут строка],lst))
in
    to
Каждому For свой Next
Откуда лишняя дробная часть при суммировании?
 
Цитата
Сергей М. написал:
Не помогает
а вы не пробовали округлить конечный результат?
Каждому For свой Next
Power Query. разложить столбцы с данными участников на соответствующие строки.
 
Цитата
Zealot92 написал:
вроде бы простую задачу
умиляют такие заявления...
в лоб

с рюшками

ну и функцией
Изменено: buchlotnik - 21 дек 2020 00:20:01
Каждому For свой Next
Книга резко набрала вес. В чем причина?
 
Цитата
New написал:
сперва в формат XLS, а потом снова в XLSX
таким образом были отрезаны столбцы с 256 и далее, но лишними на самом деле являются столбцы начиная с 45, отсюда и разница в размерах
Каждому For свой Next
Книга резко набрала вес. В чем причина?
 
файл снёс ещё и форматирование - 513 кб на выходе
Цитата
Стас Черный написал:
как вы это делаете?
делаем видимым всё скрытое и удаляем нахрен
совет на будущее - скрывайте всё лишнее в самом конце, когда уверены, что файл точно пашет; чтобы не было таких нежданчиков с протяжкой формул/форматов
Изменено: buchlotnik - 20 дек 2020 15:13:49
Каждому For свой Next
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 97 След.
Наверх