Я работаю с большим количеством данных в Excel и думаю, что VBA может быть полезным. У меня примерно 500 строк, в столбце А есть имена (примерно 150). Я хочу применить формулы к другим столбцам, когда имена совпадают. Число строк с одинаковыми именами варьируется от 2 до 10. Я анализирую данные и хочу посмотреть на них на человека, включая сравнение значений между строками и суммирование значений. Я не знаю, как сделать для циклов, не используя счетчик целых чисел. У кого-нибудь есть предложения, как с этим бороться? Спасибо!

пример электронной таблицы:

2 ответа2

1

Вы не возражаете против того, чтобы иметь список отдельных пациентов в отдельной колонке?

Это будет сделано с формулой, и вот как это будет выглядеть:

Формула в D2 перечисляет отдельных пациентов:

=IFERROR(INDEX($A$2:$A$20,MATCH(0,INDEX(COUNTIF($D$1:D1,$A$2:$A$20),0,0),0)),"")

В F2 мы подсчитываем количество посещений службы для каждого пациента в (коротком) списке:

=COUNTIFS(A$2:A$20,D2,C$2:C$20,">0")

И, наконец, в E2 мы находим первую дату обслуживания:

=MIN(IF((1*(D2=A$2:A$20)*(C$2:C$20))=0,"",(1*(D2=A$2:A$20)*(C$2:C$20)))

Это формула массива, поэтому она вводится с помощью CTRL-Shift Enter, а не просто Enter. Если введено правильно, Excel окружит формулу фигурными скобками {}.

После того, как формулы введены, заполните их достаточно далеко, чтобы перечислить всех пациентов. Это проще всего сделать, выбрав первую ячейку, содержащую формулу (в этом примере D2), а затем щелкнув SHIFT по ячейке в столбце F, которая находится достаточно далеко вниз. Затем выберите «Fill> Down» в меню «Правка».

Если вы не догадались о том, как далеко идти, просто повторите процесс с последнего ряда.

Надеюсь, это поможет, дайте мне знать, если я что-то пропустил.

-1

Похоже, вы можете использовать DMIN() или, если у вас есть Excel 2016, MINIFS(). Смотрите пример скриншота:

столбцы ac - это ваши столбцы, возможно, я изменил данные, когда сам проверял формулы ...

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