У меня есть набор данных (COL A), который состоит из IP-адресов и имен хостов. У меня есть отдельный лист, который является записью записей DNS. Я хотел бы создать формулу, которая будет выполнять сопоставление индекса для тех ячеек, которые соответствуют шаблону IP-адреса. Я знаю, как выполнить индексную часть, но я поставлен в тупик, как сделать его условным, чтобы искать только ipaddress. Если в COL A есть существующее имя хоста, используйте его, в противном случае используйте формулу соответствия индекса. Мне нужно сделать все это в формуле. Среда, в которой я работаю, не допускает UDF или макросы.

COL_A                  Col_B
10.12.45.200           Perform lookup
HostA                  Return A2 "HostA"

Спасибо

1 ответ1

0

Исходя из того, что я понял ваш вопрос, вы можете использовать формулу для определения IP-адреса. Если IP идет на Lookup, используйте его как есть.

Формула в B1 и скопировать вниз.

=IF(AND(ISNUMBER(VALUE(LEFT(A1,SEARCH(".",A1,1)-1))),ISNUMBER(VALUE(MID(A1,SEARCH(".",A1,1)+1,FIND(".",A1,SEARCH(".",A1,1)+1)-SEARCH(".",A1,1))))),"LookUp",A1)

Он ищет первые два числа, разделенные точкой, а затем обрабатывает его как IP-адрес. Замените "LookUp" в формуле на вашу функцию LOOKUP или, для простоты, используйте Col B в качестве столбца Helper и поместите формулу LOOKUP в следующий столбец для удобства.


Гораздо более простым вариантом может быть удаление точек из значения и проверка числового значения, а затем решить, нужно ли вам использовать Lokkup или использовать его как есть. Формула

=IF(ISNUMBER(VALUE(SUBSTITUTE(A1,".",""))),"Lookup",A1)

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