Как написать формулу подсчета строк с условиями?

Программирование на Visual Basic for Applications
Гена
Новичок
Новичок
 
Сообщения: 26
Зарегистрирован: 29.12.2003 (Пн) 16:37

Как написать формулу подсчета строк с условиями?

Сообщение Гена » 10.03.2004 (Ср) 12:46

Нужно посчитать строки с условиями, например:
По 1 столбцу, "отобрать" ячейки со строкой "проп"
И Сравнить значения по дате Д(факт)<=Д(пл)


Что-то типа этого макроса, только формулой в Екселе, если это возможно
Sub g()
Dim i As Integer
Dim m As Integer

Sheets("Лист1").Activate
m = 0
For i = 7 To 10000
If Cells(i, 1) = "Е" And Cells(i, 2) >= Cells(i, 3) Then
m = m + 1
End If
Next
Sheets("Лист2").Activate
Range("F5") = m

End Sub

Tanya
Обычный пользователь
Обычный пользователь
 
Сообщения: 98
Зарегистрирован: 03.03.2004 (Ср) 21:41
Откуда: Беларусь, Минск

Сообщение Tanya » 10.03.2004 (Ср) 18:38

Если нужна просто формула в ячейке, то можно написать эту функцию
например:
Код: Выделить всё
Function СтрокПоУсловию(Диапазон As Range)
Application.Volatile
Dim i As Integer
For i = Диапазон.Row To Диапазон.Row + Диапазон.Rows.Count - 1
    If Cells(i, 1) = "E" And Cells(i, 2) >= Cells(i, 3) Then _
                        СтрокПоУсловию = СтрокПоУсловию + 1
Next i
End Function


а затем в необходимую ячейку формулу:
=СтрокПоУсловию(A7:C10000)

ОК???

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 11.03.2004 (Чт) 10:06

Или, как вариант, создаешь еще один, невидимый, столбец и записываешь в нем формулу (в виде R1C1):
Код: Выделить всё
=ЕСЛИ(RC1="Е";"+";"") & ЕСЛИ(RC2=>RC3;"+";"")

И используешь формулу СЧЁТЕСЛИ(С5;"++")
Lasciate ogni speranza, voi ch'entrate.

Tanya
Обычный пользователь
Обычный пользователь
 
Сообщения: 98
Зарегистрирован: 03.03.2004 (Ср) 21:41
Откуда: Беларусь, Минск

Сообщение Tanya » 11.03.2004 (Чт) 17:06

Или в этом невидимом столбце записываешь формулу

[code]=ЕСЛИ(И(RC1="E";RC2>=RC3);1;"")[code]

И используешь формулу СУММ(C5)


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 103

    TopList