РЕДАКТИРОВАТЬ: я понял, как работает ваше решение - изменено, чтобы отразить это.
FREQUENCY ищет записи из ваших корзин в массиве поиска. Вот как это работает:
Массив поиска: 1 2 3 4 1 2 7 3
Бункеры: 1 2 3 4 1 2 7 3
Bin 1 => есть две единицы => 2
Bin 2 => есть две двойки => 2
Ячейка 3 => есть две тройки => 2
Ячейка 4 => есть одна 4 => 1
Ячейка 1 повторяется => 1 уже подсчитано => 0
Ячейка 2 повторяется => 2 уже подсчитано => 0
Ячейка 7 => есть одна 7 => 1
Ячейка 3 повторяется => 3 уже подсчитано => 0
Похоже, что решение использует особенность FREQUENCY, то есть оно не будет считать один и тот же бин дважды, потому что вы можете ожидать, что второй бин со значением 1 также будет ненулевым. Но это то, как это работает — поскольку будет подсчитываться только количество вхождений для первого бина, а не для дублирующегося бина, количество строк со значением больше нуля даст вам количество различных записей.
Вот альтернативный подход, который может оказаться полезным. его можно использовать для вычисления количества различных значений:
Предположим, ваш диапазон строк — B2:B10. Заполните в другой столбец
=(MATCH(B2,B$2:B2,1)-(ROW(B2)-ROW(B$2)))>0
Строка должна меняться по мере копирования, поэтому вторая строка должна быть, например:
=(MATCH(B3,B$2:B3,1)-(ROW(B3)-ROW(B$2)))>0
Это сигнализирует TRUE, если текущая строка содержит первый экземпляр строки (если вы дадите ей пару минут, вы сможете понять, что она делает). Поэтому, если вы подсчитаете количество ИСТИН с помощью COUNTIF(), вы должны получить количество различных строк.
person
Joel Goodwin
schedule
15.09.2009