Представление данных в Excel: покажи мне всех людей, которые не сдали экзамен

962
dreftymac

Фон

У меня есть таблица Excel с результатами сдачи экзамена. Студентам разрешается сдавать экзамен так часто, как они хотят, до тех пор, пока они не сдают экзамен или не прекращают попытки.

ученик ;; результат ;; Дата sally@fiz.edu ;; нет прохода ;; 2000-06-07 bravo@fiz.edu ;; проходить ;; 2000-06-07 charlie@fiz.edu ;; проходить ;; 2000-06-07 delta@fiz.edu ;; нет прохода ;; 2000-06-07 alpha@fiz.edu ;; проходить ;; 2000-06-07 sally@fiz.edu ;; проходить ;; 2000-06-08 delta@fiz.edu ;; нет прохода ;; 2000-06-08 

Вопрос

Используя сводную таблицу или что-то еще, как я могу получить Excel, чтобы показать мне чистый отчет или представление этих данных на другом листе, который отвечает на вопрос:

Кто все люди, которые сдали экзамен, но не получили проходной балл?

В приведенном выше примере это будет просто показать мне delta@fiz.edu ;; нет прохода ;; со всеми датами сдачи экзамена дельтой.

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

2
это может быть лучше подходит для переполнения стека Daisetsu 13 лет назад 0

3 ответа на вопрос

4
Neal

Я поместил данные в вашем вопросе в столбцы A, B и C на листе и в ячейку D2 ввел формулу массива :

= СУММ (($ A $ 2: $ A $ 8 = А2) * ($ B $ 2: $ B $ 8 = "проход"))

а затем скопировал его в столбец (не забудьте использовать ctrl + shift + enter для ввода формулы).

В столбце D указывается, 0где студент не сдал экзамен.

Вы можете использовать «удалить дубликаты» на вкладке данных, чтобы удалить дубликаты (очистить поле даты в диалоговом окне), чтобы оставить вас со списком людей, которые не сдали экзамен, а затем отфильтровать (снова по «данным» вкладка) по столбцу D.

Если вы хотите сделать обычную формулу вместо формулы массива, вы можете сделать `= SUMProduct (- ($ A $ 2: $ A $ 8 = A2), - ($ B $ 2: $ B $ 8 =" pass ") ) ` Jarvin 13 лет назад 0
+1 приятное уклонение от сводной таблицы. Часто я нахожу, что люди имеют проблемы с формулами массива, хотя. DaveParillo 13 лет назад 0
2
DaveParillo

Я бы добавил 4-й столбец, чтобы превратить «pass» «fail» в число, например, = If (B2 = «pass», 1,0). Давайте назовем этот новый столбец «тест». Затем расширьте эту формулу для всех ваших строк.

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

Затем скройте все тестовые значения> 0.

1
patrickinmpls

запишите макрос ... сделайте следующее

выбрать всю таблицу
создать новую таблицу
вставить таблицу
сортировать по результату

тогда, если вы действительно хотите только результаты, вам понадобится некоторая условная логика в файле VBA, которая представляет ваш макрос


иначе научитесь программировать в VSTO и делайте это в .NET, это более хорошее решение, но, возможно, больше работы в зависимости от ваших способностей.

Похожие вопросы