Извлечение глав из ячейки с динамическими атрибутами - PullRequest
0 голосов
/ 08 мая 2018

Я сделаю все возможное, чтобы сделать это как можно более простым объяснением.

Ячейка A1 содержит ряд данных, похожих на:

X001DDWIQ3 (607093), X001E6Y98T (81299), X001E6Y98T (81299), X001DDWIQ3 (607093), X001R5N087 (605253), X00185UHG9 (439599), X00185UHG9 (439599), X001RPL9AN (37), X001PBDU9R (101) , X0017I5MV7 (439599)

Ячейка B1 аналогична и имеет соответствующие данные: CAE1, CMH1, DFW7, EWR4, MKC6, MKE1, OAK4, ONT2, SNA6

Ячейка C1 содержит одно значение из Ячейки B1 EWR4

Поскольку EWR4 является 4-м элементом в ячейке B1, он координируется с X001DDWIQ3 (607093), 4-м элементом в ячейке A1.

Поскольку все элементы в B1 состоят из 4 символов, разделенных запятой и без пробелов, я могу использовать формулу:

LEN(LEFT(A1,FIND(C1,B1)-1))/5+1

для определения позиции в B1, которую занимает C1.

Я пытаюсь извлечь соответствующее значение в ячейку D1. Единственная постоянная информация, которую я могу извлечь из того, что у меня есть сейчас, - это то, что искомое значение находится между 3-й и 4-й запятой, а символы вне скобок всегда имеют счетчик 10. Число в скобках является динамическим, и это это то, что ставит меня в тупик.

Мне нужно определить, сколько символов до 3-й запятой и 4-й запятой использовать в качестве точек начала и конца для = MID .

1 Ответ

0 голосов
/ 08 мая 2018

Ваш LEN(LEFT(A1,FIND(C1,B1)-1))/5+1 может быть упрощен до:

(FIND(C1,B1)-1)/5+1

Затем мы можем использовать это в середине, который добавляет 99 пробелов для каждого ,, что дает нам большую цель для поиска. Затем мы обрезаем возврат.

Использование:

=TRIM(MID(SUBSTITUTE(A1,",",REPT(" ",99)),((FIND(C1,B1)-1)/5)*99+1,99))

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...