循环和抓取框向右

时间:2014-03-26 16:31:47

标签: excel vba loops excel-vba

我目前正在开发一个需要循环的项目,我不确定如何去做...我有块的信息,所以对于每个客户我都有一堆信息,所以例如我会有A1说姓名:和B1:说鲍勃,

然后A17将再次命名:B17:乔治

这持续了大约1000行。我需要找到一种方法来遍历所有材料并获取所有名称并将它们放在彼此相继的列中。 我想我正在寻找一个循环,找到名称给我右边的值,然后它一直这样做。

有人有什么想法吗?

2 个答案:

答案 0 :(得分:0)

很简单...........说你的名字存储在单元格B1,B17,B33,B49中的 B 列中......基本上相隔16行..然后在单元格C1中输入:

=INDIRECT("B" & 16*ROW()-15)

并复制下来。这适用于均匀间隔的记录

修改#1

由于记录间距不均匀..........在 C2 中输入以下数组公式:

=INDEX($B$1:$B$1000,SMALL(IF($A$1:$A$1000="Name",ROW($A$1:$A$1000)),ROW()-ROW($C$2)+1))

并复制下来。

这是数组公式。必须使用 Ctrl + Shift + 输入输入数组公式,而不仅仅输入 Enter 关键。

类似的东西:

pic

摘自simocos post

答案 1 :(得分:0)

在C1中

输入以下公式:(使用Ctrl + shift + Enter)

= IFERROR( INDEX($B$1:$B$1000; AGGREGATE(15;6;(ROW($B$1:$B$1000)-ROW($B$1)+1)/($B$1:$B$1000<>"");ROWS(C$1:C1)));"")

然后将单元格复制下来 (公式不是来自我。我在我的一本工作簿中使用它,并对其进行了调整)