0

Моим примером является то, что в столбце A у меня есть разные имена.Подсчет значений последовательных значений диапазона в другом диапазоне

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

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

Так Джо в A1, Майкл находится в A2, Ана в A3 и т.д.

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

{Joe, Michael}

Итак, Джо находится в B1, а Майкл находится в B2.

Ищу одну формулу, которая:

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

Для этого примера он должен возвращать значение 3.

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

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

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

+0

Поддерживает ли ваша система 'TEXTJOIN()' ?? –

+0

К сожалению, не –

ответ

1

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

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

+0

@ Razvan-- При повторном чтении вашего примера не должно быть счетчика 3 для подмножества «Джо, Майкл» для столбца А? Либо вы просто ошиблись, либо я не понял, что вы ищете. Надеюсь, это поможет. –

+0

Да, вы правы, я ошибся. Это должно быть 3. Извините за это .. Я исправил свой первоначальный комментарий. Спасибо! –

+0

Формула работает просто отлично. Однако он не учитывает, что размерность второго массива неизвестна. В этом случае это было 2 - {Joe, Michael}, но это может быть любое число. –

0

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

ЕСЛИ (СЧЕТЗ (В1: B300) = 2, СУММ (ЕСЛИ (EXACT (A1: A499 & А2: А500, В $ 1 & B $ 2), 1,0)), ЕСЛИ (СЧЕТЗ (В1: B300) = 3, SUM (IF (EXACT (А1: A499 & A2: A500 & A3: A501, B1 & B2 & B3), 1,0)), IF (COUNTA (B1: B300) = 4, SUM (IF (EXACT (A1: A499 & А2: А500 & А3: А501 & А4: A502, В1 В2 & & & В3 В4), 1 "")), ""))).

Конечно, вы можете лично расширить его дальше, чтобы покрыть пять и более подмножеств имен, не увеличивая диапазон «А», а затем диапазон «В».

+0

Спасибо! К сожалению, подмножество может достигать 400 значений. –

0

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

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

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

В С3-типе: = ПЧ (И (ТОЧНО (КОНКАТЕНАТ (СБРОС (В1,0,0, СЧЕТЧИК (E $ 1: E $ 2000))), КОНКАТЕНАТ (СМЕЩЕНИЕ (E $ 1,0,0, COUNT (E $ 1: $ E 2000), 1)))), 1, ""). Столбец D содержит подмножество значений имени. Введите эту формулу в E1 и скопируйте до D (подмножество): = IFERROR (INDIRECT (D1), ""). Наконец, используйте функцию SUM, помещенную там, где вам нравится получать подсчет значений подмножества в столбце A: = SUM (C: C).