Skip to content

Перехватывает несколько вхождений указанного символа, за которым следует содержимое

1. Обзор

1.1 Ожидаемое воздействие

Иногда пользователям необходимо перехватить символ в заданной позиции, который встречается в поле несколько раз.

Например, у пользователя есть поля с разной длиной символов, и ему нужно перехватить символы после последнего _, как показано ниже:

Или пользователю нужно перехватить значение столбца B в поле A|B|C, например, ему нужно перехватить всю академическую информацию, как показано на следующем рисунке:

1.2 Идеи для реализации

Вы можете использовать функцию " Разделить по разделителю" или использовать комбинацию функций, таких как INDEXOF, FIND, MID, SUBSTITUTE, RIGHT и т. д., чтобы добиться перехвата полей.

2. перехват символов после последнего указанного символа

Пример данных: Содержание после перехвата нескольких вхождений символов.xlsx

Загрузите данные образца в FineBI, как показано ниже:

2.1 Новые аналитические темы

Шаги по созданию новой темы анализа описаны в разделе: Новая Analysis Subject

2.2 Перехват заданных символов

2.2.1 Метод I

Нажмите "Еще > Разделить строки и столбцы" в интерфейсе редактирования данных, чтобы войти в интерфейс функции, как показано на следующем рисунке:

Разделите поле разделителем "_" и выберите "3-е поле" для позиции разделения. Как показано на рисунке ниже:

2.2.1 Метод II

Добавьте "Новый столбец", назовите его "Перехват символа после последнего _", введите формулу INDEXOF(SPLIT(field, "_"),LEN(SPLIT(field, "_"))-1), нажмите "ОК", как показано на рисунке ниже:

Примечание: Функции и поля в окне формул должны быть выбраны щелчком мыши в области выбора слева и не могут быть введены вручную.

Описание формулы:

формулыинструкциив конце концов
SPLIT(field, "_")Разделите поля на массивы по _До сегментации: a_b_cПосле разделения: a,b,c
LEN(SPLIT(field,"_"))-1Подсчитайте количество массивов после разделения поля на _ - 1Например, a_b_c рассчитывается как 2
INDEXOF(SPLIT(field,"_"),LEN(SPLIT(field,"_"))-1)Верните SPLIT () после разбиения массива на части в последнем _ после символаНапример, a_b_c рассчитывается как c

2.2.2 Метод III

1) Добавьте "Новый столбец формул", вычислите "Подсчитать количество символов в поле после разделения по _", введите формулу: LEN (SPLIT (поле, "_")), например, результат вычисления a_b_c равен 3, как показано ниже:

2) Добавьте "Новый столбец формул", рассчитайте "Заменить последний _ на -", введите формулу: SUBSTITUTE (поле, "_", "-", LEN (SPLIT (поле, "_")) - 1), как показано ниже:

3) Добавьте "Добавить новый столбец формул", рассчитайте "Найти с первого символа - где он находится", введите формулу: FIND("-",SUBSTITUTE(field,"_","-",LEN(SPLIT(field,"_"))-1) ,1), как показано ниже:

4) Добавьте "Добавить новый столбец формул", названный "Подсчитать количество символов после последнего _", введите формулу: LEN(field)-FIND("-",SUBSTITUTE(field,"_","-",LEN(SPLIT(field,"_" )-1),1), как показано ниже:

5) Добавьте "Новый столбец формул", извлеките символы после последнего _ в поле, названном "Перехват заданных символов", введите формулу RIGHT(Field,LEN(Field)-FIND("-",SUBSTITUTE(Field,"_","-",LEN(SPLIT (поле, "_"))-1),1)), как показано ниже:

2.3 Отображение эффектов

Подробности см. в разделе 1.1 данного документа.

3. Перехватите значение столбца B в поле A|B|C.

Примечание: Длина каждого поля данных в столбце B не совпадает.

Пример данных: Информация о наборе персонала.xlsx

Загрузите данные образца в FineBI, как показано ниже:

3.1 Новые аналитические темы

Новые темы анализа можно найти в разделе: Новая Analysis Subject

3.2 Перехват заданных символов

3.2.1 Метод I

Нажмите "Еще > Разделить строки и столбцы" в интерфейсе редактирования данных, чтобы войти в интерфейс функции, как показано на следующем рисунке:

Разделите поле разделителем "|" и выберите "2-е поле" для позиции разделения. Как показано на рисунке ниже:

3.2.2 Метод II

Добавьте "Новый столбец формул", назовите и введите формулу: INDEXOF(SPLIT(Number of District Academic Qualifications,"|"),1), нажмите "OK", как показано на рисунке ниже:

Примечание: Функции и поля в окне формул должны быть выбраны щелчком мыши в области выбора слева и не могут быть введены вручную.

Описание формулы:

формулыинструкции
SPLIT (количество региональных квалификаций, "|")Сегментируйте поле "Региональная академическая персона" в соответствии с символом |Например, "Shenzhen | Undergraduate | Recruitment of 5 persons" превращается в "Shenzhen, Undergraduate, Recruitment of 5 persons".
INDEXOF (SPLIT(количество региональных квалификаций, "|"),1)Возвращает содержимое второй позиции строки результата.Например: "Шэньчжэнь, бакалавр, набираем 5 человек" вернитесь к "бакалавр".

3.2 Демонстрация эффектов

Подробности см. в разделе 1.1 данного документа.

Подробнее о перехвате содержимого полей см. в разделе: Дезагрегация полей