Существует ли функция Excel, которая суммирует несколько значений, каждое из которых умножается на другое значение поиска? - PullRequest
1 голос
/ 01 июля 2019

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

В настоящее время я делаю = использование материала1 * vlookup (материал1, таблица материалов, индекс, false) + использование материала2 * vlookup (материал2, таблица материалов, индекс, false) .....

enter image description here

Есть ли более простой способ сделать это, учитывая, что у меня большой набор материалов?Я действительно хочу избежать повторения одной и той же формулы до 30 раз в одной и той же ячейке, просто чтобы подвести итог.

Я хотел бы получить формулу, которая будет автоматически умножать использование материала *. Искать состав и суммировать эту формулу для всех материалов.

Ответы [ 2 ]

4 голосов
/ 01 июля 2019

Вот еще один способ ...

=SUMPRODUCT(SUMIF(F6:F8,A6:C6,G6:G8),A7:C7)

... что необходимо подтвердить нажатием ENTER.

Надеюсь, это поможет!

2 голосов
/ 01 июля 2019

Быстрое, но немного сложное решение:

{=SUM(INDEX(G1:G4,N(IF(1,MATCH(A1:A5000,F1:F4,0))))*B1:B5000)}

Другое решение:

{=SUM(LOOKUP(A1:A5000,F1:F4,G1:G4)*B1:B5000)}

Как отмечено в комментариях: справочная таблица должна быть отсортирована в порядке возрастания. Кроме того, если для искомого значения совпадения не существует, он находит приблизительное совпадение, что, вероятно, не является желаемым результатом.

enter image description here

СКОРОСТЬ ТЕСТА С 5000 ИСПОЛНЕНИЯМИ ФОРМУЛЫ:

{=SUM(LOOKUP(A1:A5000,F1:F4,G1:G4)*B1:B5000)}

5.237412 Прошедшие секунды | Прошло 16 325 977 тиков

{=SUM(INDEX(G1:G4,N(IF(1,MATCH(A1:A5000,F1:F4,0))))*B1:B5000)}

7,941025 Прошедшие секунды | Прошло 24 753 637 тиков

=SUMPRODUCT(SUMIF(F1:F4,A1:A5000,G1:G4),B1:B5000)

12.338439 Прошедшие секунды | Прошло 38 461 185 тиков

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...