Использование функции COUNTIF с функцией подстроки или пользовательского сравнения - PullRequest
0 голосов
/ 13 июня 2018

Я могу раскрасить / запустить логику для столбца B с помощью функции COUNTIF: (я проверяю, является ли элемент B подстрокой какого-либо элемента A)

= COUNTIF ($ A $ 1: $ A $ 10,"" & B1 & "")> 0

test1a  a   TRUE
test2b  b   TRUE
test3cd c   TRUE
e       g   FALSE
f       h   FALSE

Если я хочу использовать эту формулу противоположным образом (мне нужно это для цветового форматирования), я хотел бы сделать что-то вроде этого:

= COUNTIF (A1, "" & ($ B $ 1: $ B $ 10) & "")> 0

  • Если какой-либо элемент из B является подстрокоймоего текущего элемента A

Возможно ли применить пользовательское сравнение для функции COUNTIF

Лучший пример (1,0 - это то, чего я мог достичь, True / False - то, что мне нужно -был дан ответ ниже):

test1a  a   1   TRUE
test2b  xx  0   TRUE
test3cd b   1   FALSE
e       g   0   FALSE
f       h   0   FALSE

Ответы [ 5 ]

0 голосов
/ 13 июня 2018

Если аргумент критерия является массивом значений, формула вернет массив.Затем вам нужно СУММИТЬ результат, чтобы получить количество совпадений.Например:

=SUMPRODUCT(COUNTIF(A1,"*"&$B$1:$B$5&"*"))>0

SUMPRODUCT позволит вам сделать это, не вводя его с помощью ctrl + shift + enter

Если вы не возражаете против последовательности CSE,Вы можете использовать что-то вроде

=SUM(COUNTIF(A1,"*"&$B$1:$B$5&"*")) > 0

или даже:

=OR(COUNTIF(A1,"*"&$B$1:$B$5&"*"))

в Excel 0 = FALSE и целые положительные числа = TRUE

0 голосов
/ 13 июня 2018

Хотя мне и нравится @ Gary's Student, его ответ очень нравится.Это также может быть достигнуто с помощью несколько более короткой формулы, например:

=SUMPRODUCT(COUNTIF(RNG,"*"&SUBSTRING&"*"))>0

Ваш пример:

=SUMPRODUCT(COUNTIF(A1,"*"&B1:B5&"*"))>0

Вернется

True
0 голосов
/ 13 июня 2018

Используйте формулу массива :

=LEN(TEXTJOIN(",",TRUE,IF(ISNUMBER(SEARCH(B1:B10,A1)),B1:B10,"")))>0

enter image description here

Формула массива необходимо вводить с помощью Ctrl + Shift + Введите вместо просто Enter .Если это сделано правильно, формула появится в фигурных скобках вокруг нее в строке формул.

В этом случае мы получим True , поскольку строка в A1 содержитслово большой .

0 голосов
/ 13 июня 2018

Введите его как формулу массива ( ctrl + shift + enter ):

=COUNTIF(A1,"*"&B1:B10&"*")
0 голосов
/ 13 июня 2018

Если какой-либо элемент из B является подстрокой моего текущего элемента A => эта формула не работает?

COUNTIF($B$1:$B$10, "*"&A1&"*")>0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...