Excel: как считать и группировать строки

495
Roby Sottini

У меня есть файл Excel с колонки А и столбца B . У обоих есть имена людей ( Элизабет, Джон, Майкл и Роберт ).

Мне нужно подсчитать каждое имя столбца A и подсчитать каждое имя столбца B. И затем мне нужно показать каждое имя ( столбец Имя ) с той разницей, которую я посчитал ранее ( столбец Разница ).

В базах данных это называется Group By .

Я сделал этот пример, чтобы его было проще объяснить. В нем менее 10 строк, но я буду использовать его с файлом, который имеет 7000 строк:

Example using LibreOffice

-3
Всегда ли будет разница Счет А - Счет Б. Всегда ли столбец В является подмножеством столбца А? Есть ли вероятность того, что элемент существует только в столбце B, но не в A? В таком случае, как вы хотите показать результаты? Изучите функцию COUNTIF и посмотрите, сработает ли она здесь, чтобы решить эту проблему. pat2015 5 лет назад 1
В дополнение к вопросам pat2015: имена всегда агрегируются и сортируются в алфавитном порядке, как в примере? Все ли имена всегда появляются в обоих столбцах? Всегда ли число столбцов A> = число столбцов B? Если нет, вас волнуют отрицательные результаты или вы хотите абсолютную разницу? Какую версию какого приложения вы используете? fixer1234 5 лет назад 0
Кроме того, у вас есть список уникальных имен для col D, или решение должно генерировать это? fixer1234 5 лет назад 0

2 ответа на вопрос

1
Lee

Попробуйте эту формулу:

=COUNTIF(A:A,D2)-COUNTIF(B:B,D2) 

enter image description here

Как вы получаете список уникальных имен в пол D? ОП описывает 7000 строк и не упоминает наличие списка уникальных имен (фактически говорит, что оба столбца необходимы). Безопасный подход заключается в том, чтобы либо запросить разъяснения, либо включить создание списка в решение. fixer1234 5 лет назад 1
1
Rajesh S

Для подсчета и группировки строк выполните следующие действия:

enter image description here

Как это устроено:

  1. Чтобы создать список уникальных имен, напишите эту формулу массива в ячейке D3, завершите с помощью Ctrl+Shift+Enter& заполните вниз.

     {=IFERROR(IFERROR(INDEX($A$3:$A$11, MATCH(0, COUNTIF($D$2:D2, $A$3:$A$11), 0)), INDEX($B$3:$B$8, MATCH(0, COUNTIF($D$2:D2, $B$3:$B$8), 0))), "")} 
  2. Чтобы подсчитать разницу, напишите эту формулу в ячейке E3и заполните.

    =COUNTIF($A$3:$A$11,D3)-COUNTIF($B$3:$B$8,D3) 

Обратите внимание, Формула 2 в моем посте основана на Ответе @ Lee.

При необходимости измените ссылки на ячейки в формуле.

Похожие вопросы