2

Фон

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

student         ;; result   ;; date
sally@fiz.edu   ;; no-pass  ;; 2000-06-07 
bravo@fiz.edu   ;; pass     ;; 2000-06-07 
charlie@fiz.edu ;; pass     ;; 2000-06-07 
delta@fiz.edu   ;; no-pass  ;; 2000-06-07
alpha@fiz.edu   ;; pass     ;; 2000-06-07 
sally@fiz.edu   ;; pass     ;; 2000-06-08
delta@fiz.edu   ;; no-pass  ;; 2000-06-08

Вопрос

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

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

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

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

3 ответа3

4

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

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

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

Столбец D затем дает 0 где студент не сдал экзамен.

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

2

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

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

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

1

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

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

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


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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .