从多行中移动最后4个非空单元格

时间:2015-07-30 10:54:35

标签: excel

我已经做了一些挖掘,但没有运气,我希望将最后4个非空白单元从一系列特定行移动到对齐它们。

2A   29H    0   0   0   0                       
24H  88H    13  7   4   0                       
35H  44H     71H    7   3   7   1                   
3A   62H     72A    8   3   8   4                   
17A 13  3   16  6                           
61A  67H     75A    10  2   8   3                   
25H  49H    16  3   5   1                       
36H  39A     51H     56H     78A     82H    16  6   8   3       
20H  29H     45H     48H     79H     82H     90H    22  10  3   1   
20A  28A     44H     46A     62H     69H     75H     84H    16  7   7   3

这是我的列表从左上角的E1列开始,有人会想到一个会这样做的公式吗?

所以基本上我需要使用数字和字符移动数字字符。

1 个答案:

答案 0 :(得分:0)

如果您不介意将其放在单独的表格中,请尝试

=IF(COLUMN()<COLUMN($AA$1),
  IF(ISTEXT(Sheet1!A1),Sheet1!A1,""),
  INDEX(Sheet1!$A1:$Z1,MATCH(TRUE,INDEX(ISNUMBER(Sheet1!$A1:$Z1),0),0)+COLUMN()-COLUMN($AA$1)))

在表格2的A1中,拉过来。

这将显示包含从sheet2!A1开始的文本的单元格,以及包含从sheet2开始的数字的单元格!AA1。

enter image description here

或者防止在最后一个号码后出现零: -

=IF(COLUMN()<COLUMN($AA$1),
  IF(ISTEXT(Sheet1!AD1),Sheet1!AD1,""),
  IF(INDEX(Sheet1!$A1:$Z1,MATCH(TRUE,INDEX(ISNUMBER(Sheet1!$A1:$Z1),0),0)+COLUMN()-COLUMN($AA$1))="","",
  INDEX(Sheet1!$A1:$Z1,MATCH(TRUE,INDEX(ISNUMBER(Sheet1!$A1:$Z1),0),0)+COLUMN()-COLUMN($AA$1)))
  )