Комментарии к постам Salamandra
Ради интереса. Не особо вникая в тему, кинул этот вопрос мозгу GPT-4 и вот его ответ. К стати, попробовал на офисе 2007 — работает.
Для решения вашей задачи в Excel можно использовать пользовательскую функцию (UDF), написанную на VBA. Это позволит вставлять гиперссылку только в том случае, если в ячейке столбца A есть ссылка. Вот как это можно сделать:
Откройте Excel и нажмите Alt + F11
, чтобы открыть редактор VBA.
В редакторе VBA выберите Insert
-> Module
, чтобы создать новый модуль.
Вставьте следующий код в модуль:
<code class="l<span style="color: #000000;">anguage-vba">Function ConditionalHyperlink(link As String, displayText As String) As Variant If link <> "" Then ConditionalHyperlink = Hyperlink(link, displayText) Else ConditionalHyperlink = displayText End If End Function </code></span>
Закройте редактор VBA и вернитесь в Excel.
Теперь вы можете использовать эту функцию в вашем Excel листе. Например, в ячейке C1 вы можете ввести следующую формулу:
<span style="color: #000000;"><code class="language-excel">=ConditionalHyperlink(A1, B1) </code></span>
Эта формула будет проверять, есть ли в ячейке A1 ссылка. Если да, будет создана гиперссылка с текстом из ячейки B1. Если нет, будет отображаться просто текст из ячейки B1 без гиперссылки.
Обратите внимание, что для работы пользовательских функций необходимо, чтобы макросы были включены в вашей книге Excel.
Написал что-то подобное без покупки и продажи для акций и даже телеграмм бота прикручивал к таблице, который мог бы оповещать меня о нужных ценах на активы по моей стратегии = )
Но научитесь вы уже пользоваться простыми AI инструментами, чтобы уменьшить время разработки!
Вариант 1:
Function ConditionalHyperlink(link As String, display_text As String) As Variant If link <> "" Then ConditionalHyperlink = Hyperlink(link, display_text) Else ConditionalHyperlink = display_text End If End Function
и используем как: =ConditionalHyperlink(A1; B1)
Вариант 2:
Пусть у вас есть данные в столбцах A и B.
В столбце C вставьте формулу для гиперссылки:
=ЕСЛИ(A1<>""; ГИПЕРССЫЛКА(A1; B1); "")В этой формуле, если ссылка в A1 существует, вставляется гиперссылка, иначе ячейка остается пустой.
В столбце D вставьте текст без гиперссылки:
=ЕСЛИ(A1<>""; ""; B1)Эта формула вставит текст, только если гиперссылки нет.
Примените условное форматирование, чтобы скрыть либо столбец C, либо D, в зависимости от того, существует ли ссылка: