Выборка из первого столбца по слову и цифрам соответствующих значениям городов, Выборка из первого столбца по слову высшего и цифрам 2,5,10,25 суммы количества соответствующей значениям городов
Помогите, пожалуйста, как в первой столбце по слову высшего и цифрам 2,5,10,25 и по горизонтали сумме нескольких городов формулой притянуть соответствующие значения, как показано в примере? Заранее спасибо!!!
АlехМ, формула =СУММ(ЕЧИСЛО(ПОИСК("высш";$A$3:$A$10))*ЕЧИСЛО(ПОИСК($B$1:$K$1;B$12))*$B$3:$K$10) получается только на определенный интервал... Т.е. при выборе большего количества строк или столбцов она не работает (если в данный момент там пустые ячейки). Как сделать , чтобы формула работала с большим интервалом $A$3:$A$1000 и $B$1:$AA$1 (в данный момент там пусто, а потом количество заполненных ячеек будет меняться)?
Sub Muka()
Dim i As Long
Dim j As Integer
Dim n As Integer
Dim FoundCell As Range
Dim FoundTown As Range
Dim FAdr As String
Dim arrTown
Dim ikg As Double
Dim iStr As String
Range("B13:D14").ClearContents
For j = 2 To 4
arrTown = Split(Split(Cells(12, j), "=")(1), "+")
n = 0
For n = 0 To UBound(arrTown)
Set FoundTown = Rows(1).Find(arrTown(n), , xlValues, xlWhole)
Cells(13, j) = Cells(13, j) + Cells(3, FoundTown.Column)
Set FoundCell = Columns(1).Find("высшего", , xlValues, xlPart)
If Not FoundCell Is Nothing Then
FAdr = FoundCell.Address
Do
With CreateObject("VBScript.RegExp")
.Global = True
.IgnoreCase = True
.Pattern = "\d+(?= кг)"
ikg = .Execute(FoundCell)(0)
End With
iStr = " 2 , 5 , 10 , 25 "
'If ikg = 2 Or ikg = 5 Or ikg = 10 Or ikg = 25 Then
If InStr(1, iStr, " " & ikg & " ") Then
Cells(14, j) = Cells(14, j) + Cells(FoundCell.Row, FoundTown.Column)
End If
Set FoundCell = Columns(1).FindNext(FoundCell)
Loop While FoundCell.Address <> FAdr
End If
Next
Next
End Sub
АlехМ написал: пробуйте так. Формула массива. =СУММ(ЕЧИСЛО(ПОИСК("высш";$A$3:$A$10))*ЕЧИСЛО(ПОИСК($B$1:$K$1;B$12))*$B$3:$K$10)
АlехМ, ввел Вашу формулу и она выдала результат вдвое больше чем у nura28, в примере: по Город1 + Город 3+ Город 7 получилось 2 926 кг. вместо 1 463 кг.