EXCEL, у меня есть 4 столбца. один столбец с номерами деталей, пустой столбец, столбец с номером группы и столбцом с 123 счетами. Мне нужно взять 1-й элемент 1-й группы, скопировать его в пустой столбец, но в последнюю позицию группы, а затем переместить 2-й элемент в 1-ю позицию нового столбца. пункт 3 переместится на позицию пункта 2 в новом столбце и так далее, пока группа не будет завершена в новом столбце. У меня есть тысячи таких групп, нуждающихся в помощи в поиске формулы или создании макроса, чтобы упорядочить их, чтобы мне не приходилось делать их вручную. Пожалуйста, помогите, спасибо CAD
1 ответ
Предполагая, что ваши столбцы A
, B
, C
,… и ваши данные начинаются со строки 2, поместите
=IF(C2=C3, A3, INDEX(A$2:A$20, MATCH(C2, C$2:C$20,0)))
(заменив 20
номером последней строки, в которой есть данные, или большим числом) в ячейку B2
и перетащите вниз. Это говорит,
- Если значение в столбце
C
в этой строке (C2
) равно значению в столбцеC
в следующей строке (C3
), то эта строка и следующая строка находятся в одной группе. В этом случае мы хотим взять значение в столбцеA
в следующей строке (A3
) и перенести его в эту строку. В противном случае эта строка является последней строкой группы. Итак, используйте функцию
MATCH()
чтобы найти первую строку текущей группы (т. Е. Первую строку, значениеC
которой равно значениюC
из этой строки,C2
), а затем используйте функциюINDEX()
чтобы получить значение в столбцеA
из этого ряда. Другими словами, «возьмите элемент 1 1-й группы, скопируйте его в пустой столбец, но в последнюю позицию группы».
Столбец C
не нужно сортировать, но его нужно сгруппировать ; то есть, он терпит неудачу, если C2
= C12
но C7
отличается.