Мне нужно использовать VBA для извлечения ячеек в структуру данных для работы на основе двух отдельных значений - PullRequest
0 голосов
/ 09 июля 2020

У меня 4 столбца в электронной таблице в Excel. 3 столбца - текст, 1 - целое число. Мне нужно извлечь все значения из целочисленного столбца на основе значений в текстовых столбцах, чтобы я мог выполнить с ними кучу вычислений.

Например, мне нужны все значения «Count «где значение в столбце Тип -« Apple », значение в столбце« Качество »-« Fre sh », а значение в поле« Владелец »-« Джонс ».

Затем я могу вычислить среднее число из fre sh яблок, которые у Джонса были каждый месяц, больше всего, что у него было за один месяц, и меньше всего за любой месяц. или я бы использовал их.

Любое направление будет оценено, так как я бился головой об этой проблеме и пробовал разные решения, но ничего не работало даже незначительно. количество строк будет варьироваться от одного прогона к другому, но я рассчитал последнюю строку, если это имеет значение.

1 Ответ

0 голосов
/ 10 июля 2020

Вы можете найти AverageIfs et c. используя Application.WorksheetFunction.AverageIfs. Следовательно, ваш код может выглядеть примерно так:

Dim ws as worksheet
set ws = ThisWorkbook.Worksheets("Sheet1")

Dim avgRange as Range
dim FirstRow as integer
dim LastRow as Long

with ws
    Set avgRange = Cells((FirstRow, Count), (LastRow, Count))
    Set criteriaRange = Cells((FirstRow, Owner), (LastRow, Owner))
    Criteria1 = "John"
    Criteria2 = "Fresh"

     .Range("A5").Application.WorksheetFunction.AverageIfs(avgRange, criteriaRange, Criteria1, Criteria2)
end With
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...