Я хочу извлечь числовое значение сразу после строки "ABS" (чувствительно к регистру) в объеме текста в ячейке из таблицы Excel.

Не вся ячейка может содержать искомую строку, поэтому требуется фильтр.

Содержимое ячейки выглядит примерно так:

Lorem Ipsum Dolor Sit Amet, Concetetur Adipiscing Elit. Morbi ante mi, laoreet nec tristique et, содовая в дуи. Vestibulum ullamcorper augue at nibh auctor laoreet ornare nisi posuere. Aliquam convallis nisl auctor mauris pharetra faucibus. Nullam nulla dolor, varius viverra facilisis nec, виверра в мучителе. Integer sollicitudin, elit in tempor interdum, sapien justo luctus justo, id varius nisi mauris at ipsum. Vivamus tincidunt neque sed felis accumsan tempus.

ABS: 1,5, ADS: 2,5, SR: 11

Пеллетентный обитатель Morbi Tristique Senectus et netus и malesuada славится ac turpis egestas. Integer vestibulum felis et lorem pretium molestie. Nulla imperdiet, magna vel accumsan ornare, augu quam ornare justo, vitae volutpat turpis orci quis nibh. Nullam Vitae Diam et ligula Commodo Pretium. Etiam et luctus dui.

Проблема в том, что, поскольку содержимое вводится вручную, оно может различаться по структуре, с небольшими изменениями, такими как:

ABS: 1,5 (пробел после ABS)

или же

ABS составляет 1,5 («есть» вместо двоеточия)

или же

ABS = 1,5 («=» вместо двоеточия)

или же

ABS 1.5 (числовое значение сразу после текста без двоеточия)

....так далее

Числовое значение находится в диапазоне 0-8,5 с шагом 0,5 (т. Е. 0, 0,5, 1,0, ... 7,5, 8,0, 8,5).

Я пробовал комбинацию функций left() и find(), но не знаю, как просто извлечь числа после нахождения строки "ABS". Если кто-то может помочь или указать мне направление, я был бы очень признателен. Спасибо!

1 ответ1

2

Эта формула находит ABS .... затем находит первое числовое значение после этого и затем принимает число, которое начинается там (до 5 символов)

=LOOKUP(10^10,MID(A1,MIN(FIND({1,2,3,4,5,6,7,8,9,0},A1&1234567890,FIND("ABS",A1))),{1,2,3,4,5})+0)

Предполагает данные в А1

Если число может быть длиннее 5 символов, расширьте часть {1,2,3,4,5}

Если вы хотите избежать ошибки, если ABS не найден, попробуйте включить функцию IFERROR.

=IFERROR(LOOKUP(10^10,MID(A1,MIN(FIND({1,2,3,4,5,6,7,8,9,0},A1&1234567890,FIND("ABS",A1))),{1,2,3,4,5})+0),"")

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .