У меня есть две формулы функции MID, которые я использую для извлечения данных из определенной строки ячеек в электронной таблице Excel, которые отлично работают для меня при использовании отдельно в разных столбцах, но я хотел бы использовать эти формулы вместе с логикой «ИЛИ» в один и тот же столбец, поскольку мои данные могут быть либо или, и никогда не будут содержать оба условия в одной ячейке, пожалуйста, помогите
=MID(C4, FIND("ML", C4), LEN(C4) - FIND("ML", C4) + 1)
=MID(C4, FIND("PL", C4), LEN(C4) - FIND("PL", C4) + 1)
Я исчерпал все варианты, которые мог придумать, но ничего не помогает.
Примеры данных ниже:
xyz дрт ML0000123456
чс сб пт PL0000987456
asdfghg ML5236987412
lhkghibkjn PL1236540001
Не уверен, действительно ли вам нужно использовать MID, если у вас есть Office 365, этого будет достаточно: =TEXTAFTER(A1:A4," ",-1)
Попробуйте одно из следующих действий:
=IFERROR(REPLACE(A1,1,SUM(IFERROR(FIND({"ML","PL"},A1),0))-1,""),"")
Или,
=IFNA(TEXTAFTER(A1,TEXTBEFORE(A1,{"ML","PL"})),"")
Или лучше использовать такую формулу:
=LET(
a, TEXTSPLIT(A1," "),
FILTER(a,(OR(LEFT(a,2) = {"ML";"PL"}))*(LEN(a)=12)*(ISERR(--a)),""))
Ожидаемое вами поведение неясно, пожалуйста, уточните.
MID
извлекает строку, и вы не можетеOR
выполнить две операции с подстроками. Хотите ли вы использовать первый MID, если строку можно найти (FIND
) в ячейке? Что вы хотите, чтобы произошло, если ячейка содержит оба префикса?