1

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

Вот пример таблицы.

|   A    +   B    +       C       +   D   +   E    +   F    |
|--------+--------+---------------+-------+--------+--------|
| FNAME  | LNAME  | FULLNAME      | GRADE | EFFORT | CODE   |
|--------+--------+---------------+-------+--------+--------|
| FNAME1 | LNAME1 | FNAME1 LNAME1 | A     |        | GRADE  |
|--------+--------+---------------+-------+--------+--------|
| FNAME1 | LNAME1 | FNAME1 LNAME1 | H     |        | EFFORT |
|--------+--------+---------------+-------+--------+--------|
| FNAME2 | LNAME2 | FNAME2 LNAME2 | C     |        | GRADE  |
|--------+--------+---------------+-------+--------+--------|

Мне нужно переместить оценку усилия в столбец усилий, но в другой строке. Пример ниже.

|   A   +   B   +     C     +   D   +   E    +   F    |
|-------+-------+-----------+-------+--------+--------|
| FNAME | LNAME | FULLNAME  | GRADE | EFFORT | CODE   |
|-------+-------+-----------+-------+--------+--------|
| NAME1 | NAME1 | NAMENAME1 | A     |        | GRADE  | ←      To column E here         ←
|-------+-------+-----------+-------+--------+--------|                                 ↑
| NAME1 | NAME1 | NAMENAME1 | H     |        | EFFORT | → Move this Grade from column D ↑
|-------+-------+-----------+-------+--------+--------|

Итак, пример того, что я хочу ...

|   A    +   B    +       C       +   D   +   E    +   F    |
|--------+--------+---------------+-------+--------+--------|
| FNAME  | LNAME  | FULLNAME      | GRADE | EFFORT | CODE   |
|--------+--------+---------------+-------+--------+--------|
| FNAME1 | LNAME1 | FNAME1 LNAME1 | A     | H      | GRADE  |
|--------+--------+---------------+-------+--------+--------|
| FNAME2 | LNAME2 | FNAME2 LNAME2 | C     |        | GRADE  |
|--------+--------+---------------+-------+--------+--------|

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

2 ответа2

0

Вы можете справиться с этим без опоры.

На основе вашего примера, поместите это в свой столбец Effort на Sheet2:

=INDEX(Sheet1!$D$2:$D$10, MATCH(1, (Sheet2!$C2 = Sheet1!$C$2:$C$10) * (Sheet1!$F$2:$F$10 = "EFFORT"), 0))

и нажмите Ctrl+Shift+Enter, чтобы вставить формулу массива.

объяснение

Sheet1!$D$2:$D$10 - это ваш столбец Effort в исходной таблице на Листе 1.

(Sheet2!$C2 = Sheet1!$C$2:$C$10) ищет подходящее имя FULLNAME

(Sheet1!$F$2:$F$10 = "EFFORT") ищет соответствующий CODE , который является "EFFORT"

Оба возвращают логическое значение, 0 и 1 . Если оба условия совпадают (найдена строка с совпадающими FULLNAME и CODE), то она возвращает 1 ( 1 * 1 ) в функцию MATCH .

0

На новом листе скопируйте заголовки (A1:F1) и введите 1 в столбце помощника.  Я предполагаю, что вы используете столбец G ; т.е. ячейка G1 .  Войти

=IF(INDEX(Sheet1!A:A, $G2)<>"", INDEX(Sheet1!A:A, $G2), "")

в A2 и перетащите / заполните вправо, к F2 .  Затем измените E2 на

=IF(INDEX(Sheet1!F:F, $G2+1)="EFFORT", INDEX(Sheet1!D:D, $G2+1), "")

и введите

=IF(INDEX(Sheet1!F:F, $G1+1)="GRADE", $G1+1, $G1+2)

в G2 .  Выберите A2:G2 и перетащите / заполните вниз, насколько это необходимо.

Затем скройте столбец G , если хотите.

Столбец G - это индекс (на новом листе) строки на Sheet1 которой мы (в основном) рисуем данные.  Это на один больше, чем индекс из предыдущей строки, если только он не указывает на строку с КОДОМ GRADE , и в этом случае мы предполагаем, что это строка EFFORT и добавляем две к предыдущей (то есть, чтобы пропустить строку EFFORT).  Столбцы A - D и F просто копируются из одного и того же столбца на Sheet1 , как указано в столбце G Формула в столбце E (EFFORT) позволяет определить, является ли текущий учащийся учеником с двумя строками (таким образом, $G2+1 относится к одному и тому же студенту с КОДОМ EFFORT) и, если это так, получает оценку EFFORT из столбца D этого второго ряда.

Для этих данных:

+   A   +   B    +      C       +   D   +   E    +   F    +
+-------+--------+--------------+-------+--------+--------+
| FNAME | LNAME  |   FULLNAME   | GRADE | EFFORT |  CODE  |
+-------+--------+--------------+-------+--------+--------+
| John  | Smith  | John Smith   | A     |        | GRADE  |
| John  | Smith  | John Smith   | H     |        | EFFORT |
| Mary  | Jones  | Mary Jones   | B     |        | GRADE  |
| Isaac | Newton | Isaac Newton | A+    |        | GRADE  |
| Isaac | Newton | Isaac Newton | C     |        | EFFORT |
+-------+--------+--------------+-------+--------+--------+

Я получил этот результат:

таблица

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