Подсчет уникальных значений в диапазоне с использованием косвенной ссылки на ячейку

Привет, я пытаюсь подсчитать количество уникальных кодов продуктов в диапазоне с использованием одного критерия.

Пока формула такая:

 =COUNTIFS(INDIRECT("'" & B7 & "'!" & B8 & ":" & B9),"*Germany*",INDIRECT("'" & O7 & "'!" & O8 & ":" & O9),"criteria for counting unique values")

Я не понимаю, как использовать формулы, которые я видел в Интернете, для использования ссылки на диапазон INDIRECT, которую я использую.

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

Может кто-нибудь, пожалуйста, помогите мне понять, что мне нужно добавить в мою формулу?

Спасибо.


person D.Phillips    schedule 10.03.2017    source источник


Ответы (2)


Если пробелов нет, можно попробовать:

=SUMPRODUCT((INDIRECT("'"&B7&"'!"&B8&":"&B9)="Germany")/COUNTIFS(INDIRECT("'"&O7&"'!"&O8&":"&O9),INDIRECT("'"&O7&"'!"&O8&":"&O9),INDIRECT("'"&B7&"'!"&B8&":"&B9),INDIRECT("'"&B7&"'!"&B8&":"&B9)))

Это предполагает, что ваш INDIRECT правильно разрешает ваш желаемый адрес:

  • B7: имя листа первого диапазона
  • B8: начальная ячейка первого диапазона
  • B9: Конечная ячейка первого диапазона
  • O7: Имя листа второго диапазона
  • O8: Стартовая ячейка второго диапазона
  • O9: Конечная ячейка второго диапазона
person Ron Rosenfeld    schedule 10.03.2017
comment
Я заметил, что Германия была изменена на Германию, к сожалению, это не учитывает все экземпляры, это должна быть Германия. Когда я попытался изменить его на Германия, он выдал 0, почему это так? - person D.Phillips; 13.03.2017
comment
Хорошо, по какой-то причине подстановочные знаки были удалены, в Германии должны быть подстановочные знаки впереди и в конце. - person D.Phillips; 13.03.2017
comment
@DPhillips нужен другой алгоритм для учета этого. ISNUMBER(SEARCH("GERMANY",... должен это сделать. Но у меня сейчас нет времени проверять. - person Ron Rosenfeld; 13.03.2017

Это другой способ сделать это - адаптировано из ответа Барри Гудини и < a href="https://support.office.com/en-gb/article/Count-unique-values-amiong-duplicates-8d9a69b3-b867-490e-82e0-a929fbc1e273" rel="nofollow noreferrer">см. также< /а>

=SUM(IF(FREQUENCY(IF(INDIRECT("'"&B7&"'!"&B8&":"&B9)="Germany",MATCH(INDIRECT("'"&O7&"'!"&O8&":"&O9),INDIRECT("'"&O7&"'!"&O8&":"&O9),0)),ROW(INDIRECT(O8&":"&O9)))>0,1))

Вы можете добавить тест для пустых ячеек, если хотите

=SUM(IF(FREQUENCY(IF(INDIRECT("'"&B7&"'!"&B8&":"&B9)="Germany",IF(INDIRECT("'"&O7&"'!"&O8&":"&O9)<>"",MATCH(INDIRECT("'"&O7&"'!"&O8&":"&O9),INDIRECT("'"&O7&"'!"&O8&":"&O9),0))),ROW(INDIRECT(O8&":"&O9)))>0,1))

Является формулой массива и должна вводиться с помощью CtrlShiftEnter

person Tom Sharpe    schedule 10.03.2017
comment
У меня та же проблема, что и выше, должны быть подстановочные знаки, так как в ячейках может быть несколько стран. Примером может быть (Германия), (Германия, Франция, Бельгия), (Бельгия, Германия, Италия) и т. Д. Скобки нужны только для разделения утверждений. Спасибо за помощь. - person D.Phillips; 13.03.2017