Страницы: 1
RSS
Как собрать значения со всех столбцов в один по условию?
 
Доброй ночи!
Скрин примера того что нужно собрать в один столбец во вложении.

Есть ячейки со значениями, их можно отфильтровать/найти (в примере по IP:), находятся в разных столбцах.
Нужно свести все эти значения в один столбец.

Вручную крайне долго, приходится каждый столбец фильтровать по маске IP: и переносить значение в отдельный столбец.
Наверняка можно ускорить процесс - таких сборок сильно много ещё предстоит сделать.

Спасибо!
 
Цитата
написал:
Вручную крайне долго
Согласен. Думаю вы тоже согласитесь с тем, что никто в ручную воссоздавать по скриншоту Вашу таблицу не будет. ПРАВИЛА ФОРУМА
 
vaber, так?

P.S. Если что - все по-честному запросом PQ делается. Не ручками таблицу создавал :)
Изменено: surkenny - 09.12.2021 00:52:38
 
Цитата
написал:
vaber , так?
не совсем
Цитата
написал:
P.S. Если что - все по-честному запросом PQ делается. Не ручками таблицу создавал
Кроме разделителя ничем не умею в PQ пользоваться )

Крайне урезанный пример:
 
Цитата
vaber написал:
не совсем
как нет так-то? :)

Только не выводите на этот же лист. А то второй раз после сохранения и таблицу обработает :) И путь  листом  измените.
Код
let
  src    = Excel.Workbook ( File.Contents ( "C:\ip.xlsx" ), null, true ){[ Item = "Лист1", Kind = "Sheet" ]}[Data],
  result = Table.FromColumns ( { List.Select(List.Combine ( Table.ToColumns ( src ) ), (x)=>Text.Contains ( x, "IP:" )) }, { "IP" } )
in
  result
Изменено: surkenny - 09.12.2021 01:14:07
 
, аа, я условие некорректно пояснил  :oops:
В какой строке значение нашлось, в ту строку в отдельный столбец оно и должно попасть.
 
vaber, тогда так:
Код
let
  src    = Excel.Workbook ( File.Contents ( "C:\ip.xlsx" ), null, true ){[ Item = "Лист1", Kind = "Sheet" ]}[Data],
  result = Table.FromColumns ( { List.Select ( List.Combine ( Table.ToRows ( src ) ), ( x ) => Text.Contains ( x, "IP:" ) ) }, { "IP" } )
in
  result

Изменено: surkenny - 09.12.2021 01:15:49
 
Формулой:
 
Цитата
написал:
Формулой:
А как в столбик объединили?
Через сцепить по идее можно сделать, но может кнопку просто можно нажать? )
 
Цитата
написал:
А как в столбик объединили?
У Вас задачи как то отличаются, в теме про 1 столбик, потом меняете на:
Цитата
написал:
строке значение нашлось, в ту строку в отдельный столбец оно и должно попасть
Код
=СЦЕП(ЕСЛИОШИБКА(ЕСЛИ(ПОИСК("IP:*";A1:C1)<>"IP:*";A1:C1;0);""))
 
Цитата
, написал:
У Вас задачи как то отличаются, в теме про 1 столбик, потом меняете на:
Я скорее всего неправильно выразился, нужно было собрать значения ячеек по условию из разных столбцов в 1 столбец и в ту же строку, где это значение было обнаружено. С Вашей формулой всё получилось, спасибо большое!

, спасибо! Ваш способ тоже сработал! )
Страницы: 1
Наверх