Анализируйте каждый символ в ячейке в Excel, используя триаду косвенного (), строки () и средней ()

Содержание

Сегодня я собираюсь дать вам мощный коктейль из формул. Менее используемые функции INDIRECT () и ROW () вместе с функцией MID () могут создать великолепную смесь.

Эта триада позволяет вам попасть в содержимое ячейки. и проанализировать каждого персонажа в отдельности. Например, предположим, что у вас есть Excel123 в ячейке, и вы хотите определить, содержит ли он числовое значение или нет. (что он делает !!). Встроенные формулы Excel не могут помочь вам здесь, так как Excel рассматривает это как текст (Попробуйте использовать функцию Type (), чтобы убедиться в этом).

Здесь вам нужен способ проверить каждый символ отдельно, а затем определить, содержит ли он число. Давайте сначала посмотрим на формулу, которая может разделять каждый символ:

= СРЕДНЯЯ (B2; СТРОКА (КОСВЕННАЯ ("1:" & ДЛИН (B2))); 1)

Вот это работает:

Теперь, когда вы все проанализировали, вы можете анализировать каждого персонажа отдельно.

Обратите внимание, что этот метод лучше всего использовать в сочетании с другими формулами (как вы увидите позже в этом посте). Как самостоятельный метод, он вряд ли может быть полезен. Кроме того, Indirect () - непостоянная функция, поэтому используйте ее с осторожностью. [Узнать больше о летучей формуле]

Вот несколько примеров, в которых этот метод может быть полезен:

1. Чтобы определить ячейки, содержащие числовой символ:

Предположим, у вас есть список, показанный ниже, и вы хотите идентифицировать (или отфильтровать) любую ячейку, которая содержит числовой символ в любом месте ячейки.

Для этого воспользуйтесь следующей формулой. Он возвращает Истинный если ячейка содержит какой-либо числовой символ, и Ложь если нет.

= ИЛИ (ISNUMBER (MID (A2; ROW (INDIRECT («1:» & LEN (A2))); 1) * 1))

Используйте Control + Shift + Enter, чтобы ввести эту формулу (вместо Enter), так как это формула массива.

2. Чтобы определить позицию первого появления числа

Для этого воспользуйтесь следующей формулой. Он возвращает позицию первого вхождения числа в ячейку. Например, если ячейка содержит ProductA1, она вернет 9. Если числа нет, возвращается «Нет цифровых символов»

= ЕСЛИОШИБКА (ПОИСКПОЗ (1; -ISNUMBER (MID (B3, ROW (INDIRECT («1:» & LEN (B3))); 1) * 1); 0); »Числовой символ отсутствует»)

Используйте Control + Shift + Enter, чтобы ввести эту формулу.

Надеюсь, это сэкономит вам время и силы. Если вы придумаете какой-либо другой способ использования этой техники, поделитесь им и со мной.

wave wave wave wave wave