2

Существует ли в Excel формула, позволяющая фильтровать набор таблиц, как в примере ниже?

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

1 = Participant Plays Sport; 0 = Participant Does Not Play Sport

        Basketball  Soccer  Tennis  Baseball    Hockey  Running
John Doe    1          0       1       1          0       0
Kelly Anne  1          0       0       0          1       1
Daniel Ollo 0          0       0       0          0       1
Luis Packer 1          0       0       1          1       0

При поиске определенного вида спорта, например, баскетбола, хоккея и бега, лист Excel выглядит следующим образом:

Basketball
John Doe
Kelly Anne
Luis Packer

Hockey
Kelly Anne
Luis Packer

Running
Daniel Ollo
Kelly Anne

2 ответа2

3

Или функции недостаточно, чтобы найти имена, это еще один способ сделать это:
Начните с определения имени для каждого вида спорта:
Выберите все числа в столбце Баскетбол (без Заголовка) и нажмите в левом верхнем углу строки формулы (где ссылка) и напишите Баскетбол так же, как Заголовок
Повторите то же самое для каждого столбца
Определите имя для всех: футбол, теннис, бейсбол ... Имя для столбца имен

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

=IFERROR(INDEX(Name,SMALL(IF(INDIRECT($A$8)=1,ROW(INDIRECT($A$8))-1,""),ROW()-8)),"") Нажмите Ctrl+Shift+Enter .

Имя - это определенное имя для всех столбцов имен, начиная с имени и до последнего
Косвенный ($ A $ 8) - массив чисел для соответствующих чисел

8 номер строки, в которой вы написали спортивный пример баскетбола
Всякий раз, когда вы меняете название спорта, имя участников будет меняться в конечном итоге

0

Вот хороший шаблон, чтобы вы могли его использовать. Использование функций MATCH и OFFSET хорошо работает в вашей ситуации.

Функция MATCH возвращает первое вхождение условия и возвращает номер строки. = MATCH(lookup_value, lookup_array, [match_type])

Функция OFFSET позволяет вам иметь выбранный массив, а затем переходить от него с помощью формул.

Я создал пример, похожий на ваш:

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

Обратите внимание на вторую группу, где перечислены виды спорта с номерами.

Первая формула выглядит как выше с использованием только функции MATCH. Довольно просто здесь, как он находит первое вхождение.

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

Надеюсь, что это поможет вам научиться использовать MATCH и OFFSET.

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