Хотя ответы, которые вы не можете проанализировать HTML с регулярными выражениями, верны, они не применяются здесь. OP просто хочет проанализировать один тег HTML с регулярными выражениями, и это то, что можно сделать с помощью регулярного выражения.
Предлагаемое регулярное выражение неверно:
<([a-z]+) *[^/]*?>
Если вы добавите что-то в регулярное выражение, путем обратного отслеживания его можно заставить сопоставить такие глупые вещи, как <a >>
, [^/]
слишком разрешительно. Также обратите внимание, что <space>*[^/]*
является избыточным, поскольку [^/]*
также может соответствовать пробелам.
Мое предложение было бы
<([a-z]+)[^>]*(?<!/)>
Где (?<! ... )
(в Perl-регулярных выражениях) отрицательный внешний вид. Он читает «a», затем слово, а затем все, что не является>, последнее из которых не может быть /, а затем> «.
Обратите внимание, что это позволяет такие вещи, как <a/ >
( как и исходное регулярное выражение), поэтому, если вы хотите что-то более ограничительное, вам нужно создать регулярное выражение для соответствия парам атрибутов, разделенных пробелами.
Это невозможно с VLOOKUP. Посмотрите мое решение на картинке, используя формулу массива.
Решение с использованием формул массива
Формула в F2: = INDEX ($ C $ 1: $ C $ 6; SUM (IF (E2 = $ A $ 2: $ A $ 6) ; 1) * IF ($ B $ 2: $ B $ 6 = «маленький»; 1) * ROW ($ C $ 2: $ C $ 6)); 1)
blockquote>Ps: не не забудьте подтвердить формулу с помощью Ctrl + Shift + Enter .
Конечно, возможен многоколонный поиск, но без использования VLOOKUP. Вам нужно будет использовать INDEX и MATCH. Это становится довольно сложным, так как объединяет формулы массива с логической логикой. Вот хорошее объяснение.
https://exceljet.net/formula/index-and-match-with-multiple-criteria
Для вашего примера, предположим, что требуемая компания результата находится в столбце I.
=INDEX($F$4:$F$5,MATCH(1,(D4:D5=I4)*(E4:E5="small"),0))
Есть несколько решений, которые я обычно использую для этих задач. Они не элегантны, то есть не являются поиском по двум критериям, но они выполняют свою работу.
Исходя из структуры данных, у вас есть следующие варианты:
Сортировка таблицы поиска по размеру компании, с размером в порядке убывания. После этого это простое представление, поскольку ваши крупные компании сегрегированы из маленьких.
Создайте новый ключ, состоящий из размера компании, т.е. CONCAT (компания, размер), и выполните vlookup на основе этого ключа.