EXCEL每隔一行提取相邻的两个单元格的数据

情况1:
在sheet1中的A列输入数据,然后在sheet2的A列自动每隔一行提取相邻的两个单元格数据,B列自动每隔一行提取相邻的三个单元格数据,C列自动每隔一行提取相邻的四个单元格数据

效果例如:
sheet1: sheet2
A A B C
1 1 1 1
2 2 2 2
3 4(隔去3) 3 3
4 5 5(隔去4) 4(隔去5)
5 7(隔去6) 6 6
6 8 7 7
7 10 9(隔去8) 8
8 11 10 9(隔去10)
9 13 11 11
10 14 13(隔去12) 12
11 14 13
12 15 14
13
14
15
16
17
18
19
20
.
.
.
情况2:在sheet1中的A列输入数据,然后在sheet3的A列自动每隔两行提取相邻的三个单元格数据,B列自动每隔两行提取相邻的四个单元格数据,C列自动每隔两行提取相邻的五个单元格

效果例如:

sheet1 sheet2

A A B C
1 1 1 1
2 2 2 2
3 3(隔去4 5) 3 3
4 6 4(隔去5 6) 4
5 7 7 5(隔去6 7)
6 8(隔去9 10) 8 8
7 11 9 9
8 12 10(隔去11 12) 10
9 13(隔去14 15) 13 11
10 16 14 12(隔去13 14)
11 17 15 15
12 18(隔去19 20) 16(隔去17 18) 16
13 。 。
14 。 。
15
16
17
18
19
20
21
22
23
24
25

如果表1数据在A1:A1000中,表2的A1输入
=INDEX(Sheet1!$A:$A,ROW()+(ROW()-1)/COLUMN(B1))
将A1的公式用自动填充柄向右拉两格,再将这三个单元格一直下拉到合适位置。
表3A1输入
=INDEX(Sheet1!$A:$A,MOD(ROW(A3),3)+INT(ROW(A3)/3)*5-4)
B1输入
=INDEX(Sheet1!$A:$A,MOD(ROW(A4),4)+INT(ROW(A4)/4)*6-5)
C1输入
=INDEX(Sheet1!$A:$A,MOD(ROW(A5),5)+INT(ROW(A5)/5)*7-6)
用自动填充柄将A1:C1公式下拉到合适位置。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-02-03
情况1:
B1=INDEX($A$1:$A$27,SMALL(IF(MOD($A$1:$A$27,3)<>0,ROW($A$1:$A$27),"0"),ROW(A1)))
C1=INDEX($A$1:$A$27,SMALL(IF(MOD($A$1:$A$27,4)<>0,ROW($A$1:$A$27),"0"),ROW(A1)))
D1=INDEX($A$1:$A$27,SMALL(IF(MOD($A$1:$A$27,5)<>0,ROW($A$1:$A$27),"0"),ROW(A1)))
均为数组公式,按ctrl+shift+enter输入后下拉至出现#NUM!
第2个回答  2011-02-03
按shift键选取!