谢谢你花时间研究这个问题。
我正在寻找一个方程,它可以很容易地从第1页(第一张图片)中取数值,它在4个值之间有2个空白单元格,然后有4个空白单元格,然后是其他4个值。我不确定我是否有意义,但希望我附上的图片有帮助。注意,2空白行在前4行之间有值(第2-11行),在第16行和第25行之间相同。还请注意这两组值之间的4行空白。
对我来说,这是对700个值重复的,相同的设置为4组值设置2空行,然后是4空行,然后是4组2空行的值。我肯定还有更简单的方法。
我试着用等式从第1页重新创建第2页。这个是可能的吗?
很抱歉,英语不是我的第一语言。


发布于 2017-04-24 13:45:58
如果数字将以B2开始,并且间隔和偏移交错是静态的,
=INDEX(B:B, 2+(ROW(1:1)-1)*3+INT((ROW(1:1)-1)/4)*2)如果第一个数字在S6中,
=INDEX(S:S, 6+(ROW(1:1)-1)*3+INT((ROW(1:1)-1)/4)*2)

发布于 2017-04-24 13:16:51
将其放在D2中:
=IFERROR(INDEX(Sheet1!B:B,AGGREGATE(15,6,ROW(Sheet1!$B$2:INDEX(Sheet1!B:B,MATCH("ZZZ",Sheet1!A:A)))/(Sheet1!$B$2:INDEX(Sheet1!B:B,MATCH("ZZZ",Sheet1!A:A))<>""),ROW(1:1))),"")然后抄下来直到你得到空白。
这将返回数字,以便它们出现在工作表1上。
Sheet1!$B$2:INDEX(Sheet1!B:B,MATCH("ZZZ",Sheet1!A:A))设置数据集边界。这是一个数组类型公式,它需要引用最小的数据集。该部分在A列中找到最后一个单元格,并将其设置为数据集的范围,因此我们不进行不必要的迭代。
MATCH部分将返回包含文本的最后一行,如果A列有数字,那么我们需要将"ZZZ"更改为1E+99,以获得A列中最后一行的数字。
聚合就像一个小集合,因为它将创建一个行号和错误数组。它将返回(Sheet1!$B$2:INDEX(Sheet1!B:B,MATCH("ZZZ",Sheet1!A:A))<>"")返回true的行号。和一个错误,在那里它返回假。
第二个标准6总体上告诉它忽略错误,因此它只查看返回的行号。
ROW(1:1)是一个计数器。当公式被拖下来时,它将迭代到2,然后3,等等。这告诉聚合,你想要第一,然后第二,然后第三,等等。
然后将选定的行号传递给索引,并返回正确的值。

如果您的数字是有序的(从最小到最大,就像您的示例一样),或者您希望输出按顺序(最小到最大),那么您可以在D2中使用这个简单的等式:
=IFERROR(SMALL(Sheet1!B:B,ROW(1:1)),"")那就抄下去直到你得到空白。
发布于 2017-04-24 14:22:07
这是另一个你可能使用的公式。
=INDIRECT(ADDRESS((INT((ROW()-ROW($A$2))/4)*14+ROW(A$2))+(MOD(ROW()-ROW($A$2),4)*3),COLUMN($A$2),1,1,"Sheet1"))
您可以将其粘贴到需要结果的第一个单元格中,然后复制下来。
请注意,$A$2是所有计数开始的单元格。如果您的数据从A3开始,您可以相应地更改引用。进一步注意,ROW($A$2)对于2来说是很长的时间。我选择这个语法是为了使您能够识别意义。
另一方面,COLUMN($A$2)只将A列标识为要解除的数据的来源。这个公式中的第2行是无关紧要的。最重要的是A。然而,COLUMN($A$2)只是1的意思,意思是第1列,意思是A。一旦你在公式中找到了,你就可以用1代替COLUMN($A$2)。
https://stackoverflow.com/questions/43589030
复制相似问题