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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 След.
Сортировка номеров телефонов по уникальности, Есть список номеров телефонов, его нужно отсортировать так чтобы номера друг за другом были наименее похожи
 
Вдруг угадал.
А то блин, пояснение: "вот есть у нас 890 46 12", а потом "ну вот крч пример чисел 79166961104"  :D
Код
let
    f=(Источник as table,off as number, num as number, word as text) =>
    [   Sort = Table.Sort(Источник,{{"Столбец1", Order.Ascending}}),
        Group = Table.Group(Sort, "Столбец1", {"col", each Table.AddIndexColumn(_,"index"&word,1,1)}, 
             GroupKind.Local, 
             (s,c)=> Number.From( Text.Range(Text.From(s),off,num) <> Text.Range(Text.From(c),off,num))),
        Combine = Table.Combine(Group[col]),
        SortAgain = Table.Sort(Combine,{{"index"&word, Order.Ascending}}),
        Remove = Table.RemoveColumns(SortAgain, {"index"&word}),
        Index = Table.AddIndexColumn(Remove,"index"&word,1,1)
    ][Index],

    tbl = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    step1 = f(tbl,0,4,"one"),
    step2 = f(step1,4,3,"two"),
    step3 = f(step2,7,2,"three"),
    step4 = f(step3,9,2,"four"),
    step5 = Table.Sort(step4,
            {
                {"indexone", Order.Ascending}, 
                {"indextwo", Order.Ascending}, 
                {"indexthree", Order.Ascending}, 
                {"indexfour", Order.Ascending}
            }
    )[[Столбец1]]
in
    step5
Изменено: whateverlover - 04.10.2022 23:14:46
Сортировка номеров телефонов по уникальности, Есть список номеров телефонов, его нужно отсортировать так чтобы номера друг за другом были наименее похожи
 
Цитата
kdbled написал:
внутри группы "890",
с этих цифр начинается номер или это из середины?
Количество товаров, полученных по акции 10+4
 
Если дату не учитывать, то артикул 24638 четыре раза является повторным.
Если учитывать, то этот артикул каждый раз как новый идет и лишь 30.09 он повторяется.

Название клиента Артикул index
"ООО ""Маркетплейс""" 24638 1
"ООО ""Маркетплейс""" 24638 2
"ООО ""Маркетплейс""" 24638 3
"ООО ""Маркетплейс""" 24638 4


Название клиента Артикул index Дата документа
"ООО ""Маркетплейс""" 24638 1 18.09.2022
"ООО ""Маркетплейс""" 24638 1 27.09.2022
"ООО ""Маркетплейс""" 24638 1 30.09.2022
"ООО ""Маркетплейс""" 24638 2 30.09.2022

Смотрите файл, там никакого решения нет, но может Вас натолкнет на что.
Изменено: whateverlover - 04.10.2022 16:17:24
Количество товаров, полученных по акции 10+4
 
какого решения-то, его нет
это обычная группировка, но в зависимости от условий акции, группировать придется по разному
10 уникальных артикулов за день? 10 уникальных артикулов за весь период акции?
Человек может купить девять артикулов, условно, 1 2 3 4 5 6 7 8 9, а потом купить еще пять артикулов 9 9 9 9 9 и нифига он не получит.
У большинства клиентов покупки ограничились одним днем, но например, у """ООО """"Маркетплейс""""""" шесть дней.

Хотя бы на это ответьте, 10 уникальных позиций за день или нет  :D
Изменено: whateverlover - 04.10.2022 16:01:35
Удаление строк, которых нет в содержимом на другом листе
 
pavebuk, во вложении через ВПР. Фильтром НД отбирайте и удаляйте.
Но учитывайте, что ВПР ищем по полному совпадению, т.е приведение телефонных номеров к единому виду, это уже другая задача.
Количество товаров, полученных по акции 10+4
 
Цитата
Eskaibur написал:
при условии что за каждые взятые разные 10 шт он получил 4 любых бонусов
Только за 10 разных позиций получается акция? Я на это и указал, что 10 разных товаров (уникальных).

А теперь такая ситуация:
Получил в подарок 4 одинаковых скю

Тогда у него через несколько таких циклов-покупок по 10 артикулов, в последних 10 не наберется 10 уникальных.
Вообщем условия акция Вы нам говорить не хотите...
Изменено: whateverlover - 04.10.2022 15:50:02
Удаление строк, которых нет в содержимом на другом листе
 
pavebuk, ну самое простое, проВПРте по столбцу с телефоном. Где #Н/Д - удаляйте.
Количество товаров, полученных по акции 10+4
 
Цитата
Eskaibur написал:
и за это должен получить 16 скю, но он получил 14.
Так вы нам и скажите, почему он 14 получил вместо 16.
На примере "ООО ""Мишель М.В.""", почему 54,а  не 56? Все покупки в один день совершены.
почему только 2?

Цитата
bigorq написал:
Нужно знать условия акции
Изменено: whateverlover - 04.10.2022 15:38:26
Подстановка уникальных значений в таблицу из других двух таблиц, Версия Excel 2016, функции УНИК нет.
 
Сергей Торопов, Вам, наверное, формулами лучше, но если никто не подскажет, то вот вариант решения на PQ.
Код
let
    Юг = Excel.CurrentWorkbook(){[Name="Юг"]}[Content],
    Запад = Excel.CurrentWorkbook(){[Name="Запад"]}[Content],
    Headers = {"Продукты УНИКАЛЬНЫЕ", "Вид", "Кол-во"},
    Append = Table.Combine({        
         Table.RenameColumns(Юг, List.Zip({Table.ColumnNames(Юг), Headers})), 
         Table.RenameColumns(Запад, List.Zip({Table.ColumnNames(Запад), Headers}))}),
    Group = Table.Group(Append, {"Продукты УНИКАЛЬНЫЕ", "Вид"}, {"Кол-во", each List.Sum([#"Кол-во"]), type number})

in
    Group
Изменено: whateverlover - 04.10.2022 13:44:43
PQ сцепления столбцов с именем столбца Таблицы
 
Написал в ЛС за уточнением.
Отправлено, оплачено.
Изменено: whateverlover - 04.10.2022 11:25:30
PQ сцепления столбцов с именем столбца Таблицы
 
Виктор C, а в чем затык с предложенным в теме решением? Разве там есть какое-то ограничение на кол-во столбцов или их имен?  :(
Если никто не против, я могу сделать.  :)
Изменено: whateverlover - 04.10.2022 09:57:03
Написание макроса, Макрос, который будет генерировать несуществующие URL-адреса по условиям, а также проверять код ответа сервера
 
ilya_515, можете файлы выложить или в личку направить по всем трем своим темам? :)
Мне интересно с точки зрения тренировки, не претендую на работу. Если Вам не жалко.  :)
Перемещение людей по штату по "цепочке"
 
fullmetallemo,  приложите файл, в котором у вас такая ошибка. Как я должен угадать о какой функции речь.
Цитата
fullmetallemo написал:
так ВПРом и я могу подтянуть  :D  
на ВПРах во вложении
Изменено: whateverlover - 03.10.2022 23:42:36
Правильное применение функции к нескольким колонкам Power Query
 
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
    #"Type modifié" = Table.TransformColumnTypes(Source,{{"OneKey", type text}, {"DATE", type date}, {"TYPE", type text}, {"Nb", Int64.Type}}),
    #"Colonne dynamique" = Table.Pivot(#"Type modifié", List.Distinct(#"Type modifié"[TYPE]), "TYPE", "Nb", List.Sum),
    #"Valeur remplacée" = Table.ReplaceValue(#"Colonne dynamique",null,0,Replacer.ReplaceValue,{"OneKey", "DATE", "DSP", "MSL"}),
    #"Lignes triées" = Table.Sort(#"Valeur remplacée",{{"DATE", Order.Ascending}, {"OneKey", Order.Ascending}}),
    #"Année insérée" = Table.AddColumn(#"Lignes triées", "Année", each Date.Year([DATE]), Int64.Type),
    #"Lignes groupées" = Table.Group(#"Année insérée", {"OneKey", "Année"}, {{"tab", each _, type table [OneKey=text, DATE=date, DSP=nullable number, MSL=nullable number, Année=number]}}),
    ADD =  Table.AddColumn(#"Lignes groupées", "Пользовательский", each 
        let  
            a = fn_tot_cumul([tab],[tab][DSP],"Cumul_det_DSP") ,
            b = fn_tot_cumul(a,a[MSL],"Cumul_det_MSL")
        in 
            b),
    COMBINE =  Table.Combine(ADD[tab])       
in
    COMBINE

Вариант. Я что-то никогда методом Table.ReplaceValue не пользуюсь, но если нравится и хочется именно так, можно подумать как там впиндюрить.
Вот так еще:
Код
    ПрименитьФункцию = Table.TransformColumns(#"Lignes groupées", 
            {"tab", each List.Accumulate(
                {"DSP", "MSL"},
                _,
                (s,c) =>  fn_tot_cumul(s,Table.ToColumns(Table.SelectColumns(s, c)){0},"Cumul_det_"&c)
                )
            }
        )

Или так, проще понять:
Код
    ПрименитьФункцию = Table.TransformColumns( #"Lignes groupées", 
        {
            {
                "tab", each [a = fn_tot_cumul(_,_[DSP],"Cumul_det_DSP"),
                             b= fn_tot_cumul(a,a[MSL],"Cumul_det_MSL")][b]
            }
        }
    )
Изменено: whateverlover - 03.10.2022 23:21:27
Power query. Пользовательская функция VBA в ячейке
 
Здесь сказали, что нельзя. Было бы здорово, конечно, если б можно было  :)
Михаил Л, прикольно) но дальше в расчетах не поиспользуешь, пока на лист не выгрузишь(
Изменено: whateverlover - 03.10.2022 09:46:24
Перемещение людей по штату по "цепочке"
 
fullmetallemo, я файл приложил, там все есть уже.
Это запрос Power Query, в интернете можно почитать подробнее.
Перемещение людей по штату по "цепочке"
 
Моя последняя попытка угадать что надо  :)
Не понял почему именно с Иванова начинается, у меня список будет начинаться с Директора  :sceptic:

Михаил Л, спасибо
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    ChangeType = Table.TransformColumnTypes(Источник,{{"№", Int64.Type}, {"Долж", type text}, {"ФИО", type text}, {"ПЕРЕМЕЩ", type text}, {"РАПОРТ", type text}}),
    Director = ChangeType{[Долж="Директор"]}[ФИО],
    Index = Table.AddIndexColumn(ChangeType, "Индекс", 0, 1, Int64.Type),
    ПЕРЕМЕЩ = {Director}&List.RemoveItems( List.RemoveNulls(Index[ПЕРЕМЕЩ]), {Director}),
    LA = List.Accumulate(
        {1..List.Count(ПЕРЕМЕЩ)-1},
        {Director},
        (s,c)=> [a = Index{[ПЕРЕМЕЩ=List.LastN(s, 1){0}]}[Индекс],
                 b = Index{a}[ФИО],
                 d = s&{b}
                ][d]   
    ),
    toTable = Table.ReorderColumns(Table.AddIndexColumn(Table.FromList(LA,null,{"ФИО"}),"№",1,1), {"№","ФИО"})
in
    toTable
Изменено: whateverlover - 02.10.2022 20:52:10
Перемещение людей по штату по "цепочке"
 
Ах ну раз впром подтянуть можете, создавайте список с должности и впрте
Перемещение людей по штату по "цепочке"
 
fullmetallemo, не понимаю, отсортировать нужно таблицу просто?
=ИНДЕКС($F$13:$F$16;ПОИСКПОЗ([@ПЕРЕМЕЩ];$G$13:$G$16;0)) вот это даст порядковый номер, по нему и сортируйте
ну и следите, чтобы двух Ивановых не было  :)
Перемещение людей по штату по "цепочке"
 
Код
=ЕСЛИ(
      ПОИСКПОЗ([@ПЕРЕМЕЩ];$G$13:$G$16;0)=СЧЁТЗ($G$13:$G$16);
      "за ним никого нет";
      ЕСЛИОШИБКА(
         ИНДЕКС($G$13:$G$16;ПОИСКПОЗ([@ПЕРЕМЕЩ];$G$13:$G$16;0)+1);
         "такого нет в списке"
                )
     )

Коллеги, почему в моем варианте ЕСЛИОШИБКА все равно выдает ошибку? Если вот так в отдельном столбце делаю ЕСЛИОШИБКА(ИНДЕКС($G$13:$G$16;ПОИСКПОЗ([@ПЕРЕМЕЩ];$G$13:$G$16;0)+1);"такого нет в списке"), то все работает, а если в качетсве третьего аругемента ЕСЛИ работать не хочет.
Изменено: whateverlover - 02.10.2022 17:39:35
Перенос данных ячейки из одного файла в другой по определенной метке
 
Была ошибка в коде. Прикладываю исправленный вариант.
On Error игнорирует ошибку в первый раз, но не игнорирует во второй
 
ZVI, спасибо большое, очень интересно, теперь все понятно :-)
Посчитать формулой количество значений соответствующих условиям
 
=СУММПРОИЗВ((ЕФОРМУЛА($E$2:$E$10))*($D$2:$D$10="Караганда"))
Перенос данных ячейки из одного файла в другой по определенной метке
 
Сергей Павлов, вроде что-то вышло, потестируйте. Сделано на Power Query + VBA, т.е. офис должен быть от 16 и новее, либо PQ должен быть установлен отдельной надстройкой.
Но сразу скажу, это вариант для фана, уверен на чистом VBA можно набросать поинтересней вариант, просто никто связываться не хочет, т.к. видно, что Вам еще 50 раз надо будет что-то подредактировать  :D А так для здешних макросников, думаю, задача минут на 15. Было бы нормальное ТЗ.
Код
Изменено: whateverlover - 02.10.2022 15:24:47
On Error игнорирует ошибку в первый раз, но не игнорирует во второй
 
Друзья, добрый день!
В этой теме при решении столкнулся с такой проблемой.
Через VBA создаю PQ запросы. Имя запроса, имя таблицы и имя листа берутся из таблицы DistinctValues.
При повторном запуске кода, хочу чтобы если такой запрос/лист уже есть, то просто переходило к следующему значению в списке DistinctValues.
Сейчас подумал, понимаю, что тупанул и можно просто проверить есть ли лист с таким названием в книге, но все равно интересно следующее:
Ставлю On Error Resume Next, чтобы когда возникнет ошибка, что запрос с таким именем уже существует, что-то с этим сделать.
Ставлю MsgBox Err.Number, получаю код ошибки и увожу на ErrHandler. Т.е. в первом цикле все хорошо.
Но во втором, получаю тот же код ошибки, но при этом Resume Next Не срабатывает и открывается дебагер.
Почему так себя ведет, в чем ошибка?

Спасибо.
Код
Перенос данных ячейки из одного файла в другой по определенной метке
 
Сергей Павлов, да нет, Вы не надоедаете, просто это задача решаемая через VBA, чуть посложней задачка и я уже с ней не совладаю.
Попытался решить с помощью статьи отсюда через свой любимый PQ  :)
Столкнулся с проблемой, создал отдельную тему под нее, интересно почему VBA так себя ведет.
Изменено: whateverlover - 02.10.2022 03:15:18
Перенос данных ячейки из одного файла в другой по определенной метке
 
Сергей Павлов, ну а если первое будет "без ПП", а другое с номером, все равно первое брать?
Вы придумываете условия на ходу пока что  :)
Преобразование таблицы: перенос значений из столбцов в строки"
 
jacksonville, делается одной кнопкой в Power Query.
Название темы по сути "Транспонирование таблицы".
Но человек не знает, возможно, это слово.
Тогда можно "Преобразованием таблицы, перенести названия столбцов в строки". jacksonville, но это должны Вы придумывать. Название не должно быть слишком общим, а под Ваше название попадает любая операция с таблицей, т.к. она ее преобразует.  :)
Журнал учёта ., Журнал учёта , с переход на новую строку при заполнении текущей
 
Сергей Фенев, предположу, что Вы задаете переменную sh как книгу, а ей присваиваете лист. Ну и метода/свойства Range у книги нет, поэтому ошибка. Вот Вам и сказали сравнить картинки, на первых картинках было Worksheet.
Может и не прав, в VBA слаб, проверяйте.
Изменено: whateverlover - 01.10.2022 19:05:16
Сгруппировать таблицу по месяцам и ФИО
 
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    PromoteHeaders = Table.PromoteHeaders(Источник, [PromoteAllScalars=true]),
    MonthName = Table.AddColumn(PromoteHeaders, "Месяц", each Date.MonthName(Date.From([Период]))),
    DoubleGroup = Table.Group(MonthName, "Месяц", 
        {"tbl", each 
            Table.Group(_, "Работник", 
                {"Должность", each 
                    Text.Combine([Должность], "#(lf)")}
                       )
        }
    ),
    Expand = Table.ExpandTableColumn(DoubleGroup, "tbl", {"Работник", "Должность"}, {"Работник", "Должность"})
in
    Expand

upd. блин, зачем два раза группировал  -_- лучше как у mechanix 85
Изменено: whateverlover - 01.10.2022 16:10:49
Страницы: 1 2 3 4 5 6 7 8 9 10 11 След.
Наверх