У меня есть следующая информация в Excel:
Part Number Part Name
199-102-002-B Miniature Angle Mount Riser Block
199-102-092-C Pinned Beamsplitter Mount
199-102-011-C Camera Sleeve
199-102-032-D 1mm Aperture
199-102-081-D VIS Attachment Plate
Номера деталей можно использовать для поиска местоположения файла детали, и я создал функцию (MyPath()
), которая возвращает путь к папке детали, когда ей присвоен номер детали. Я хотел бы позволить пользователю просто щелкнуть текст во втором столбце и открыть папку для детали.
Используя формулу ниже, я могу заставить ссылку работать должным образом, но текст - это просто номер детали, а не имя детали:
=HYPERLINK(MyPath(A2),A2)
Используя эту формулу, имя детали отображается правильно, и когда я наводю курсор мыши на ячейку, мой курсор превращается в руку, как будто там есть гиперссылка, но нажатие на нее ничего не делает.
=HYPERLINK(MyPath(A2),VLOOKUP(A2,PartsArray,2,FALSE))
Вот другие варианты, которые я протестировал, которые работали:
=HYPERLINK("C:\The\Path\To\The\Part\Folder","Miniature Angle Mount Riser Block")
=HYPERLINK(MyPath(A2),"Miniature Angle Mount Riser Block")
=HYPERLINK("C:\The\Path\To\The\Part\Folder",VLOOKUP(A2,PartsArray,2,FALSE))
=HYPERLINK(MyPath(A2),C2) <--- Where "C2" contains the VLOOKUP function
Только когда я одновременно использую свою пользовательскую функцию и функцию VLOOKUP()
, гиперссылка перестает работать.
На данный момент самое близкое, что я нашел к решению, - это то, что я сделал в последнем варианте, показанном выше (т.е. переместил часть формулы VLOOKUP
в другой столбец и затем скрыл этот столбец). Но этому должно быть какое-то объяснение. Может кто-нибудь объяснить мне, что происходит?
Редактировать:
VLOOKUP
ссылается на массив на отдельном листе, который включает все части, которые будут использоваться. Цель этого листа - дать возможность кому-либо в зоне сборки ввести номер детали и указать имя детали в соседней ячейке. Я полагаю, что я мог бы воссоздать функцию VLOOKUP
с помощью функции MATCH
(в сочетании с несколькими другими), но я бы лучше определил реальную проблему и исправил ее, чем слепо искать решения, которые, скорее всего, ничего не исправят.