Формула Excel для проверки, является ли строка подстрокой другой строки и, если да, создание гиперссылки

0

Так что я уже давно работаю над этой проблемой в своем офисе. У меня есть файл Excel с несколькими тысячами строк, представляющих файлы, которые офис открывал, сканировал, закрывал или уничтожал. Мне нужно сделать гиперссылку на каждую строку, в которой был отсканирован файл, на отсканированный файл. Я смог добавить все гиперссылки, мне просто нужно посмотреть, совпадают ли они. Вот пример:

__________________________________________________________________________
  |     A   |     B        |  C   |                     D
---------------------------------------------------------------------------- 
1 | 05RE045 | Smith, Jones | Case | /server/2001/01CG938 Smith, Jones File 
2 | 05WT852 | Smith, Jones | Case | /server/1998/98CG123 Smith, Jones Case 
3 | 91BK394 | Smith, Jones | Case | /server/1994/94BK984 Smith, Jones Case 
4 | 01CG938 | Smith, Jones | File | /server/1984/89M540 Smith, Jones Case 
5 | 89CG034 | Smith, Jones | Case | /server/2001/01WT574 Smith, Jones Case
----------------------------------------------------------------------------

Я пытаюсь сделать так, чтобы, если текст из столбца «A» появился в столбце «D» (поскольку это единственная последовательно используемая функция именования), то столбцы A, B и C сохранят свой текст, но также гиперссылку по соответствующему адресу в столбце D (при том понимании, что столбец «D» не всегда совпадает со столбцом «A»). В этом случае строка 1 в столбце D совпадает со строкой 4, столбцы A, B и C.

Я пытался написать java-программу, которая создала бы файл excel на основе некоторых регулярных выражений, анализирующих имя папки, но я бью кирпичные стены и испытываю затруднения, оправдывая трату времени на написание программы в качестве юридического клерка в юридическая фирма.

user2928701
источник
Добро пожаловать в Супер пользователя. К сожалению, мы не сервис для написания кода. Вместо того, чтобы просто запрашивать код для выполнения определенной задачи, пожалуйста, покажите нам, что вы уже пробовали (включая любой код, который у вас есть) и где вы застряли, чтобы мы могли помочь вам в решении вашей конкретной проблемы. Вопросы, которые задают только код, слишком широки и могут быть отложены или закрыты .
DavidPostill
1
Для этого потребуется VBA, а не формула, если вы хотите изменить B, C и D
Raystafarian
Хмммм, хорошо. Не понимал, что это будет так. Спасибо.
user2928701
Вместо того, чтобы что-то менять (сложная проблема), как насчет простого выделения несоответствий, поскольку это простая проблема? Тогда вы можете просто визуально просмотреть любые проблемы.
Джулиан Найт
Если я понимаю проблему, правда ли, что в вашем примере ни одна из пяти записей не совпадает? Если это так, вы можете добавить еще одну запись, где это делается просто для ясности.
fixer1234

Ответы:

0

Как сказал @Raystafarian, проблема не может быть решена точно так, как описано без VBA.

Тем не менее, это можно обойти, чтобы дать такие же результаты. Не похоже, что это должно быть намного сложнее, чем использование HYPERLINKфункции, хотя это зависит от того, какое решение приемлемо.

Я бы предложил добавить пятый столбец для ваших ссылок со следующей формулой:

=IF(ISERR(FIND($A1,$D1)),"No Link",HYPERLINK(LEFT($D1,FIND(" ",$D1)),"Link"))

Возможно, вам придется добавить что-то перед тем, LEFTкак завершить путь к папке, но я не знаю вашу структуру хранения.

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

Стив Тейлор
источник