Мой пример: в столбце A у меня разные имена.

Пусть они будут в порядке появления, начиная с A1:

{Joe, Michael, Ana, Victor, Joe, Ana, George, Victor, Chris, George, Joe, Michael, Ana, Victor, Joe, Michael}

Итак, Джо в A1, Майкл в A2, Ана в A3 и т. Д.

В столбце B у меня есть значения подмножества, которое я хочу найти в наборе значений имен из столбца A. Пусть это подмножество, начиная с B1, будет:

{Joe, Michael}

Итак, Джо в B1, а Майкл в B2.

Я ищу единую формулу, которая:

  • Которая не будет использовать вычисления из других ячеек
  • Будет подсчитано, сколько раз значения подмножества будут включены в указанном порядке (например, Джо, Майкл ) в столбец A.

В этом примере он должен вернуть значение 3.

При этом мне действительно нужна более общая формула, которая будет работать для любого подмножества, независимо от количества его элементов.

Обратите внимание, что нет информации о максимальном размере подмножества.

Кто-нибудь может предложить формулу?

0
Razvan Dita 7 Янв 2017 в 05:49
Ваша система поддерживает TEXTJOIN() ??
 – 
Gary's Student
7 Янв 2017 в 07:54
К сожалению нет
 – 
Razvan Dita
7 Янв 2017 в 16:13

3 ответа

Следующая формула будет постепенно улучшаться по сравнению с предыдущим ответом, чтобы обрабатывать до четырех имен в Susbet. Я ограничился четырьмя, чтобы избежать длины формулы «воскресная газета».

ЕСЛИ (СЧЁТ (B1: B300) = 2, СУММ (ЕСЛИ (ТОЧНЫЙ (A1: A499 & A2: A500, B $ 1 и B $ 2), 1,0)), ЕСЛИ (СЧЁТ (B1: B300) = 3, СУММ (ЕСЛИ ( ТОЧНО (A1: A499 и A2: A500 и A3: A501, B1, B2 и B3), 1,0)), ЕСЛИ (СЧЁТ (B1: B300) = 4, СУММ (ЕСЛИ (ТОЧНО (A1: A499 и A2: A500 и A3: A501 и A4: A502, B1 и B2 и B3 и B4), 1) , "")), ""))).

Конечно, вы можете лично расширить его, чтобы охватить пять и более подмножеств имен, подняв сначала диапазон «A», а затем диапазон «B».

0
Roger H. 8 Янв 2017 в 07:38

Поможет другой подход к проблеме. Скопируйте все имена из столбца A в неиспользуемый столбец. Затем перейдите на вкладку «Данные» и используйте «Удалить дубликаты». Отсортируйте эти уникальные значения в алфавитном порядке, скопируйте их, а затем переместите (вставьте) в неиспользуемую строку.

Поместите эту формулу во всю строку, в каждую ячейку сразу под уникальными именами: = RANDBETWEEN (1,1000000). Выделив обе строки, перейдите на вкладку «Формула», затем «Определенные имена» и выберите «Создать из выделенного». Щелкните поле «Верхний ряд».

Столбец A содержит тысячи ваших имен, как вы указали. Введите эту формулу в B1 и заполните: = INDIRECT (A1).

В C3 введите: = IF (AND (EXACT (CONCATENATE (OFFSET (B1,0,0; COUNT (E $ 1: E $ 2000)))), CONCATENATE (OFFSET (E $ 1,0,0, COUNT (E $ 1: E $ 2000) ), 1)))), 1, ""). Столбец D содержит Подмножество значений имени. Введите эту формулу в E1 и скопируйте вниз до точки D (подмножество): = ЕСЛИОШИБКА (КОСВЕННО (D1), ""). Наконец, используйте функцию SUM, размещенную в любом месте, чтобы получить количество значений подмножества в столбце A: = SUM (C: C).

0
Roger H. 15 Янв 2017 в 00:50

Вот формула массива, которая может вам помочь. Он использует смещение столбца A:

=SUM(IF(EXACT(A1:A499&A2:A500,B$1&B$2),1,0)), а затем CTRL + SHIFT + ENTER

1
Robin Mackenzie 7 Янв 2017 в 18:24
@ Razvan-- При повторном чтении вашего примера, разве не должно быть 3 для подмножества «Джо, Майкл» для столбца A? Либо вы просто неправильно подсчитали, либо я не понял, что вы ищете. Надеюсь, это поможет.
 – 
Roger H.
7 Янв 2017 в 09:39
Да, вы правы, я ошибся. Должно быть 3. Простите за это .. Я исправил свой первоначальный комментарий. Спасибо!
 – 
Razvan Dita
7 Янв 2017 в 16:11
Формула работает отлично. Однако при этом не учитывается, что размер второго массива неизвестен. В данном случае это было 2 - {Джо, Майкл}, но это может быть любое число.
 – 
Razvan Dita
7 Янв 2017 в 16:20
Если размер второго массива неизвестен, тогда вам лучше, возможно, взглянуть на VBA и просто иметь B1 со значением Joe, Michael и выполнять эту задачу процедурно.
 – 
Robin Mackenzie
7 Янв 2017 в 18:22
Я знаю это. Однако проблема состоит в том, чтобы сделать это, используя только excel и никакие другие ячейки, кроме идентификации каждого значения как первого, так и второго подмножества.
 – 
Razvan Dita
8 Янв 2017 в 03:47