В Excel нужно сопоставить числа в каждой строке и добавить количество ячеек, содержащих совпадение - PullRequest
0 голосов
/ 05 февраля 2019

enter image description here В Excel я пытаюсь сопоставить числа в списке с числами в другом списке на том же листе, а затем подсчитать, сколько ячеек содержат совпадающие числа.

Столбец A представляет собой список имен.Столбец B - F - это номера, присвоенные каждому имени (основной список).В столбцы с I по N введены номера (список записей).Мне нужно посмотреть, сколько ячеек в каждой строке главного списка соответствуют всем ячейкам в списке записей (несколько строк).

Например, в главном списке есть Джон, у него 2 числа в ячейках B2через F2, которые соответствуют ячейкам в столбцах от I до N. Таким образом, результат (2) отображается в G2.Пожалуйста, помогите!

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

=countif($H:$N,B2)>0

Ответы [ 2 ]

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

Попробуйте:

Sub macro()

Dim lastRow As Long, count As Long

lastRow = Cells(Rows.count, 1).End(xlup).Row

count = 0
For xrow = 2 To lastRow
    For xcol = 2 To 6
        For i = 9 To 14
            If Cells(xrow, xcol) = Cells(xrow, i) Then
                count = count + 1
            Else:
            End If
        Next i
    Next xcol
Cells(xrow, 7).Value = count
count = 0
Next xrow

End Sub

РЕДАКТИРОВАТЬ:

Изменил Cells(i, xcol) в операторе if на Cells(xrow, i), и он исправил это.Работает на моей машине.

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

Вы также можете объединить значения Countif в единую формулу

=SUMPRODUCT(COUNTIF(I:N,B2:F2))

или, если есть вероятность дубликатов в столбцах I: N, и вы хотите сосчитать их только один раз,

=SUMPRODUCT(--(COUNTIF(I:N,B2:F2)>0))

enter image description here

Вот пример второй формулы, в которой учитываются только различные вхождения

enter image description here

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