Excel: включення форматування у формулу іншої комірки


1

У мене є електронна таблиця, яка містить гіперпосилання на основі вмісту іншої комірки. Мені потрібно, щоб гіперпосилання базувалося на відображуваному (відформатованому) значенні, а не на значенні даних вихідної комірки. Чи можливо це, не вдаючись до VBA? Приклад:

Фактичні значення:

| A |          B                | 
| 1 | =HYPERLINK("../Form_"&A6) |
| 2 | =HYPERLINK("../Form_"&A7) |
| 3 | =HYPERLINK("../Form_"&A8) |

Відображається як:

Стовпець Спеціальний формат: "Form_"000

|    A     |      B      | 
| Form_001 | ../Form_001 |
| Form_002 | ../Form_002 |
| Form_003 | ../Form_003 |

Функціональне значення:

| A |          B          | 
| 1 | file:///../Form_001 |
| 2 | file:///../Form_002 |
| 3 | file:///../Form_003 |

Чи є якийсь фіксований формат до вмісту стовпця А та назви форм, чи це загальне питання? Ви можете зробити щось, використовуючи TEXT (), якщо зможете уникнути "m" у формі (оскільки TEXT () подумає, що це показник місяця), але це не загальне рішення ...
Rhys Gibson

наприклад, = HYPERLINK ("../"& TEXT (A2," For_000 # ")) працює, але = HYPERLINK (" ../"& TEXT (A2, "Form_000 #"))
Різ Гібсон

@RhysGibson аааа, що у мене досить близько: =HYPERLINK("X:/Path/to/Form_"&TEXT(A2,"000"). Опублікуйте як відповідь і отримайте справедливий внесок :)
matt wilkie

Відповіді:


2

Чи є якийсь фіксований формат до вмісту стовпця А та назви форм, чи це загальне питання?

Ви можете щось зробити, використовуючи, TEXT()якщо не зможете уникнути "м" у "Формі" (тому що TEXT()будете вважати, що це показник місяця), але це не загальне рішення.

Наприклад: =HYPERLINK("../"&TEXT(A2,"For_000#"))працює, але =HYPERLINK("../"&TEXT(A2,"Form_000#"))ні.

Однак якщо ви можете додати зайві біти, необхідні поза конструкцією & text, ви можете використовувати будь-які символи, які вам подобаються:

=HYPERLINK("../Form_"&TEXT(A2,"000"))

Ви можете використовувати стандартні коди форматування в "..."частині, наприклад, "0,00 $", "рр-р / мм / дд".


2

Я не бачу функції повернення комірки як її форматованого значення. Хоча ви віддаєте перевагу рішення, яке не VBA, це проста функція прямого пересування:

Function AsFormatted(v As Variant) As String
  AsFormatted = v.Text
End Function
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.