Как суммировать данные из двух диапазонов, если другой диапазон содержит определенный текст - PullRequest
0 голосов
/ 07 февраля 2019

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

foto 1

Как видите, текст и точки могут меняться.Кроме того, я хотел бы добавить к нему дополнительные списки (помеченные буквами C, D и т. Д.)

. На другом листе я хотел бы подготовить сводку, которая рассчитывает сумму точек, присвоенных тексту.Я получу сводный список с текстовыми записями:

foto 2

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

foto 3

Я пробовал некоторые варианты SUMIF, но так и не получил то, что хотел.Может ли кто-нибудь помочь мне найти правильную формулу?

Ответы [ 4 ]

0 голосов
/ 07 февраля 2019

Попробуйте и посмотрите, работает ли он.Я бы проверил это, но в данный момент я далеко от своего стола.

Обратите внимание, что эту формулу следует разместить на отдельном листе (на всякий случай).

Sheet2!B2 = SUMPRODUCT(--(Sheet1!$A$1:$AZ$100=Sheet2!$A1), OFFSET(Sheet1!$A$1:$A$Z100,0,1))

Sheet1!A:AZ100 = The Range in which the data is contained

Sheet2!$A1 = The Cell that contains the criteria

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

0 голосов
/ 07 февраля 2019

Вы должны взять весь диапазон, например:

Французская версия = =SOMME.SI($A$2:$C$5;A8;$B$2:$D$5)

Английская версия = =Sumif($A$2:$C$5,A8,$B$2:$D$5) enter image description here

0 голосов
/ 07 февраля 2019

Вот более общий случай.

Скажем, Sheet1 имеет много произвольных наборов данных между столбцом A и столбцом Z , например: enter image description here

Сначала поместите следующую пользовательскую функцию в стандартный модуль:

Public Function Gsum(rng As Range, patrn As String) As Long
    Dim r As Range
    Gsum = 0

    For Each r In rng
        If r.Text = patrn Then
            Gsum = Gsum + r.Offset(0, 1)
        End If
    Next r
End Function

Поместите данные abc в Sheet2 ячейку B2 и в Sheet2 ячейку C2 введите:

=gsUM(Sheet1!A1:Z27,B2)

enter image description here

0 голосов
/ 07 февраля 2019

Предполагая, что ваши данные находятся на листе 1, начиная с A1, а второй лист также начинается на A1 на этом листе, поместите его в B2 и скопируйте:

=SUMIF(Sheet1!A:C,A2,Sheet1!B:D)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...