У меня есть около 900 строк в Excel, и мне нужно проанализировать и вычислить конкретную информацию из каждой строки в другую строку.

Пример строки:

Система xyz имеет 4 х 10 ТБ данных, назначенных клиенту.

Я должен быть в состоянии найти 4 x 10 ТБ и вычислить, чтобы это было 40 ТБ в отдельном столбце. Однако некоторые люди отмечают, что это 4x10 ТБ или 4 x 10 ТБ или 4 x 10 ТБ. Некоторые данные только ГБ.

Есть ли формула, чтобы использовать, чтобы хотя бы извлечь хранилище?

1 ответ1

0

Я бы, вероятно, добавил 4 колонки, чтобы облегчить поиск неисправностей и выполнить математику / преобразование позже.

  1. Строка для разбора
  2. подсчитывать
  3. Размер
  4. Единица измерения (ТБ или ГБ)

"Строка для анализа" - это соответствующий раздел заметки, из которого нам нужно рассчитать. Регулярные выражения могут помочь вам здесь.

Добавьте пользовательскую функцию для регулярных выражений, как указано здесь:https://stackoverflow.com/questions/9744602/how-do-you-execute-a-regular-expression-in-excel

Я думаю, что вы хотите регулярное выражение:

"[0-9 x]*[GT]B" 

который будет возвращаться следующим образом с учетом этих строк (после удаления всех пробелов):

BOB HAS 400 x 10   gB --> "400x10gB"
4x10TB IN THE building xx --> "4x10TB"
I have 20TB of space --> "20TB"

Итак, чтобы получить "String to parse", допустим, вы поместили это в B2 с целевой ячейкой A2:

=SUBSTITUTE(udfRegEx(A2,"[0-9 x]*[GT]B")," ","")

Счет может быть извлечен с помощью (обратите внимание, что он заполняет это как 1, когда не указано кратное число)

=IF(ISERROR(FIND("x",B2)),1,VALUE(LEFT(B2,FIND("x",B2)-1)))

Размер можно извлечь с помощью:

=IF(ISERROR(FIND("x",B2)),VALUE(LEFT(B2,LEN(B2)-2)),VALUE(MID(B2,FIND("x",B2)+1,LEN(B2)-2-FIND("x",B2))))

Единица измерения (ТБ или ГБ) с:

=UPPER(RIGHT(B2,2))

Count и Size оба возвращаются как числа, так что вы сможете умножать и добавлять оттуда ...

Обратите внимание, что одна функция VBA могла бы сделать все это и скрыть большую часть сложности, но я думаю, что лучше оставить функции VBA настолько универсальными, насколько это возможно, и делать все остальное в Excel, если это целесообразно.

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