Я пытаюсь идентифицировать уникальные экземпляры условия совпадения, которое включает частичные совпадения.

HOSTABC
HOSTABC
HOSTABC.domain.com
HOSTABC.domain.com

Я пытаюсь сосчитать уникальные экземпляры условия совпадения. У меня есть формула, которая делает это, пока ячейки точно совпадают:

=(countif($F$2:$F2,$F2$”*”)=1)+0

Эта формула оставляет «1» для первого экземпляра совпадения и «0» для всех остальных экземпляров совпадения. Моя проблема заключается в том, что в моем примере строки 1 и 2 ТОЧНО совпадают друг с другом И частично соответствуют строкам 3 и 4.

Моя текущая формула возвращает результаты, подобные этим:

HOSTABC             1
HOSTABC             0
HOSTABC.domain.com  1
HOSTABC.domain.com  0

Я хотел бы видеть row1 с 1 и все другие строки в этом примере с 0 Есть идеи?

2 ответа2

0

Попробуйте, например, использовать вспомогательный столбец C и напишите в нем следующую формулу =IFERROR(LEFT(A1,FIND(".",A1,1)-1),A1)

A - ваше имя хоста, и в столбце D напишите следующее:

=IF(COUNTIF($A$1:A1,"="&C1&"*")=1,1,0)

Перетащите 2 формулы вниз, и вы увидите row1 с 1 и все остальные строки в этом примере с 0

0

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

Например, если предположить, что все ваши записи с дополнительными элементами всегда разделены точками (.) И имеют 3 элемента (HOSTABC.domain.com), как в случае выше, что-то в следующих строках может работать:

=IF(OR(COUNTIF($F$1:$F1,"="&$F2&"*")>0,COUNTIF($F$1:$F1,"="&LEFT($F2,FIND(".",$F2)-1)&"*")>0,COUNTIF($F$1:$F1,"="&MID($F2,FIND(".",$F2)+1,FIND(".",$F2,FIND(".",$F2)+1)-FIND(".",$F2)-1)&"*")>0,COUNTIF($F$1:$F1,"="&RIGHT($F2,LEN($F2)-FIND(".",$F2,FIND(".",$F2)+1))&"*")>0),0,1)

РЕДАКТИРОВАТЬ:

Для вашего последующего вопроса ре. действительность, что-то по следующим направлениям может работать:

=IF(OR(COUNTIF(F:F,"="&$F2&"*")>1,COUNTIF(F:F,"="&LEFT($F2,FIND(".",$F2)-1)&"*")>1),"Valid","")

Также из ответа SuperSam я понимаю, что вам нужно только имя хоста (например, HOSTABC). Ответ выше только проверяет это. Кроме того, если это так, вы можете немного упростить мою первую предложенную формулу следующим образом:

=IF(OR(COUNTIF($F$1:$F1,"="&$F2&"*")>0,COUNTIF($F$1:$F1,"="&LEFT($F2,FIND(".",$F2)-1)&"*")>0),0,1)

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