Я пытаюсь пробраться через некоторые сценарии VBA. Я нашел этот код в сети, который позволяет выполнять функцию SumIf при выполнении одного условия. Я хотел бы расширить его до двух, может быть, трех условий.
Function SumIfVisible(rng As Range, condition, rngSum As Range) As Double
Dim i As Long
For i = 1 To rngSum.Count
If rng(i) = condition And rngSum(i).EntireRow.Hidden = False Then
SumIfVisible = SumIfVisible + rngSum(i)
End If
Next I
End Function
Чтобы уточнить, я хотел бы встретить несколько условий в нескольких диапазонах . Т.е. условие 1 в диапазоне D2: D200 и условие 2 и условие 3 в диапазоне H2: H200 .
Кроме того, диапазоны могут иметь частично различающиеся значения в определенном смысле, но они соответствуют условию в целом, то есть условие 1 = «январь», диапазон D2: D200 содержит такие даты, как «1 января, 2 января, 3 января» и т. Д. Все даты в "" отвечают условию. SUMIFS не допускают выбор усеченной строки для значений ячеек. Т.е. выбирайте каждую строку, имеющую «Jan», даже если она содержит другие значения, такие как «1,2,3»
Пожалуйста помоги!
SUMIFS()
?
SUBTOTAL
функцию в Excel? Он может игнорировать скрытые значения и может использоваться SUMPRODUCT
для создания условного суммирования только для видимых строк. Это может свести на нет необходимость вашего UDF.