-2

EXCEL, у меня есть 4 столбца. один столбец с номерами деталей, пустой столбец, столбец с номером группы и столбцом с 123 счетами. Мне нужно взять 1-й элемент 1-й группы, скопировать его в пустой столбец, но в последнюю позицию группы, а затем переместить 2-й элемент в 1-ю позицию нового столбца. пункт 3 переместится на позицию пункта 2 в новом столбце и так далее, пока группа не будет завершена в новом столбце. У меня есть тысячи таких групп, нуждающихся в помощи в поиске формулы или создании макроса, чтобы упорядочить их, чтобы мне не приходилось делать их вручную. Пожалуйста, помогите, спасибо CAD

1 ответ1

0

Предполагая, что ваши столбцы 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 отличается.

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