Есть ли способ использовать isnumber и поиск для извлечения из нескольких ячеек и поиска в нескольких ячейках для возврата к нескольким ячейкам?

Я собрал следующую формулу, которая работает:

=IF(ISNUMBER(SEARCH(F7, $B$11:$B$53)), $C$11:$C$53,  
      IF(ISNUMBER(SEARCH(F8, $B$11:$B$53)), $C$11:$C$53, 
           IF(ISNUMBER(SEARCH(F9, $B$11:$B$53)), $C$11:$C$53, 
                IF(ISNUMBER(SEARCH(F10, $B$11:$B$53)), $C$11:$C$53, ""))))

(каждая новая строка в моем посте - пробел)

F7, F8, F9 и F10 — это условия поиска, которые я хочу найти в столбце B11:B53. Условия поиска в моем массиве F являются частичными совпадениями с текстовыми строками в B11:B53. Затем я извлекаю соответствующие данные из C11:C53 и помещаю их в соответствующие строки в столбце F11:F53.

Есть ли более простой способ написать эту формулу, которая позволит масштабировать?

Я хотел бы иметь возможность легко добавлять поисковый запрос в F1: F6 и легко расширять свой поисковый массив, не добавляя

IF(ISNUMBER(SEARCH(F6, $B$11:$B$53)), $C$11:$C$53,

к моей формуле ДЛЯ КАЖДОГО ДОБАВЛЕННОГО УСЛОВИЯ ПОИСКА. Если я захочу добавить 10 новых критериев, формула станет громоздкой.

Я также масштабирую эту формулу по нескольким столбцам, поэтому я могу выполнять поиск в столбце B и извлекать данные из столбца C и помещать их в тот же столбец, что и мой поисковый массив, с разными списками условий поиска в каждом столбце.

В настоящее время, если одна ячейка поискового запроса (например, F8) пуста, весь мой столбец заполняется данными из C, а не только данными, которые должны быть.

Моя цель состоит в том, чтобы весь мой столбец C был разбит на несколько столбцов в зависимости от того, что находится в столбце B и что находится в списке поиска (в этом примере F7: F10).

Любая помощь будет оценена


person RY_STEW    schedule 01.10.2020    source источник


Ответы (1)


Это улучшение. Попробуйте использовать подобную формулу в ячейке C11, если у вас есть 4 критерия поиска, введенные в F7:F10:

=IF(SUM(COUNTIF(B11,"*"&F$7:F$10&"*"))=(ROWS(F$7:F$10)),B11,"")

Он подсчитывает ваши строки критериев (в данном случае F7:F10, то есть 4 критерия) и возвращает значение в B11, если сумма результатов соответствует количеству строк критериев. COUNTIF() может принимать диапазон и разрешает подстановочные знаки.

Чтобы игнорировать критерий, просто поставьте в нем ? или *.

person Marc    schedule 01.10.2020