Разобрать на строки

Вызов команды:
MulTEx -группа Ячейки/Диапазоны -Диапазоны -Разобрать на строки


Команда разбирает каждую строку таблицы на отдельные на основании значений ячеек и разделителя. Каждая строка повторяется столько раз, сколько получилось разбитых значений для ячейки.
На примере таблицы:
MulTEx - Разобрать на строки
Необходимо из этой таблицы создать новую - в которой для каждого отдельного артикула из столбца Артикул, которые разделены правым слешем - "/", будет создана отдельная строка. При этом в каждую строку столбца Артикул должен быть записан один артикул, а все остальные значения строки должны быть скопированы из исходной:
Разобрать на строки

Команда Разобрать на строки поможет сделать это без лишних манипуляций:
Разобрать на строки

Разобрать строки диапазона - указывается диапазон ячеек, строки которого необходимо разобрать на отдельные.
Повторить каждую строку - указывается целое число. Каждая строка таблицы будет скопирована указанное количество раз.
На основании значений столбца - указывается номер столбца, в котором записаны целые числа с количеством дублирования каждой строки. Для каждой строки может быть указано разное количество. Если в ячейке столбца будет записано пусто, 0 или текст - строка не дублируется.

Важно! Указывается только один столбец, который должен находиться "внутри" диапазона, указанного в поле Разобрать строки диапазона. При этом допускается указать целиком столбец или только одну ячейку - MulTEx сама определит нужные данные столбца, исходя из количества ячеек в диапазоне, строки которого надо разобрать.

В качестве разделителя использовать - указывается символ (или несколько символов), который будет применен в качестве разделителя для разбиения на части строк в столбец значений(столбец поля На основании значений столбца).
  • произвольный символ(ы) - любой символ или строка(слово, сочетание слов). Если в поле указано более одного символа - они считаются одной целой строкой, которую считать разделителем. Например, если в ячейках записано "Документ 12456, Документ 12984, Документ 14672", то в качестве разделителя можно использовать "Документ ". В итоге будет получено три строки со значениями: 12456, 12984, 14672.
  • специальный символ - выбирается один из специальных символов: "неразрывный пробел" или "перенос на строки". Стандартно такие символы невозможно ввести с клавиатуры, но они могут часто встречаться в ячейках. Например, эти символы часто применяется в выгрузках из различных программ(вроде 1С): неразрывный пробел для разделения цифр или слов, которые не надо переносить на строки, а перенос на строки - для разделения основания платежей и иной информации.
Переносить из исходной строки:
указывается какие данные и форматы должны быть скопированы в новые строки из исходной(копируемой) строки
  • Все - все новые строки переносятся так же, как если бы была осуществлена копирование-вставка исходной строки
  • Только значения - в новую строку переносятся только значения. Если в исходной строке были формулы - в новой строке они заменяются значениями
  • Только форматы - в новую строку переносятся только форматы. Значения и формулы очищаются.
  • Значения и форматы - в новую строку переносятся только значения и форматы. Если в исходной строке были формулы - в новой строке они заменяются значениями.
  • Только формулы - в новую строку переносятся только формулы. Все ячейки, не содержащие формулы, очищаются.
  • Только формулы и значения - в новую строку переносятся только формулы и значения. Форматы не переносятся.
  • Только формулы и форматы - в новую строку переносятся только формулы и форматы. Все ячейки, не содержащие формулы, очищаются.

Вставлять пустую строку после каждой новой позиции - если установлен, то после дублирования строк для каждой исходной строки в конце блока будет вставлена пустая строка (для разделения блоков):
ааа

Вывести результат - указывается, куда поместить результат разбора строк:
  • В исходной таблице - добавление и дублирование строк производится непосредственно в таблице, указанной в поле Разобрать строки диапазона. Строки добавляются со смещением вниз, не затрагивая данные и таблицы слева или справа.
  • В новый лист - исходная таблица, а так же добавленные и дублированные строки записываются на новый лист. Лист создается автоматически. Исходные данные при этом никак не изменяются.
  • Начиная с ячейки - исходная таблица, а так же добавленные и дублированные строки записываются начиная с указанной ячейки. Исходные данные при этом никак не изменяются. Если в указанной ячейке уже есть данные, MulTEx выдаст запрос: перезаписать имеющиеся в указанной ячейке данные или отменить операцию дублирования.
    ааа
    Да(Yes) - MulTEx продолжит выполнение. Все данные(равные по количеству строк и столбцов исходной таблицы), начиная с указанной ячейки, будут заменены.
    Нет(No) - команда завершается, возвращаясь в окно формы для изменения параметров.

Что важно: команда дублирует только те строки, для которых после разбиения текста, число разбитых значений более 1. Т.е. используется общее количество строк, которое должно быть в каждом блоке, включая исходную строку. Например, если в ячейке перечислены артикулы "12456 / 12984 / 14672" и в качестве разделителя указан правый слеш(" / ") - то всего получится 3 строки. Текст с артикулами в исходной строке будет заменен на первый артикул 12456, а после исходной строки будет добавлено ещё 2 строки оставшихся артикулов, чтобы общее число позиций равнялось 3-м. Т.е. в каждой отдельной строке будет свой артикул.

Loading

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.