Как подсчитать уникальные записи в столбце, которые имеют значение в другом столбце - PullRequest
1 голос
/ 31 декабря 2010

У меня есть эта проблема: вот моя таблица

ColA  ColB      
te     Y
te     Y
alo    
te     Y
te     
bb     Y
aa     Y

Я хочу посчитать, сколько записей в ColA, у которых есть значение "Y" в Col B. и если две дублирующие записи в A, которые такжеиметь тот же Y, то просто посчитай один.(в этом случае, мы записываем один раз) Большое спасибо

1 Ответ

2 голосов
/ 31 декабря 2010

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

Самый простой способ, на мой взгляд, будет:

  1. Выберите ваши данные
  2. Выберите Данные> Фильтр> Расширенный фильтр
  3. Установите флажок Только для уникальных записей
  4. Выберите диапазон, в который вы хотите скопировать результаты, в Копировать в
  5. Теперь нажмите ОК
  6. Теперь используйте =COUNTIF с критериями = Y , чтобы получить количество уникальных записей, которые также имеют Y

Правка - Решение для формул массива

Я немного погуглил и нашел сайт, который показывает, как вернуть уникальные строки, используя формулу массива. Смотрите здесь .

Мы можем использовать это для возврата всех уникальных строк в ваших строках в столбцах A и B, включая строки, в которых столбец B пуст. (Я предполагаю, что ваши данные находятся в ячейке A2: B8)

=SUM(IF(((MATCH(A2:A8&B2:B8,A2:A8&B2:B8,0)) >=(ROW(A2:A8)-(MIN(ROW(A2:A8))-1)))=TRUE,1,0))

Как только мы узнаем общее количество уникальных строк, если мы вычтем из этого числа пустые ячейки в столбце B (т. Е. Не равные Y), то это должно дать нам общее количество уникальных строк с Y в столбец B. Теперь мы можем обновить приведенную выше формулу следующим образом:

=SUM(IF(((MATCH(A2:A8&B2:B8,A2:A8&B2:B8,0)) >=(ROW(A2:A8)-(MIN(ROW(A2:A8))-1)))=TRUE,1,0)) - COUNTIF(B2:B8,"<>Y")

Введите эту формулу в C1, а затем нажмите CTRL + SHIFT + ENTER, так как это формула массива.

Я проверил это, и, похоже, оно работает нормально.

...