У меня есть данные, отформатированные так.

 1, 2, 3, 4, null, null, null

 A, B, C, D, null, null, null

 1, null, null, 4, 5, 6, 7

 A, null, null, D, 8, 9, 10

Я хочу скопировать данные из третьей строки в отсутствующие "нулевые" ячейки в первой строке, потому что при сравнении значений первой и третьей строк есть совпадение по значениям ячеек 1 и 4.

Пока у меня есть следующее.

 =INDEX(A2:AE346, MATCH(A351&F351&G351, A2:A346&F2:F346&G2:G346, 0), 2)

Вот таблица с некоторыми примерами данных, чтобы вы могли проверить свои формулы.

1 ответ1

1

Что касается включенных простых примеров данных (4 строки по 7 столбцам), фактически у вас есть две таблицы, отсортированные по столбцу B, а затем по столбцу A, целевой таблице и исходной таблице.

Убедитесь, что вы сортируете данные, как описано выше. Вставьте новый столбец в столбец A этой формулы:

A1: = B1&E1

и скопируйте его для обеих (в виду) таблиц.

Разделите таблицу, вставив новую пустую строку (это не обязательно, но вы хотите это сделать).

После сортировки, как требуется выше, и вставки разделяющей строки, целевая таблица начнется со строки 1, а вторая таблица начнется со строки 4.

Нулевые данные для целевой таблицы начнутся с F1. Наберите там эту формулу:

F1: =VLOOKUP($A1,$A$4:$H$5,COLUMN(F:F),0)

Скопируйте формулу вниз и вправо над нулевыми данными целевой таблицы.

Вот и все, вы сделали!

Если вы не можете позволить себе сортировку, добавьте столбец с нумерацией строк для последующей сортировки в исходном порядке.

Если вам не разрешено вставлять столбец A, тогда используйте первый новый пустой столбец после данных и используйте ту же формулу, написанную для A1 выше. Затем вместо VLookup используйте Index/Match (учитывая, что у вас есть столбец нумерации строк в H). Ключевая формула:

I1: =A1&D1

для данных (с заменой нулей):

E1: =INDEX($E$4:$G$5,MATCH($I1,$I$4:$I$5,0),COLUMN(A:A))

скопируйте его вниз и вправо.

и здесь вы сделали еще раз.

Если вам нужно отсортировать данные обратно, сначала скопируйте и вставьте значения.

Если в целевой таблице есть строки, у которых нет соответствующей строки в исходной таблице, и вы хотите избавиться от сообщений об ошибках, используйте это:

E1: =IFERROR( the formula in use, "")

для решения Index/Match:

E1: =IFERROR(INDEX($E$4:$G$5,MATCH($I1,$I$4:$I$5,0),COLUMN(A:A)),"")

Удачи.

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