У меня есть файл источника данных, который содержит буквенно-цифровое имя и число в текстовом файле без форматирования (например, «Dbandit46 500 856», где Dbandit - это имя пользователя, а 46 500 856 - числовое значение).

Данные в исходном файле были созданы процессом, который нельзя редактировать, чтобы обеспечить форматирование, позволяющее разделять содержимое ячейки с помощью обычных формул или процессов Excel (например, преобразовать в текст).

Текстовый файл создается каждую неделю, и число результатов варьируется от недели к неделе (например, на неделе 1 может быть 46 имен пользователей; на неделе 2 - 53; на неделе 3 - 17 имен пользователей).

Вопрос: есть ли способ удалить имя пользователя из содержимого / значения ячейки, выполнив "vlookup", "оператор if" или "filter" или подобное?

Я могу составить список имен пользователей, которые я мог бы использовать в качестве критериев выбора в формуле, но не имею понятия о том, как применить такое решение в формуле для удаления определенной части содержимого ячейки!

Альтернатива - вручную удалять имя пользователя из значения каждую неделю.

Спасибо!

[Использование Excel 2016]

1 ответ1

0

Это решение основано на упрощенной версии обычного метода поиска первого числа в строке. Упрощение исключает "обработку ошибок", которая обычно включается, потому что я предполагаю, что все ваши значения всегда будут начинаться с имени и заканчиваться числовой строкой.

Формула в Б1:

=MID(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1)),LEN(A1))

Это формула массива. На изображении вы видите его в окружении фигурных скобок (фактически правая фигурная скобка на изображении отрублена). Excel помещает их там в качестве индикатора, когда вы используете Ctrl + Shift + Enter для подтверждения формулы вместо обычного Enter. Обратите внимание, что я сделал это в LibreOffice Calc, который требует, чтобы формула вводилась как формула массива. В Excel это может не понадобиться.

Часть MID(A1,...,LEN(A1)) извлекает номер, переводя часть строки, начиная с первого номера, до конца строки. LEN(A1) будет длиннее, чем число, но в Excel в конце строки заканчиваются символы.

Часть MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1)) в середине - это то, что находит первое число. НАЙТИ ищет все цифры в строке, а МИН определяет самое раннее местоположение.

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