Подсчет текстовых строк в диапазоне, созданном путем сопоставления - PullRequest
0 голосов
/ 23 июня 2019

Я объединяю различные разделы данных исследований (разные таблицы) в одну вкладку в одном Excel.

Критерием, используемым для сопоставления данных, является идентификатор участника исследования (строка из 4 символов, например, RXGJ). К сожалению, каждый раздел данных имеет разную структуру. Основные данные организованы в длинном формате, поэтому на каждого участника приходится 3 строки, что соответствует 3 посещениям. Я успешно сопоставил их с данными, которые были собраны за один визит (например, биологический пол) из других таблиц.

Это моя проблема: на одной из вкладок по 18 участников на каждого участника записываются другие события жизни (закодированные с использованием стандартных текстовых строк). Я хочу посчитать, сколько событий каждого типа произошло на основе идентификатора участника исследования. Я думаю, что мне нужно создать диапазон ячеек / массива на основе идентификатора исследования (общего для основных данных и каждой из 18 строк событий жизни на другой вкладке), а затем использовать COUNTIFS для подсчета вхождения каждой текстовой строки , У меня проблема в том, что MATCH останавливается на первом соответствующем идентификаторе участника, в то время как мне нужно охватить все ячейки, где совпадает ID, а затем подсчитать ... есть идеи?

Большое спасибо, Тим

Ответы [ 2 ]

1 голос
/ 24 июня 2019

Это можно сделать довольно легко с помощью функции Get и Transform Data в Excel (также называемой Power Query).

Отформатируйте данные в виде таблиц, если они еще не в табличном формате.Для этого выделите диапазон ячеек, а затем Ctrl + T.Затем откроется новая вкладка на ленте, и вы увидите окно, в котором вы можете назвать свою таблицу.В этом примере у меня есть три таблицы с именем 1) t_UniqueParticipants 2) t_VisitsByParticipant 3) t_LifeEventsByParticipant

enter image description here

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

Затем выберите ячейку в первой таблице, а затем на ленте перейдите в Данные> Получить и преобразовать данные> Из таблицы.Редактор запросов откроется в новом окне.

Единственное, что вам нужно сделать здесь, это перейти к «Закрыть и загрузить»> «Закрыть и загрузить до».Затем окно редактора запросов закроется, и откроется диалоговое окно.

enter image description here

В диалоговом окне «Импорт данных» создайте только соединение, загрузите вМодель данных, хорошо.

enter image description here

Повторите это для каждой таблицы, которую вы хотите сопоставить.

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

enter image description here

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

enter image description here

Как только вы закончите, это выглядит следующим образом.Нажмите Закрыть.

enter image description here

Теперь вы можете вставить сводную таблицу для агрегирования данных во всех ваших таблицах.Вставить> Сводная таблица> Из модели данных этой книги.Выберите, куда вы хотите, чтобы ваша сводная таблица пошла> Ладно.

enter image description here

Теперь вы можете создать свою сводную таблицу так, как вам нравится.Просто убедитесь, что вы извлекаете поля из таблиц, которые связаны с моделью данных, с небольшим значком модели данных рядом с ними.В этом примере показан идентификатор участника из таблицы «Уникальный участник» с полем «Жизненное событие» из таблицы «Жизненное событие».

enter image description here

0 голосов
/ 24 июня 2019

Почему CountiF's не работает? Вы хотите посчитать количество событий на основе двух наборов условий, верно? Это должно работать.

В качестве альтернативы, вы можете использовать SumProduct, чтобы получить конкретные результаты.

На скриншоте ниже я использовал: =SUMPRODUCT((A1:A10=E1)*(LEFT(B1:B10,1)="T")), чтобы получить все значения с ID_200, а столбец b имеет значение, начинающееся с "T". Вы должны быть в состоянии изменить это по мере необходимости.

enter image description here

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