n行增加2,一次增加4,当从一张纸到另一张时,重复
感谢您花时间看这个问题。
我正在寻找一个方程式,可以很容易地从表格1(第一张图片)中得到两个空白单元格之间的值为四个值,然后有4个空白单元格,然后其他四个值的数值。 我不知道我是否有意义,但希望我所附的图片有帮助。 请注意前4 行之间的2行空白行 (值2-11),行16和25之间相同。还要注意两组值之间的4个空白行。
对于我来说,这是重复的700个值,相同的设置2空白行4组值,然后4空白行,然后4组值2空白行。 我相信有一个更简单的方法来做到这一点。
我正在尝试使用等式重新创buildSheet 1中的Sheet 2。 这可能吗?
提前道歉,英语不是我的第一语言。
如果数字将在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)
把这个放在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))
设置数据集边界。 这是一个数组types的公式,它需要引用最小的数据集。 这部分find列A中的最后一个单元格,并将其设置为数据集的范围,因此我们不做不必要的迭代。
MATCH部分将返回最后一行有文本,如果列A有数字,那么我们需要将"ZZZ"
更改为1E+99
以获得列A中最后一行的数字。
AGGREGATE像一个小的工作,它会创build一个行号和错误的数组。 它将返回ROW数字(Sheet1!$B$2:INDEX(Sheet1!B:B,MATCH("ZZZ",Sheet1!A:A))<>"")
返回true。 和一个错误,它返回FALSE。
Aggregate中的第二个标准6
告诉它忽略错误,所以它只查看返回的行号。
行ROW(1:1)
是一个计数器。 当公式被拖下来时,它将迭代到2然后3,依此类推。 这告诉聚合,你想要第一然后第二然后第三等等。
所选的行号然后被传递给INDEX并返回正确的值。
如果你的数字是按顺序(从你的例子中的最小到最大),或者你想要输出(从小到大),那么你可以在D2中使用这个简单的公式:
=IFERROR(SMALL(Sheet1!B:B,ROW(1:1)),"")
然后复制下来,直到你得到空白。
以下是您可能使用的另一个公式。
=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
。 我select了这个语法来使你能够识别它的含义。
另一方面, COLUMN($A$2)
只是将A列标识为要解除数据的来源。 这个公式中的第2行是不重要的。 这是重要的。 然而, COLUMN($A$2)
只有1
,意思是1
列,意思是A.一旦你在公式中取得了方位,你可以用1
代替COLUMN($A$2)
。