2

У меня есть две колонки в MS Excel/LibreOffice Calc/Google Spreadsheets с номерами. Я хотел бы посчитать количество строк, которые имеют одинаковые значения в обоих столбцах.

В следующем примере:

Column A | Column B
   1     |     4
   2     |     2
   3     |     5
   3     |     3
   5     |     3

Есть две строки с одинаковыми номерами: строки 2 (2 = 2) и 4 (3 = 3). Я надеялся, что такие решения, как =SUM(A1:A5=B1:B5) будут работать; к сожалению, нет.

ОБНОВИТЬ

Я знаю, что решение было бы легко, если бы я создал третий столбец, в котором я сравнивал бы каждую пару значений строка за строкой (как предложили Дейв и Джо, используя, например, =IF(A1=B1, 1, 0)); Тем не менее, я ищу одну строку, так как я не хочу загромождать электронную таблицу промежуточными результатами.

4 ответа4

4

Ты почти прав. Вы можете немного изменить свою формулу следующим образом:

{=SUM(IF(A1:A5=B1:B5,1,0))}

Введите это без фигурных скобок {} и нажмите Ctrl+Shift+Enter, чтобы Excel знал, что это формула массива. Фигурные скобки отражают тот факт, что это формула массива.

3

В Excel вы можете использовать функцию SUMPRODUCT аналогично решению Andi, но избегаете "записи массива":

=SUMPRODUCT(0+(A1:A5=B1:B5))

это также будет подсчитывать любые пустые строки (как и Энди), так что если вы хотите избежать этого изменения в этой версии:

=SUMPRODUCT((A1:A5<>"")*(A1:A5=B1:B5))

1

Я бы упростил оператор IF Else, чтобы он мог применяться к числам и символам

В C1 добавьте следующее

=IF(A1=B1, 1, 0)

Затем перетащите формулу по длине таблицы и под ней, суммируйте всю ячейку

 =SUM(C1:C10)   // enter correct row numbers!
0

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

Column A | Column B | Column C (equal condition)
  1      |   4      | =IF(A1=B1;1;0)
  2      |   2      | =IF(A2=B2;1;0)
  3      |   5      | =IF(A3=B3;1;0)
  3      |   3      | =IF(A4=B4;1;0)
  5      |   3      | =IF(A5=B5;1;0)

В ячейке C6 вы пишете эту формулу =SUM(C1:C5)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .