Страницы: 1
RSS
Выбор из повторяющихся строк уникальных при наступлении определенного условия
 
Уважаемые форумчане, всем добрый день! Если есть моряки - за ВМФ!
Помогите подобрать решение к следующей ситуации (пример во вложении).

Для повторяющихся строк (столбец B) может быть несколько разных статусов согласования (столбец D). Мне необходимо выводить под таблицей (или на новый лист) перечень разделов из столбца B, которые 100% согласованны (для них нет значений "замечания" в столбце D) и разделы, для которых есть хотя бы один статус "замечания" в столбце D.

Помогите с решением, подскажите пожалуйста какими функциями можно воспользоваться.
 
С доп.столбцом
 
Спасибо большое!
Можете помочь с синтаксисом? Нужно было добавить, что в столбце В может быть в разброс наименования разделов, например:
раздел 1
раздел 4
раздел 1
и др.
Изменено: vikttur - 25.07.2021 21:54:30
 
gooreloov,
Код
// in

let
   source =
      Excel.CurrentWorkbook(){[Name="in"]}[Content],
    tableTransform =
      Table.TransformColumnTypes(
         source,
         {
            {"№ п/п", type text},
            {"Наименование раздела", type text},
            {"Номер проверяющего", type text},
            {"Статус согласования раздела", type text}
         }
      ),

   tableGroup =
      Table.Group(
         tableTransform,
         {"Наименование раздела"},
         {
            {
               "Статус согласования раздела",
               each
                  (if
                     List.Contains([#"Статус согласования раздела"], "замечания")
                  then
                     "замечания"
                  else
                     "согласован"),
               type text
            }
         }
      ),

    tableSort =
      Table.Sort(
         tableGroup,
         {
            {"Наименование раздела", Order.Ascending}
         }
      ),

    TaleGroup2 =
      Table.Group(
         tableSort,
         {"Статус согласования раздела"},
         {
            {
               "Разделы", each [#"Наименование раздела"]
            }
         }
      ),

    tableTransp =
      Table.Transpose(TaleGroup2),

    tableHeaders =
      Table.PromoteHeaders(
         tableTransp,
         [PromoteAllScalars=true]
      ),

    tableExpand =
      Table.ExpandListColumn(
         tableHeaders,
         "замечания"
      ),

    tableExpand2 =
      Table.ExpandListColumn(
         tableExpand,
         "согласован"
      )
in
    tableExpand2



// замечания


let
    source =
      #"in"[замечания],

    listDistinct =
      List.Distinct(source)
in
    listDistinct



// согласован

let
    source =
      #"in"[согласован],

    listDistinct =
      List.Distinct(source)
in
    listDistinct
 
Можно попросить вставить макрос в пример, чтобы иметь возможность с ним дальше разбираться?
Я очень далеко знаком с макросам.
Изменено: vikttur - 26.07.2021 21:22:38
 
del
Изменено: buchlotnik - 21.08.2021 21:38:28
Соблюдение правил форума не освобождает от модераторского произвола
 
buchlotnik, cпасибо!
Проблема в том, что я не разбираюсь в макросах.
Чтобы запустить макрос - его же нужно добавить в Visual Basic.
Но при копировании только кода, который вы написали - макрос не создается и не сохраняется в файле.
Насколько я понимаю, не хватает каких-то вводных и окончательных функций.
Можете сохранить написанный макрос непосредственно в файле примера?
А я уже дальше буду разбираться, как его перенести в рабочий файл с данными.
 
Цитата
gooreloov написал:
я не разбираюсь в макросах
это не макрос, а код я языке М и он сохранен в файле - см. Данные - Запросы и подключения
Соблюдение правил форума не освобождает от модераторского произвола
 
Цитата
buchlotnik написал:
Цитата
gooreloov написал:
я не разбираюсь в макросах
это не макрос, а код я языке М и он сохранен в файле - см.  Данные - Запросы и подключения
СПАСИБО большое! Буду изучать.
Я правильно понял, что для написания запросов нужна надстройка POWER QUERY?
 
Я правильно понял, что для написания запросов нужна надстройка POWER QUERY?
 
если 2010 или 2013 - да, начиная с 2016 - это встроенный функционал
Соблюдение правил форума не освобождает от модераторского произвола
 
Цитата
buchlotnik написал: ... вариант
Можете помочь, чтобы перечень разделов выводился не в одной ячейке через запятую, а в разных ячейках?
Изменено: vikttur - 26.07.2021 22:12:06
 
Цитата
gooreloov написал:
не в одной ячейке через запятую, а в разных ячейках?
вот что мешает в исходном файле рядом нарисовать Как есть - Как надо?
Соблюдение правил форума не освобождает от модераторского произвола
 
Все понял! Прикладываю файл.Молодой, исправлюсь.
Изменено: gooreloov - 26.07.2021 21:48:07 (Исключил цитирование.)
 
del
Изменено: buchlotnik - 21.08.2021 20:44:44
Соблюдение правил форума не освобождает от модераторского произвола
 
Код
=ФИЛЬТР.XML("<j><i>"&ПОДСТАВИТЬ(ОБЪЕДИНИТЬ(",";1;ФИЛЬТР(L:L;K:K="согласован"));",";"</i><i>")&"</i></j>";"//i")
=ФИЛЬТР.XML("<j><i>"&ПОДСТАВИТЬ(ОБЪЕДИНИТЬ(",";1;ФИЛЬТР(L:L;K:K="не согласован"));",";"</i><i>")&"</i></j>";"//i")
 
gooreloov, бананы при нажатии на кнопку цитирования не выдают! Думать надо и при цитировании. Исправьте свои сообщения.
Помощь скрыта до устранения замечания. исправите, напишите сообщение, чтобы было видно, что скрытое можно отобразить
Изменено: vikttur - 26.07.2021 21:25:21
 
Не совсем понял суть замечаний. Исправил цитирования, удалил из него коды.
 
Да что тут понммать7 Цитата служит для уточнения, усиления последующего текста. НЕ ДЛЯ ОТВЕТА!
Посмотрите на свое чудо-сообщение №9. Что там делает цитата? Мусорит в теме, более никакой нагрузки она не несет. Для простого ответа можно по имени обратиться (кнопка Имя) илипосле подготовки сообщения  нажать кнопку Ответить
Страницы: 1
Наверх