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 отличается.
