У меня есть длинный список имен, большинство из которых содержат амперсанд (&). Некоторые содержат два амперсанда в разных местах ячейки. Мне нужно условно отформатировать ячейки (просто выделить их), чтобы найти их. Я не смог найти формулу, которая может идентифицировать и обусловить ячейку, содержащую два амперсанда.
решение1
Вы можете использовать эту формулу:
=SUM(INT(MID(A1,SEQUENCE(LEN(A1)),1)="&"))=2
SEQUENCE(LEN(A1))
создает массив целых чисел, длина которого равна количеству символов в текстовой строке в ячейке A1.
Мы передаем этот массив во второй параметр MID
, что эквивалентно вызову MID
с каждым из чисел от 1 до LEN(A1)
, где третий параметр MID
равен 1, каждое возвращаемое значение — это всего лишь один символ из текстовой строки. Таким образом, это создает массив символов в текстовой строке.
Затем вы сравниваете этот массив со значением, которое вы ищете, в данном случае &
. Это создает массив ИСТИНА/ЛОЖЬ, где значение ИСТИНА, если символ в этой позиции в массиве является амперсандом.
Мы используем INT
для преобразования ИСТИНА/ЛОЖЬ в 1/0. Вы можете использовать --
вместо , INT
но я думаю, INT
что это более интуитивно понятно. Теперь у вас есть массив LEN(A1)
значений, которые равны либо 1, если символ в этой позиции является амперсандом, либо 0, если это не так. Обертывание этого массива SUM
сокращает его до количества амперсандов в строке, и мы просто сравниваем это количество со значением, которое вы хотите проверить. Если они равны, условие выполняется и применяется форматирование.
Вы можете рассмотреть возможность изменения =2
to >2
для учета случаев, когда имеется более 2 амперсандов.