EXCEL,我有 4 列。一列有零件编号,一列空白,一列有组号和 123 个计数列。我需要将第一组中的第 1 项复制到空白列,但位于组的最后一个位置,然后将第 2 项移动到新列的第 1 个位置。第 3 项将移到新列中的第 2 项位置,依此类推,直到新列中的组完成。我有数千个这样的组,需要帮助找到公式或创建宏来安排它们,这样我就不必手动执行它们了。请帮忙,谢谢 CAD
答案1
假设您的列为A
,,,...,并且您的数据从第 2 行开始,B
则C
=IF(C2=C3, A3, INDEX(A$2:A$20, MATCH(C2, C$2:C$20,0)))
(20
用最后一行的数据编号或更大的数字替换)放入单元格B2
并向下拖动。这表示,
C
如果此行的列中的值(C2
) 等于C
下一行的列中的值 (C3
),则此行和下一行属于同一组。在这种情况下,我们希望取下A
一行的列中的值 (A3
) 并将其上移到此行。否则,这row 是组的最后一行。因此,使用函数
MATCH()
找到当前组的第一行(即,C
值等C
于此行值的第一行,C2
),然后使用INDEX()
函数从该行获取 Column 中的值A
。换句话说,“取出第一组的第 1 项,将其复制到空白列,但位于组的最后一个位置”。
列C
不需要排序,但需要分组C2
;即,如果=C12
但C7
不同,则失败。