Excel сравнение и фильтрация

На этот раз довольно сложная проблема VBA.

У меня есть книга excel с двумя листами; Данные и анализ.

Лист данных содержит столбец (T) с именами и столбец с результатами (Y). Лист анализа содержит ячейку с именем (B1).

Я хочу найти в столбце таблицы данных T имя столбца в ячейке листа анализа B1. После определения ячеек с похожим значением мне нужно вывести содержимое соответствующего столбца результатов. Столбец результатов имеет три возможных значения; 1, 2 или 3. Я хочу отобразить общее количество каждой возможности.

Пробовал макросы и Vlookup, однако при попытке получить значение столбца результатов возникают проблемы :(

С нетерпением жду ваших ответов!

С уважением,

Пранав


person Babu    schedule 08.06.2013    source источник
comment
Что именно означает подобное?   -  person Tim Williams    schedule 09.06.2013
comment
Нужно больше информации. Является ли имя в ячейке B1 именем столбца или значением, которое соответствует столбцу T? Будет ли имя в B1 иметь несколько совпадений в столбце T? Вы хотите, чтобы на листе анализа отображалось количество вхождений 1, 2 и 3 для имен, соответствующих B1? Вы рассматривали сводную таблицу?   -  person chuff    schedule 09.06.2013


Ответы (2)


Если вы создадите сводную таблицу с именами в столбце T в качестве значения строки, значениями в столбце Y в качестве значения столбца и «счетчиком Y» в качестве значения в таблице, вы можете найти количество любое число с ВПР в эту таблицу. Простой пример:

Count of number number          
name            1    2   3  Grand Total
a                   1    2   1   4
b                   3    3   2   8
d                   2    3   1   6
f                   3    6   2  11
g                   4    3   2   9
h                   1    3   1   5
j                   1    3   2   6
v                   1    1   1   3
Grand Total        16   24  12  52

Как видите, было бы легко выполнить ВПР в этой таблице и получить ответ. Передаю шляпу @chuff, который предложил что-то подобное в комментарии.

person Floris    schedule 09.06.2013
comment
@Tim: Аналогично означает точное совпадение. - person Babu; 09.06.2013
comment
@Chuff: имя в ячейке B1 — это значение, которое совпадает со значениями в столбце T. Будет несколько совпадений только с одним числом в столбце Y (1, 2 или 3). Хотя сводная таблица может работать, она не решает проблему, так как я ищу на другом листе и мне нужны результаты, отображаемые там. - person Babu; 09.06.2013
comment
@babu: пока вы выполняете ВПР на листе, где хотите получить результат, вы увидите результат там. Вы создаете сводную таблицу на отдельном листе и называете диапазон (четыре столбца шириной, включая только строки с именами, а не заголовки столбцов и не итоги) pivot1: затем на листе результатов вы пишете =VLOOKUP(B1, pivot1, 2) для получить количество единиц. Повторите с числами 3 и 4 в последнем параметре, чтобы получить количество двоек и троек. - person Floris; 09.06.2013

если у вас Excel 2007 или более поздняя версия, вы можете использовать COUNTIFS

для вашего примера я бы поставил =COUNTIFS(T:T,B1,Y:Y,1) и изменил 1 на 2 и 3 для других столбцов

Если у вас Excel 2003 или более ранняя версия, вам нужно будет использовать SUMPRODUCT, чтобы получить тот же результат, а также определить диапазоны с определенным диапазоном, а не ссылаться на весь столбец.
например. =SUMPRODUCT(--(T1:T300=B1),--(Y1:Y300=1))

person SeanC    schedule 17.07.2013