Я очень простой пользователь Excel, поэтому я объясню это как можно лучше. У меня есть лист Excel, который мы используем, чтобы отслеживать пациентов для перехода на практику консьержа. Когда они говорят «нет», я делаю шрифт их строки красным (у каждого пациента есть строка с несколькими столбцами для их информации, такой как фамилия, имя, адрес и т.д.). Если да, я делаю это зеленым, желтым = возможно, черным = мертвым, фиолетовым = стипендия. У меня также есть колонка перед их именем, которая говорит «да», «нет», может быть, стипендию или «мертвый», поскольку у меня есть формула внизу, подсчитывающая каждый ответ. Д-р сейчас хочет, чтобы каждый получал стипендию «да», «нет», «возможно», и т.д., чтобы получить свой собственный лист с формулой. Так что, если я напишу «да» рядом с их именем, они окажутся на новом листе все за «да». Если они скажут «нет», они окажутся на новом листе, который будет «нет». Это возможно? И если так, может кто-нибудь дать мне формулу? Спасибо

1 ответ1

0

Резюме

Один из самых простых способов сделать это без VBA - добавить 3 "вспомогательных столбца" (которые вы даже можете скрыть после записи) рядом с вашими данными, как показано ниже:

Вставка вспомогательных столбцов

Эти вспомогательные столбцы помещают индексный номер, если значение равно значению их строки, увеличивая число каждый раз, когда оно найдено. Так, например, в моем примере, я поставил ячейку C2 =

=IF(A2="yes",MAX($C$1:C1)+1,"")

Cell D2 =

=IF(A2="no",MAX($D$1:D1)+1,"")

и так далее. Перетаскивание производит индексные числа.

Сбор данных на новых листах

Теперь на отдельных листах становится намного проще извлекать каждый набор данных.

Так что, если sheet2 представляет все «да» в тогда в sheet2, я бы использовал функцию соответствия и индексации. Таким образом, ячейка A2 в sheet2 будет:

=INDEX(Sheet1!B:B,MATCH(ROW(A2)-1,Sheet1!C:C,0))

Как это работает

МАТЧ (ROW (A2) -1, Лист1!Часть C:C, 0) использует текущее значение строки в качестве числа для поиска, а C:C - мой "вспомогательный столбец да" в sheet1. При перетаскивании вниз строка (A2) становится ROW (A3), затем ROW (A4) и так далее. 0 внутри MATCH указывает на то, что он ищет точное совпадение.

Часть INDEX() просто ищет столбец на основе значения MATCH. В моем случае я посмотрел столбец B, чтобы получить мои данные. Вы можете сделать что-то похожее для этого для каждого столбца, который вы хотите скопировать на новый лист, изменив B на тот, с какой строки вы извлекаете.

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