Excel: как анализировать ячейки с несколькими значениями?

У меня есть таблица со столбцом NeedSegment, содержащим ячейки со значениями, подобными следующим:

  • OEMrs; #Partners; #Balancers; #DoItYourselfers; #Savers
  • OEMrs; #Partners; #Balancers
  • Вкладчики

Другой столбец называется Портфолио и содержит обычные отдельные значения.

В конце я хотел бы иметь диаграмму, которая показывает для каждого портфеля, сколько строк имеют определенный сегмент потребностей, например, партнеры.

Я уже пробовал с консолидированными несколькими сводными таблицами (Label содержит) или показатели. Но это кажется мне слишком сложным...

Любой совет или нужна дополнительная информация?

1 ответ

Решение

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

Прежде всего, разделите ваши данные:

  1. Выделите все ваши клетки с данными:
    1. Выберите самую верхнюю ячейку в столбце, например A1
    2. Удерживайте CTRL+SHIFT и затем нажмите стрелку вниз.
  2. ОК, как только мы это сделаем, перейдите в меню "Данные" и выберите "Текст в столбцы".
  3. В окне "Текст в столбцы" выберите "С разделителями" и нажмите "Далее".
  4. В следующем окне выберите "Точка с запятой" и "Другое" в разделе "Разделители" и введите # в поле рядом с "Другое".
  5. Установите флажок "Рассматривать последовательные разделители как единое целое".
  6. Нажмите Готово.

Источник

Примечание: вы также можете сделать это с формулой (но это будет боль в заднице, за исключением случаев, когда вы уже знаете, сколько значений может быть вокруг точки с запятой)
Примечание 2: вы также можете сделать это с VBA, если вам нужно повторить это несколько раз

Во-вторых, вы можете построить сводную диаграмму, как описано в ozgrid.

[ПРАВКА] Другое решение - с формулами

Что вы можете сделать, если хотите подсчитать количество NeedSegments на значение, так это использовать эту формулу:

=SUMPRODUCT(IF(FIND("#Partners",A2:A20)>0,1,0))

Вы можете обратиться к другой ячейке, чтобы получить результат для каждого NeedSegment:

=SUMPRODUCT(IF(FIND(B1,$A$2:$A$20)>0,1,0))
Другие вопросы по тегам