#excel #excel-formula
#excel #excel-формула
Вопрос:
У меня есть формула для извлечения DEF-678, но если после нее следует DE12345, она игнорируется. Мне нужно извлечь их оба в отдельные поля со своими уникальными формулами.
Вот формула, которая у меня есть: =IFERROR(MID(cell_number, FIND(«DE», cell_number), 8),»»)
Есть ли способ использовать символ подстановки или числовой оператор для извлечения DE ###? Должен ли я смириться с этим и изучить VBA? это упростит задачу?
Спасибо
Комментарии:
1. Как вы можете заметить,
FIND
имеет три аргумента. Итак, чтобы найти второй DE, используйтеfind("DE", cell, find("DE", cell) 1)
.
Ответ №1:
Вы не предоставили много подробностей, поэтому я делаю некоторые предположения здесь:
- Ваша начальная строка всегда содержит
DEF-###
строку ПЕРЕДDE#####
строкой - Других строк, которые имеют
DE
- Длина строки для обоих всегда равна 7 (не уверен, почему вы используете 8?)
Если приведенное выше верно, вы можете извлечь свою первую строку с помощью
=MID(A1,FIND("DE",A1),7)
И ваша вторая строка с использованием
=MID(A1,FIND("DE",SUBSTITUTE(A1,"DEF","~~~")),7)
Чтобы получить вторую строку, мы можем просто удалить DEF
тег из текста, а затем использовать тот же подход, что и для получения первой строки 🙂